TI中文支持网
TI专业的中文技术问题搜集分享网站

CC3220R: MQTT无法连接,报错

Part Number:CC3220R

如图所示,SDK使用的版本为5.30.0.08版本,连接MQTT服务器时出现错误码-2005,请问这个错误码代表的是什么意思?我该如何修改我的工程?

Alex Zhang:

您好,您这边用的是哪个demo?

,

Alex Zhang:

您这边可以参考ti官方的例程来修改自己的代码,希望可以帮助到你,在下面给您提供了链接;

dev.ti.com/…/wifi_mqtt.html

,

Alex Zhang:

还有一点就是相应的sdk版本建议您这边使用他推荐的ccs版本:

,

?? ?:

你好,

1.例程用的是 MQTT Client,

2.Ti的例程我已经试过了 ,同样的参数,是可以连接的

3.这个版本不好调整,我是接手的代码修复BUG

还有一个问题就是我用例程连接Onenet的时候,会直接断开,我在平台上找到特性,发现有一个serrison需要为1,但是例程上面没有找到这个参数怎么配置

,

Alex Zhang:

?? ? 说:

1.例程用的是 MQTT Client,

2.Ti的例程我已经试过了 ,同样的参数,是可以连接的

这个说明硬件没有问题,是软件代码侧的问题。

对于代码的bug修复,我们这边不提供这样的技术支持,谢谢理解。

?? ? 说:还有一个问题就是我用例程连接Onenet的时候,会直接断开,我在平台上找到特性,发现有一个serrison需要为1,但是例程上面没有找到这个参数怎么配置

您这边的平台找到特性指的是?

,

?? ?:

不是说需要代码修复的技术支持,我只想知道那个错误码是什么意思,因为这个是调用的Ti的接口,我这边看不到错误码的意思。

特性就是我说的clean session标记,例程里没有对此参数的设置,在MQTT.fx里面就有这个参数,我已经试过了我的MQTT参数,使用MQTT.fx是可以直接连接的,但是替换到mqtt_client例程里面后,CC3220无法连接Onenet,所以我怀疑是否是该参数引起的。

,

Alex Zhang:

您好,我已经联系工程师这边跟进您的问题,这需要一些时间,谢谢

,

Alex Zhang:

您以前是否调用过MQTTClient_CREATE? 您是否为MQTT堆栈创建了任务?

-2005表示出现致命错误。

在发生此事件之前,您是否看到异步致命事件(SimpleLinkFatalErrorEventHandler或SimpleLinkGeneralEventHandler)?

使用clean-connect可通过以下方式完成:" MQTTClient_Set(mqttClient, MQTTClient_clean_connect,&mqttClientParams.cleanConnect, sizeof(mqttClientParams.cleanConnect);"

什么是"MQTT.FX"?

您是否认为原始示例适合您?

,

Alex Zhang:

-2005意味着发生了致命错误,因此命令被中止,并且需要NWP或MCU重置。 通常,这是在调用SimpleLinkFatalErrorEventHandler或SimpleLinkGeneralEventHandler之后发生的,因此请检查它们是否被调用。

,

?? ?:

问题已经解决,

1.-2005的原因是内存不够了,减小了其他地方的内存后,可以连接了。

2.Onenet无法连接的原因是把will retain参数按照Onenet官网提供的flag为0,qos为0进行设置后无法连接,解决方法是需要在连接之前,不对该参数进行赋值(直接注释掉),之后就可以连接上了

,

Alex Zhang:

有问题随时论坛交流,很高兴您的问题可以解决,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » CC3220R: MQTT无法连接,报错
分享到: 更多 (0)