2016-10-15 2 views
0

Siffox를 통해 데이터를 보내려는 Arduino Uno를 얻으려고합니다. Arduino (요리 해킹) 용 Libelium Xbee Shield 및 Sigfox 모듈 사용. Arduino 라이브러리에있는 예제를 사용하여 문자열을 보내려고했습니다. 아두 이노 스케치은 간단 Sigfox 모듈과 기판 사이Arduino shield에서 Sigfox UART를 켤 수 없습니다.

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

연결 Sigfox.getID()가 작동하기 때문에, OK 보인다 :

#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 
    ////////////////////////////////////////////// 
    } 

시리얼 포트에 출력 다음은 , 올바른 ID가 검색됩니다. 또한 Sigfox 플랫폼에서 장치를 구독해도 괜찮은 것 같습니다.

어떻게 디버깅 할 수 있습니까? 나는 진단을 시작하는 방법을 모른다 : 도서관에있는 무엇인가? 보내는 중 뭔가? 하드웨어에 뭔가 있는거야? 이것에 대한 모든 도움을 주시면 감사하겠습니다.

답변

0

문제는 해결하기가 비교적 간단 할 수 있습니다. 직렬 케이블이 연결된 Arduino/Xbee/Sigfox 조합을 실행할 수 없다는 것을 알았습니다. (전원용으로 사용하고 내 컴퓨터로 디버깅 정보를 전송하는 데 사용했습니다). 내가해야 할 일을했을 모든했다 : USB에

  • 풋 스위치
  • 이 12V를 통해 Xbee에
  • 전원을 아두 이노를 직렬 케이블
  • 풋 스위치를 분리 시리얼 케이블을 통해 새로운 코드를 업로드 자켓 (또는 다른 전원 입력)

그러면 작동합니다.

1

가 여전히 작동하지 않는 경우 핀 9 에 모듈이 1 번 핀에 VCC를 가지고, 아두 이노 TX는 Sigfox RX에 연결되며, 아두 이노 RX가 확인도 Sigfox TX에 연결되어 있는지 확인하고, GND 두배로하십시오 아마도 RX와 TX 라인에 연결된 다른 것이 있기 때문일 것입니다. 그것을 제거하십시오.Personnaly, 나는이 줄에 논리 분석기를 넣어서 대화 상자를 확인했다. "ON"에 대해 : AT \ r \ n이 전송되고 "OK \ r \ n"이 응답됩니다.

희망이

+0

도움 주셔서 감사합니다. 아래의 내 솔루션을 참조하십시오. 귀하의 대답은 왜 원래 설정이 작동하지 않았는지 설명합니다 : Sigfox와 직렬 케이블이 직렬 포트에 대해 경쟁하고 있습니다. –