Azure IoT Devkit入门项目一遍又一遍地断开连接并重新连接

时间:2019-03-27 00:55:09

标签: azure arduino azure-iot-hub iot-devkit

我完成了本教程,可以看到发送到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的速度测试来看,我的连接似乎很好。

2 个答案:

答案 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);
  }
}