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.

[参考译文] CC3220S-LAUNCHXL:使用 MQTT AWS IoT 内核时为 SLNETERR_ESEC_Socket_ERROR_E

Guru**** 2540720 points
Other Parts Discussed in Thread: CC3220S

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

https://e2e.ti.com/support/wireless-connectivity/wi-fi-group/wifi/f/wi-fi-forum/1196675/cc3220s-launchxl-slneterr_esec_socket_error_e-when-using-mqtt-aws-iot-core

器件型号:CC3220S-LAUNCHXL

您好!

我尝试使用 FreeRTOS 和 TI 的 MQTT 模块(不是 AWS 库)连接到 AWS IoT Core MQTT 代理(ATS 类型)、但连接时出现(-708)错误。

我已根据需要将 CA 更改为 SF 类2根(解决了(-688)错误)。

是否有任何关于导致此错误的建议?

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

    -708是套接字状态错误。

    是在 SL_Connect 期间 还是在 MQTT 数据传输(SL_Send/SL_Recv)期间发生?  

    如 有可能、请分享更多详细信息和 NWP 日志(请参阅 www.ti.com/.../swru455中的第20章)。

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

    您好、Kobe、

    我从 MQTTClient_connect()收到错误

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

    此错误不常见-我们需要更多信息。

     MQTTClient_connect 是库调用。 在 MQTT 库内(源代码在 src/ti/net/MQTt/下可用),有对 SimpleLink API 的调用(调用 MQTTClient_connect 将首先通过 sl_Connect 触发 TCP/TLS 会话设置,然后通过 sl_Send 和 sl_Recv 继续进行 MQTT 连接设置) -了解哪个 API 准确导致了错误(遗憾 的是、库本身没有调试消息、因此需要单步进入 MQTTClient_connect 或在库中添加日志消息。

    也就是说、调试这种情况的最佳方法是获取 NWP 日志。

     

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

    您好、Kobi、

    我要附上日志 file.e2e.ti.com/.../CC3220S_5F00_NWP.log

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

    您好、Kobi、  

    日志中是否有任何见解?

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

    我在此日志中看不到问题。 您能否生成一个在器件复位时启动并包含所有内容直到出现连接错误的文件。

    要检查的一点。 您是否正在使用 SmartConfig 配置? 如果是、您是否可以尝试 将 其删除(使用 AP Prov. 而不是)。

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

    您好、Kobi、

    我克服了-708错误、忘记在 AWS 端设置证书的权限。

    我使用相同的设置和证书验证了与 AWS 的连接、并建立了稳固的连接。

    但是 、该器件现在在连接期间没有错误、并且我立即收到断开事件。

    OPFW:MQQT 客户端已成功初始化。
    OPFW:初始化 MQQT 客户端
    上下文线程:正在运行

    MQTT 客户端 CB:断开连接

    上下文主题:MQTTClient_run 返回

    上下文主题:MQTT 客户端已删除
    上下文线程退出

    MQTT APP 线程:断开连接

    MQTT_EVENT_SERVER_DISCONNECT
    未连接到代理

    MQTT 应用程序线程:销毁

    MQTT_EVENT_SA毁灭

    这是 AWS 的错误"


    "时间戳":"2023-02-23 12:49:10.325"、
    "LogLevel (日志级别)":"error (错误)"、
    "traceId":"228290c7-941a-cb10-977b-08838156b71f"、
    “帐户 ID”:“<>我们的帐户 ID”,
    "状态":"故障"、
    "EventType":"Connect"、
    "协议":"MQTT"、
    "principalId":"dc0e08e400acd24cf49b43e3be3add4af2d483adbf84f41b4fc715df3623c187"、
    "sourceIp":" "、
    "sourcePort":15272.

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

    您好、Kobi、

    我注意到我使用的一个桌面客户端的行为相同,我认为这是因为它使用 MQTT://而不是 mqts://

    明白了吗?

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

    请尝试不要使用 URL 前缀("mqTT://"或"mqts://")。

    请注意、TCP 端口作为 MQTTClient_ConnParams 中的独立参数提供 。

    请参阅 示例中的" test.mosquitto.org "。

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

    您好、Kobi、

    最后、我要弄清楚它。 AWS IoT Core 仅支持 QoS 0和1、代码设置为 QoS 2、服务器拒绝连接。

    docs.aws.amazon.com/.../mqtt.html