2016-10-15 4 views
0

私はArduino UnoにSigfox経由でデータを送信しようとしています。 ArduinoのためのLibelium Xbee ShieldとSigfoxモジュールの使用(Cooking Hacks) Arduinoライブラリにある例を使って文字列を送信しようとしました。 Arduinoのスケッチは単純です:ArduinoシールドのSigfox UARTをオンにすることはできません

#include <Wire.h> 

    // Cooking API libraries 
    #include <arduinoClasses.h> 
    #include <arduinoUART.h> 
    #include <arduinoUtils.h> 

    #include <arduinoSigfox.h> 
    // Pin definition for Sigfox module error LED: 
    const int error_led = 13; 

    ////////////////////////////////////////////// 
    uint8_t socket = SOCKET0; //Asign to UART0 
    ////////////////////////////////////////////// 

    uint8_t error; 

    void setup() 
    { 
    Serial.begin(9600); 
    pinMode(error_led, OUTPUT); 

    ////////////////////////////////////////////// 
    // 1. switch on 
    ////////////////////////////////////////////// 
    error = Sigfox.ON(socket); 

    // Check status 
    if(error == 0) 
    { 
    //"Switch ON OK" 
    digitalWrite(error_led, LOW); 
    Serial.println("Sigfox Switch ON -> SUCCES"); 
    } 
    else 
    { 
    //"Switch ON ERROR" 
    digitalWrite(error_led, HIGH); 
    Serial.println("Switch Switch ON -> FAILED"); 
    } 

    ////////////////////////////////////////////// 
    // 2. send data 
    ////////////////////////////////////////////// 

    // Send 12 bytes at most 
    error = Sigfox.send("000102030405060708090A0B"); 

    // Check sending status 
    if(error == 0) 
    { 
    //"Sigfox sending -> SUCCES" 
    digitalWrite(error_led, LOW); 
    Serial.println("Sigfox sending -> FAILED"); 
    } 
    else 
    { 
    //"Sigfox packet sent ERROR" 
    digitalWrite(error_led, LOW); 
    Serial.println("Sigfox packet sent ERROR"); 
    } 
    } 


    void loop() 
    { 
    ////////////////////////////////////////////// 
    // 3. sleep 
    ////////////////////////////////////////////// 
    } 

シリアルポートの出力は以下の通りです:Sigfox.getID()が働いているので、Sigfoxモジュールとボードの間

AT 
    Sigfox Switch ON -> FAILED 
    AT$SF=000102030405060708090A0B 
    Sigfox sending -> FAILED 

接続は、OKのようです正しいIDが検索されます。また、Sigfoxプラットフォームでのデバイスの購読もOKと思われる。

これをどのようにデバッグできますか?私はどのように診断を始めるのか分かりません。送信の何か?ハードウェアの何か?これに関するすべての助けに感謝します。

答えて

0

この問題は解決するのが比較的簡単でした。シリアルケーブルを接続してArduino/Xbee/Sigfoxの組み合わせを実行することはできないことが判明しました(電源とデバッグ情報をコンピュータに送信するために使用しました)。 私がしなければならなかったすべてれました:

  • プット・スイッチUSBへ
  • シリアルケーブルを経由して、新しいコードをアップロード
  • シリアルケーブルを抜いプット・スイッチのXBee
  • 12Vを介して電源のArduinoをジャケット(またはその他の電源入力)

次に動作します。

1

ArduinoのTXがSigfox RXに接続されている二重チェック、およびArduinoのRXは、それはまだ動作しない場合は、モジュールがピン9 上のピン1上のVCC、およびGNDを持っていること、またSigfox TX チェックに接続されてください。おそらくRXとTX回線に何か他のものが接続されているからでしょう。それを除く。Personnaly、私はこれらの行にロジックアナライザーを入れてダイアログを確認します。 "ON"の場合は :AT \ r \ nが送信され、 "OK \ r \ n"が返されます。

希望します。

+0

ご協力ありがとうございます。以下の私の解決策をご覧ください。あなたの答えは私の元のセットアップがうまくいかなかった理由を説明しています:Sigfoxとシリアルケーブルの両方がシリアルポートについて競合しています。 –

関連する問題