Quale scudo usare per GPRS?


9

Sto progettando di costruire un dispositivo in grado di leggere alcuni dati del sensore e inviarlo tramite GPRS, ad es. una volta al giorno. (Non originale, sì.) Ma il mio problema è scegliere uno scudo GSM / GPRS.

Lo scudo ufficiale ha una bella interfaccia per fare un POST / GET HTTP . OTOH, lo scudo sembra essere esaurito (e sarebbe comunque piuttosto costoso).

Sembra che ci siano altri scudi disponibili, ma i loro esempi di codice tendono ad apparire piuttosto confusi : il dispositivo attende un momento arbitrario e quindi spera che il server sia terminato. Questo è l'IMO sia inefficiente che inaffidabile.

La mia domanda: quale scudo GSM / GPRS consiglieresti, con queste caratteristiche:

  • una libreria sana con esempi, come quella ufficiale
  • un'antenna esterna
  • bonus: un prezzo competitivo
  • un altro vantaggio: si spera uno scudo "reale", quindi nessuna saldatura richiesta e alcuni pin ancora facilmente utilizzabili per i sensori.

Risposte:


3

Quella libreria dovrebbe funzionare praticamente con tutto ciò che ha il modulo M10 su di esso.

Ho solo esperienza con i moduli SIM900. Ho trovato il più economico su eBay.

Mentre l'interfaccia con queste cose può essere inizialmente una sfida, devi solo leggere il manuale per tutti i comandi AT ed eseguirli. Ho scritto un paio di funzioni che potrebbero aiutare:

Nota: è possibile sostituire in modo sicuro tutte le istanze di DEBUG_PRINTe DEBUG_PRINTLNcon Serial.printe 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;
}


2

Ho finito per ordinare una scheda Elechouse che utilizza il chip M10. Ne ho trovato uno su eBay per 59 USD. Sembra funzionare bene con la biblioteca ufficiale.

Come dice il manuale, deve essere alimentato dall'esterno: il cavo USB non è sufficiente!


hai trovato la scheda elechouse affidabile, invia / riceve gprs ok?
Hamish_Ferns

2G è supportato nel tuo paese? Almeno in Europa ci sono piani per spegnere la rete 2G e il modulo che hai scelto non supporta 3G
gabonator

0

LinkitOne - ok non uno scudo ma piuttosto una scheda controller Arduino compatibile con GSM / GPRS / GPS / Wifi integrati. comms library non ha tanti metodi diagnostici come ad esempio quello di Adafruit, ma è stato facile da configurare e affidabile. Il principale svantaggio di LinkitOne era che utilizza un processore diverso dagli Arduinos, quindi molte delle librerie Arduino non sono compatibili, ad esempio per i dispositivi I2C.

Adafruit Fona SIM808 versione 2G Shield. il layout dello scudo ma le intestazioni impilabili devono essere acquistate e saldate separatamente. Le piedinature predefinite funzionano con Uno, ma sono necessarie le mod per Mega. La libreria offre molti metodi diagnostici utili (tensione della batteria, potenza del segnale, ecc.). ha funzionato con SIM prepagata giffgaff ma non vodafone per qualche motivo. SMS ha funzionato bene. Potrei connettermi a GPRS ma ottenere HTML da un sito Web non ha funzionato.

Schermo DFRobot SIM808 GPS / GPRS / GSM - I connettori schermati impilabili con cablaggio precablato, le istruzioni per caricare il codice ed eseguire il dispositivo sono contorti e vaghi. Non ero nemmeno in grado di ottenere una connessione di base con Arduino per funzionare. O la libreria è molto difettosa o il mio dispositivo era difettoso.

SEEEDStudio 113030009 Shield GPRS con antenna e supporto SIM esterno V3.0 Probabilmente lo vedrò il prossimo ..

Scheda GSM Arduino ufficiale FUORI PRODUZIONE

Modulo Sparkfun GSM / GPRS - SM5100B FUORI PRODUZIONE

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.