我想让一个Arduino Uno通过Sigfox发送数据。使用Libelium Xbee Shield和Sigfox模块为Arduino(烹饪黑客)。 我尝试使用Arduino库中的示例发送一个字符串。 Arduino草图很简单:
#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
//////////////////////////////////////////////
}
串口的输出如下:
AT
Sigfox Switch ON -> FAILED
AT$SF=000102030405060708090A0B
Sigfox sending -> FAILED
Sigfox模块和主板之间的连接似乎没问题,因为Sigfox.getID()工作正常,并且检索到正确的ID。此外,在Sigfox平台上订阅设备似乎还可以。
我该如何调试?我不知道如何开始诊断:库中有什么东西?什么东西在发送?硬件中有什么东西?对此的所有帮助表示赞赏。
答案 0 :(得分:1)
请仔细检查Arduino TX是否连接到Sigfox RX,Arduino RX连接到Sigfox TX 另外,检查模块的引脚1上是否有VCC,引脚9上是GND。 如果它仍然不起作用,可能是因为RX和TX线路上还有其他东西连接。去掉它。 Personnaly,我在这些行上放了一个逻辑分析器来检查对话框。 对于&#34; ON&#34;:AT \ r \ n发送,&#34; OK \ r \ n&#34;回答。
希望这有帮助
答案 1 :(得分:0)
问题解决起来比较简单。事实证明,连接串行电缆不能运行Arduino / Xbee / Sigfox组合(我用它来供电,并将调试信息发送到我的电脑)。 我所要做的就是:
然后它有效。