¿Qué escudo usar para GPRS?

9

Estoy planeando construir un dispositivo que lea algunos datos del sensor y lo envíe a través de GPRS, por ejemplo. una vez al día. (No es tan original, sí). Pero mi problema es elegir un escudo GSM / GPRS.

El escudo oficial tiene una buena interfaz para hacer un HTTP POST / GET . OTOH, el escudo parece estar agotado (y de todos modos sería bastante caro).

Parece que hay otros escudos disponibles, pero sus ejemplos de código tienden a parecer bastante confusos : el dispositivo espera un momento arbitrario y luego espera que el servidor esté listo. Eso es IMO, tanto ineficiente como poco confiable.

Mi pregunta: qué escudo GSM / GPRS recomendaría, con estas características:

  • una biblioteca sensata con ejemplos, como la oficial
  • una antena externa
  • bonificación: un precio competitivo
  • Otra ventaja: es de esperar un escudo "real", por lo que no se requiere soldadura y algunos pines aún son fácilmente utilizables para los sensores.
tuomassalo
fuente

Respuestas:

3

Esa biblioteca debería funcionar con casi cualquier cosa que tenga el módulo M10.

Solo tengo experiencia con los módulos SIM900. Encontré el más barato en EBay.

Si bien interactuar con estas cosas puede ser un desafío al principio, realmente solo necesita leer el manual de todos los comandos AT y ejecutarlos. He escrito un par de funciones que pueden ayudar:

Nota: puede reemplazar con seguridad todas las instancias de DEBUG_PRINTy DEBUG_PRINTLNcon Serial.printy Serial.println.

SoftwareSerial SIM900(7, 8);

/*
    Sends AT commands to SIM900 module.

    Parameter   Description
    command     String containing the AT command to send to the module
    timeout     A timeout, in milliseconds, to wait for the response

    Returns a string containing the response. Returns NULL on timeout.

*/
String SIMCommunication::sendCommand(String command, int timeout) {
    SIM900.listen();
    // Clear read buffer before sending new command
    while(SIM900.available()) { SIM900.read(); }

    SIM900.println(command);

    if (responseTimedOut(timeout)) {
        DEBUG_PRINT(F("sendCommand Timed Out: "));DEBUG_PRINTLN(command);
        return NULL;
    }

    String response = "";

    while(SIM900.available()) {
        response.concat((char)SIM900.read());
        delayMicroseconds(500);
    }

    return response;
}

/*
    Waits for a response from SIM900 for <ms> milliseconds

    Returns true if timed out without response. False otherwise.
*/
bool SIMCommunication::responseTimedOut(int ms) {
    SIM900.listen();

    int counter = 0;
    while(!SIM900.available() && counter < ms) {
        counter++;
        delay(1);
    }

    // Timed out, return null
    if (counter >= ms) {
        return true;
    }
    counter = 0;
    return false;
}
Sachleen
fuente
3

Recomendaría el escudo oficial Arduino GSM .

Manihatty
fuente
¿Cúal me recomiendas? ¿Cuidado para elaborar?
Ricardo
1
Escudo Arduino GSM . Estoy usando esto, está funcionando bien y es un escudo oficial de Arduino.
Manihatty
Lamentablemente, el escudo oficial Arduino GSM ahora se ha descontinuado.
Hamish_Fernsby
2

Terminé ordenando una placa Elechouse que usa el chip M10. Encontré uno en eBay por 59 USD. Parece funcionar bien con la biblioteca oficial.

Como dice el manual, debe recibir alimentación externa: ¡el cable USB no es suficiente!

tuomassalo
fuente
¿Le pareció confiable la tarjeta elechouse? ¿Envía / recibe gprs?
Hamish_Fernsby
¿Se admite 2G en su país? Al menos en Europa hay planes para apagar la red 2G y el módulo que
elegiste
0

LinkitOne: ok, no es un escudo sino una placa de controlador Arduino compatible con GSM / GPRS / GPS / Wifi incorporado. La biblioteca de comunicaciones no tiene tantos métodos de diagnóstico como, por ejemplo, el Adafruit, pero fue fácil de configurar y confiable. La desventaja principal de LinkitOne es que utiliza un procesador diferente al de Arduinos, por lo que muchas de las bibliotecas de Arduino no son compatibles, por ejemplo, para dispositivos I2C.

Adafruit Fona SIM808 versión 2G Shield. El diseño del escudo, pero los encabezados apilables deben comprarse y soldarse por separado. Los pinouts predeterminados funcionan con Uno, pero se requieren modificaciones para Mega. La biblioteca tiene muchos métodos de diagnóstico útiles (voltaje de la batería, intensidad de la señal, etc.). trabajé con giffgaff SIM prepago pero no vodafone por alguna razón. SMS funcionó bien. Me pude conectar a GPRS pero obtener html de un sitio web no funcionó.

DFRobot SIM808 GPS / GPRS / GSM Shield: los conectores de blindaje apilables con cable preinstalado, las instrucciones para cargar el código y ejecutar el dispositivo son intrincados y vagos. Ni siquiera pude obtener una conexión básica al Arduino para trabajar. O la biblioteca tiene muchos errores o mi dispositivo estaba defectuoso.

SEEEDStudio 113030009 GPRS Shield con antena y soporte para tarjeta SIM externa V3.0 Probablemente voy a probar esto a continuación.

Tarjeta GSM Arduino oficial DESCONTINUADA

Módulo Sparkfun GSM / GPRS - SM5100B DESCONTINUADO

Hamish_Fernsby
fuente