This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] CC3220SF-LAUNCHXL:无法通过 Azure IoT 插件中的 ioithub_client_sample_mqTT 示例与 Azure IoT 集线器进行通信

Guru**** 2540610 points
Other Parts Discussed in Thread: CC3220SF-LAUNCHXL, UNIFLASH

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/979225/cc3220sf-launchxl-not-able-to-communicate-with-azure-iot-hub-with-iothub_client_sample_mqtt-example-from-azure-iot-plugin

器件型号:CC3220SF-LAUNCHXL
主题中讨论的其他器件: UNIFLASH

您好!

我尝试使用  来自 azure_cc32xx_4_10_01_01 SDK 的 iothub_client_sample_mqTT 示例通过 CC3220SF-LaunchXL 连接到 Azure IoT 集线器

-> CCS 版本10.2.0

-> simplelink_CC32xx_SDK 版本4.10 (因为 azure_cc32xx_4_10_01_01 SDK 构建于 cc32xx_SDK v4.10上)

当我执行该示例时、我能够看到正在传输的消息、但无法获得消息接收确认、即 接收消息回调未被调用。

控制台日志:

启动 iohub_client_sample_mqTT 示例
startSNTP:当前时间:2021年2月17日05:26:53日、星期三


CC32XX 已连接到 AP 并获取 IP 地址。

IP 地址:192.168.43.78

IoTHubClient_LL_SetMessageCallback...成功。
IoTHubClient_LL_SendEventAsync 接受的消息[0]用于传输到物联网集线器。
IoTHubClient_LL_SendEventAsync 已接受消息[1]、用于传输到物联网集线器。
IoTHubClient_LL_SendEventAsync 已接受消息[2]、用于传输到物联网集线器。
IoTHubClient_LL_SendEventAsync 已接受消息[3]、用于传输到物联网集线器。
IoTHubClient_LL_SendEventAsync 已接受消息[4]、用于传输到物联网集线器。

我已尝试按照  此帖子中的建议更新服务包(尝试了版本3.15和3.18以及使用 uniflash 的 iothub_client_sample_mqTT 示例二进 制文件)。 但它没有解决该问题。

请帮助我解决此问题。

谢谢你

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Suhas、

    是否可以启用应用程序和库日志记录? 请参阅 Azure SDK IoT 插件用户指南的调试部分。

    此外、您能否检查云服务中的设备连接日志?

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sarah、

    正如您提到的,我在 Azure IoT 插件中启用了日志记录,以下是日志:

    启动 iohub_client_sample_mqTT 示例
    startSNTP:当前时间:2021年2月18日18:14:20


    CC32XX 已连接到 AP 并获取 IP 地址。

    IP 地址:192.168.43.249

    IoTHubClient_LL_SetMessageCallback...成功。
    IoTHubClient_LL_SendEventAsync 接受的消息[0]用于传输到物联网集线器。
    错误:文件:../../pal/src/tlsio_sl.c Func:tlsio_sl_open Line:371
    SlNetSock_startSec 无法启动会话

    错误:文件:../../sdk/iothub_client/src/iothubtransport_mqtt_common.c func:SendMqttConnectMsg Line:2282
    无法连接到地址 ppiottesthub.azure-devices.net。
    IoTHubClient_LL_SendEventAsync 已接受消息[1]、用于传输到物联网集线器。
    错误:文件:../../pal/src/tlsio_sl.c Func:tlsio_sl_open Line:371
    SlNetSock_startSec 无法启动会话

    错误:文件:../../sdk/iothub_client/src/iothubtransport_mqtt_common.c func:SendMqttConnectMsg Line:2282
    无法连接到地址 ppiottesthub.azure-devices.net。
    IoTHubClient_LL_SendEventAsync 已接受消息[2]、用于传输到物联网集线器。
    错误:文件:../../pal/src/tlsio_sl.c Func:tlsio_sl_open Line:371
    SlNetSock_startSec 无法启动会话

    错误:文件:../../sdk/iothub_client/src/iothubtransport_mqtt_common.c func:SendMqttConnectMsg Line:2282
    无法连接到地址 ppiottesthub.azure-devices.net。
    IoTHubClient_LL_SendEventAsync 已接受消息[3]、用于传输到物联网集线器。
    错误:文件:../../pal/src/tlsio_sl.c Func:tlsio_sl_open Line:371
    SlNetSock_startSec 无法启动会话

    错误:文件:../../sdk/iothub_client/src/iothubtransport_mqtt_common.c func:SendMqttConnectMsg Line:2282
    无法连接到地址 ppiottesthub.azure-devices.net。
    IoTHubClient_LL_SendEventAsync 已接受消息[4]、用于传输到物联网集线器。
    错误:文件:../../pal/src/tlsio_sl.c Func:tlsio_sl_open Line:371
    SlNetSock_startSec 无法启动会话

    注意:我已经验证了示例中用于连接到 iothub 的连接字符串是有效的。 正如 本文中所述 ,将 MQTT_protocol 更改为 HTTP_protocol (在 IoTHubClient_LL_CreateFromConnectionString (connectionString、MQTT_Protocol)中)后,将连接到 azure cloud,并且我能够获得确认消息并能够在 azure cloud 中查看收到的消息。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Suhas、

    您是否根据 插件用户指南更新了证书目录

    此致、

    Sarah

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Sarah、

    我更新了 Uniflash 中的证书目录并尝试刷写电路板,但我不断收到以下错误:

    操作失败:错误:SLImageCreator.exe:FS_programming 错误:RET:-10287、EX_ERR:2633 - FS_ERR_ROOT_CA_IS_unkown

    可以帮我解决这个问题吗?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好、Suhas、

    Azure IoT 插件库验证用于与证书目录进行连接的证书。 证书目录还用于验证根证书、以对应用 MCU 二进制文件进行签名。 您有几个选项:

    1. 请勿刷写任何应用程序二进制文件、仅使用调试器进行测试。 (仅用于开发。)
    2. 使用有效的根证书(而不是 SDK 中用于开发的虚拟根证书)对您的应用程序二进制文件进行签名。 (生产所需。)
    3. 或者、在本 SimpleLink Academy 实验的任务2中、步骤6-10中直接更改 Azure IoT 库: https://dev.ti.com/tirex/explore/node?node=AJ9nHaAsEsae1pf9GfFizw__fc2e6sr__LATEST (仅用于开发。)

    此致、

    Sarah