我完成了本教程,可以看到发送到Azure云的数据。
https://microsoft.github.io/azure-iot-developer-kit/docs/get-started/
但是,看着串行监视器,我看到它在成功的传感器消息之间不断地断开和重新连接。
[...] hardware\stm32f4\1.6.0\cores\arduino\azure-iot-sdk-c\c-utility\adapters\socketio_mbed_os5.c Func:send_queued_data Line:213,
Socketio_Failure: encountered unknow connection issue, the connection will be restarted.
2019-03-27 00:35:28 INFO: >>>Connection status: disconnected
2019-03-27 00:35:30 INFO: >>>Re-connect.
从Google的速度测试来看,我的连接似乎很好。
答案 0 :(得分:0)
这是连接问题,IoT DevKit仅支持2.4GHz Wi-Fi,请确保不与5GHz AP连接。 如果是2.4GHz,可以尝试其他AP吗?就像将手机设为热点一样。
答案 1 :(得分:0)
无法在任何连接上运行“入门”项目,但我只是在Studio Code中从头开始创建了一个新的IotHub项目,现在它保持连接状态。
也许我需要更新固件或其他东西,稍后再试,但是如果有人遇到相同的问题并想运行,这是生成的简单工作代码:
#include "AZ3166WiFi.h"
#include "DevKitMQTTClient.h"
static bool hasWifi = false;
static bool hasIoTHub = false;
void setup() {
// put your setup code here, to run once:
if (WiFi.begin() == WL_CONNECTED)
{
hasWifi = true;
Screen.print(1, "Running...");
if (!DevKitMQTTClient_Init())
{
hasIoTHub = false;
return;
}
hasIoTHub = true;
}
else
{
hasWifi = false;
Screen.print(1, "No Wi-Fi");
}
}
void loop() {
// put your main code here, to run repeatedly:
if (hasIoTHub && hasWifi)
{
char buff[128];
// replace the following line with your data sent to Azure IoTHub
snprintf(buff, 128, "{\"topic\":\"iot\"}");
if (DevKitMQTTClient_SendEvent(buff))
{
Screen.print(1, "Sending...");
}
else
{
Screen.print(1, "Failure...");
}
delay(2000);
}
}