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.

[参考译文] CCS/MSP432E401Y:设置静态 IP 后 MQTT 未连接

Guru**** 2563990 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/842812/ccs-msp432e401y-mqtt-not-connect-after-static-ip-set

器件型号:MSP432E401Y

工具/软件:Code Composer Studio

您好!

使用原始问题。 我已经能够设置器件的静态 IP。 但我的 MQTT 连接失败。 其返回错误 -2006 (SLNETERR_RET_CODE_INVALID_INPUT)。

如果我不使用静态 IP、则表示使用默认代码(DHCP)、然后 MQTT 连接成功。

那么问题是什么?

谢谢、

Dinkar

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

    Dinkar 您好!

    根据您 之前的帖子、您好像正在与蚊子 MQTT 代理交谈、这意味着 MSP432E4需要互联网连接。

    如果您使用静态 IP、如何确保 MSP432E4能够访问互联网? 这可能是您的问题。

    谢谢、

    SAI

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

    您好、Sai、

    感谢您的回复。

    我之前的帖子与 MQTT SSL 连接相关、与此不同。

    在此帖子中、我在1883帖子上出现了 MQTT 连接问题。

    首先,我 从 SDK 中获取 mqttclientserver 的新代码。 获取服务器地址"test.mosquitto.org "和端口"1883"、然后运行我的 MSP432E4成功连接到该服务器的代码。

    现在、第二个测试我将器件 IP 从动态更新为静态、就像您在"https://e2e.ti.com/support/microcontrollers/msp430/f/166/t/681655""上的帖子一样。然后运行相同的代码、但 MQTT 连接失败、并显示错误 -2006。

    我确保 MSP432E4通过基于 DHCP 的测试代码连接互联网、并成功连接到服务器。

    在这两种情况下、我的硬件连接是相同的。

    谢谢、

    Dinkar

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

    您好 Dinkar、

    您很可能没有设置静态 DNS 服务器以及静态 IP 地址。 使用以下代码执行此操作:

    uint32_t ipaddr = inet_addr ("8.8.8.8");
    
    if (ipaddr){
    CfgAddEntry (hCfg、CFGTAG _SYSINFO、CFGITEM_DHCP_DOMAINNAMESERVER、
    0、sizeof (ipaddr)、(unsigned char *)和 ipaddr、0);
    } 

    上面的8.8.8.8服务器是 Google 的公共 DNS 服务器、但您可以将其指向所需的任何服务器。  

    进行此更改后、最新3.30 SDK 中的 mqttclient 示例可与静态 IP 配合使用。

    请告诉我、这是否对您无效。

    此致、

    Michael

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

    您好,Michael,

    感谢您的回复。

    根据您的建议,我添加了 DNS 服务器 IP,然后 mqttclient 示例可与当前 SDK 3.20配合使用。

    谢谢,

    Dinkar