Welches Schild soll für GPRS verwendet werden?


9

Ich plane, ein Gerät zu bauen, das einige Sensordaten liest und über GPRS sendet, z. einmal am Tag. (Nicht das Original, ja.) Aber mein Problem ist die Wahl eines GSM / GPRS-Schildes.

Das offizielle Schild hat eine schöne Schnittstelle für einen HTTP POST / GET . OTOH, der Schild scheint ausverkauft zu sein (und wäre sowieso ziemlich teuer).

Es scheinen andere Schutzschilde verfügbar zu sein, aber ihre Codebeispiele sehen eher hackig aus : Das Gerät wartet auf einen beliebigen Moment und hofft dann, dass der Server fertig ist. Das ist IMO sowohl ineffizient als auch unzuverlässig.

Meine Frage: Welches GSM / GPRS-Schild würden Sie mit diesen Funktionen empfehlen:

  • eine vernünftige Bibliothek mit Beispielen wie der offiziellen
  • eine externe Antenne
  • Bonus: ein wettbewerbsfähiger Preis
  • Ein weiterer Bonus: hoffentlich eine "echte" Abschirmung, daher ist kein Löten erforderlich und ein paar Stifte sind für die Sensoren immer noch leicht zu verwenden.

Antworten:


3

Diese Bibliothek sollte mit so ziemlich allem funktionieren, auf dem sich das M10-Modul befindet.

Ich habe nur Erfahrung mit den SIM900-Modulen. Fand den billigsten bei eBay.

Während die Verbindung mit diesen Dingen zunächst eine Herausforderung sein kann, müssen Sie wirklich nur das Handbuch für alle AT-Befehle lesen und ausführen. Ich habe einige Funktionen geschrieben, die helfen können:

Hinweis: Sie können alle Instanzen von DEBUG_PRINTund DEBUG_PRINTLNdurch Serial.printund sicher ersetzen 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

Am Ende habe ich ein Elechouse-Board bestellt , das den M10-Chip verwendet. Gefunden bei eBay für 59 USD. Es scheint gut mit der offiziellen Bibliothek zu funktionieren.

Wie im Handbuch angegeben, muss es extern mit Strom versorgt werden - das USB-Kabel reicht nicht aus!


fanden sie das elechouse board zuverlässig, sendet / empfängt es gprs ok?
Hamish_Fernsby

Wird 2G in Ihrem Land unterstützt? Zumindest in Europa gibt es Pläne, das 2G-Netzwerk auszuschalten, und das von Ihnen ausgewählte Modul unterstützt 3G
Gabonator

0

LinkitOne - ok, kein Schild, sondern eine kompatible Arduino-Controller-Karte mit integriertem GSM / GPRS / GPS / Wifi. Die Kommunikationsbibliothek verfügt nicht über so viele Diagnosemethoden wie die Adafruit-Bibliothek, war jedoch einfach einzurichten und zuverlässig. Der Hauptnachteil von LinkitOne war, dass es einen anderen Prozessor als Arduinos verwendet, so dass viele der Arduino-Bibliotheken nicht kompatibel sind, z. B. für I2C-Geräte.

Adafruit Fona SIM808 2G Shield Version. Schildanordnung, aber stapelbare Header müssen separat gekauft und verlötet werden. Standard-Pinbelegungen funktionieren mit Uno, aber Mods sind für Mega erforderlich. Die Bibliothek verfügt über viele praktische Diagnosemethoden (Batteriespannung, Signalstärke usw.). arbeitete mit giffgaff Prepaid-SIM, aber aus irgendeinem Grund nicht mit Vodafone. SMS hat gut funktioniert. Ich konnte eine Verbindung zu GPRS herstellen, aber das Abrufen von HTML von einer Website hat nicht funktioniert.

DFRobot SIM808 GPS / GPRS / GSM-Abschirmung - Vorverdrahtete, mit stapelbaren Abschirmungsanschlüssen, Anweisungen zum Hochladen von Code und zum Ausführen des Geräts sind kompliziert und vage. Ich konnte nicht einmal eine grundlegende Verbindung zum Arduino herstellen, um zu funktionieren. Entweder ist die Bibliothek sehr fehlerhaft oder mein Gerät war fehlerhaft.

SEEEDStudio 113030009 GPRS-Abschirmung mit Antenne und externem SIM-Halter V3.0 Ich werde dies wahrscheinlich als nächstes testen.

Offizielle Arduino GSM-Karte eingestellt

Sparkfun GSM / GPRS-Modul - SM5100B ABGESTELLT

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.