【问题标题】:IoTEdge module gives timeoutIoTEdge 模块超时
【发布时间】:2019-01-28 23:18:33
【问题描述】:

我有一个 IoTEdge 模块,它在 Raspberry Pi 3 上运行深度学习模型并且运行良好,但随后以某种方式返回此错误:

错误:时间:2019 年 1 月 28 日星期一 22:45:21 文件:/usr/sdk/src/c/iothub_client/src/iothubtransport_mqtt_common.c Func:InitializeConnection Line:2230 mqtt_client 等待 CONNACK 超时

这是网络连接问题吗?之后似乎这个错误消失了。不知道为什么会这样。我认为这个 IoTEdge 模块和 IoTHub 之间可能存在通信错误,所以我什至重新启动了 IoTEdge 模块并重新启动了 Raspberry Pi 设备。

如何解决?它是否必须处理 Python 中的 time.sleep(1) 代码?

【问题讨论】:

  • 有时重启 IoTEdge 模块可以解决这个问题,但并非总是如此。
  • 我确实在我的设置中看到了很多这样的消息。 Error: Time:Tue Jan 29 04:42:41 2019 File:/usr/sdk/src/c/iothub_client/src/iothubtransport_mqtt_common.c Func:InitializeConnection Line:2230 mqtt_client timed out waiting for CONNACK Error: Time:Tue Jan 29 04:42:41 2019 File:/usr/sdk/src/c/iothub_client/src/iothubtransport_mqtt_common.c Func:InitializeConnection Line:2230 mqtt_client timed out waiting for CONNACK Azure IOT 团队的任何人都可以回复吗?我运行iotedge: 1.0.5-1mcr.microsoft.com/azureiotedge-hub:1.0
  • 所以我发现我使用的是 azure-iothub-device-client 版本 1.4.3 并决定使用最新的版本 1.4.6。但是,我仍然让这些 mqtt_client 超时等待 CONNACK 错误。
  • 您运行的是哪个版本的 IoT Edge?您是否遵循此处的建议并将 OptimizeForPerformance 环境变量设置为 false? docs.microsoft.com/en-us/azure/iot-edge/…
  • 我确实将 deploy.template.json 中 edgeHub 的 OptimizeForPerformance 环境变量设置为 false。我是否需要卸载 IoTEdge,然后从 Visual Studio Code 重新部署模块?我正在运行 iotedge 版本 1.4.3。

标签: azure-iot-hub azure-iot-edge


【解决方案1】:

您使用的是原始版本的 Azure IoT Python SDK。这是 C SDK 的包装器,您遇到的消息是 C SDK 中的一个已知错误。这已在 C SDK 中修复,但从未传播到 Python v1 存储库中。

我建议您使用新的 Python v2 SDK (https://github.com/Azure/azure-iot-sdk-python) 重新构建您的 Edge 模块。默认情况下,这是 Visual Studio Cloud Azure Edge 扩展现在使用的版本。

【讨论】:

    猜你喜欢
    • 2021-10-14
    • 1970-01-01
    • 2022-09-27
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 1970-01-01
    • 2012-09-09
    • 2023-04-03
    相关资源
    最近更新 更多