GPRSにはどのシールドを使用しますか?


9

センサーデータを読み取ってGPRS経由で送信するデバイスを構築する予定です。1日1回。(そうではありません。)しかし、私の問題はGSM / GPRSシールドを選択することです。

公式シールドには、HTTP POST / GETを実行するための優れたインターフェースがあります。OTOH、シールドは売り切れのようです(とにかくかなり高価です)。

他に利用可能なシールドがあるようですが、コードの例はかなりハックに見える傾向があります。デバイスは任意の瞬間を待ってから、サーバーが完了することを期待しています。それはIMOの非効率的または信頼性の低いです。

私の質問:これらの機能を使用して、どのGSM / GPRSシールドを推奨しますか?

  • 公式ライブラリなどのサンプルを含む正気なライブラリ
  • 外部アンテナ
  • ボーナス:競争力のある価格
  • 別のボーナス:うまくいけば「実際の」シールドなので、はんだ付けは不要で、数本のピンがセンサーに簡単に使用できます。

回答:


3

そのライブラリは、M10モジュールが搭載されているほとんどすべてのもので動作するはずです。

私はSIM900モジュールの経験しかありません。EBayで最も安いものを見つけました。

これらのものとのインターフェースは最初は難しい場合がありますが、実際に必要なのは、すべてのATコマンドのマニュアルを読んで実行することだけです。私は役立つかもしれないいくつかの関数を書きました:

注:安全のすべてのインスタンス置き換えることDEBUG_PRINTDEBUG_PRINTLNしてSerial.printとし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

M10チップを使用するElechouseボードを注文してしまいました。59 USDでeBayに1つ見つかりました。公式ライブラリでは問題なく動作するようです。

マニュアルに書かれているように、外部電源を供給する必要があります-USBケーブルでは不十分です!


elechouseボードは信頼できると思いましたか、それはGPRSを送受信しますか?
Hamish_Fernsby

2Gはあなたの国でサポートされていますか?少なくともヨーロッパでは、2Gネットワ​​ークをオフにする計画があり、選択したモジュールは3Gをサポートしていません
gabonator

0

LinkitOne-シールドではなく、GSM / GPRS / GPS / Wifiが組み込まれた互換性のあるArduinoコントローラーボード。通信ライブラリには、Adafruitなどの診断方法はありませんが、設定が簡単で信頼性が高かったです。LinkitOneの主な欠点は、Arduinosとは異なるプロセッサを使用しているため、Arduinoライブラリの多くがI2Cデバイスなどと互換性がないことです。

Adafruit Fona SIM808 2Gシールドバージョン。シールドレイアウトですが、積み重ね可能なヘッダーは別途購入してはんだ付けする必要があります。デフォルトのピン配置はUnoで機能しますが、Megaにはmodsが必要です。ライブラリには多くの便利な診断方法(バッテリー電圧、信号強度など)があります。giffgaffプリペイドSIMでは機能しましたが、何らかの理由でボーダフォンでは機能しませんでした。SMSは問題なく動作しました。GPRSに接続できましたが、Webサイトからhtmlを取得できませんでした。

DFRobot SIM808 GPS / GPRS / GSMシールド-事前配線済みのスタッカブルシールドコネクタ、コードをアップロードしてデバイスを実行する手順は複雑で曖昧です。Arduinoへの基本的な接続を確立することさえできませんでした。ライブラリに非常にバグがあるか、デバイスに欠陥がありました。

SEEEDStudio 113030009 GPRSシールド、アンテナおよび外部SIMホルダーV3.0付き次はおそらくこれを設定します。

Arduino公式GSMボード生産終了

Sparkfun GSM / GPRSモジュール-SM5100B販売終了

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.