嵌入式技术论坛
直播中

万物死

9年用户 1377经验值
擅长:MEMS/传感技术
私信 关注
[问答]

怎样去解决基于兆易的gd32f207平台运行umqtt v1.0.0崩溃的问题

基于兆易的gd32f207平台,移植rtthread,运行umqtt v1.0.0,

基于example修改了一个代码如下:

int mqtt_thread_init(void)
{
int ret;
umqtt_ex_start();
umqtt_ex_subscribe(MQTT_SUBTOPIC);
rt_kprintf("\r\nmqtt_thread START NOW!!! \r\n");
return RT_EOK;
}

服务器使用emqx,启动后,服务器端能看到设备连接成功,但是大约10秒后,出现异常,如下图所示,。

btw,的确如之前的帖子所说,官方代码,怎么一堆warning和部分错误,而且是特别明显的错误。

1.jpg

回帖(6)

万物死

2022-11-22 14:14:38
随便找一个代码错误的部分,例如umqtt.c文件的218行:
publish_msg.packet_id = p_msg->payload;
这块明显不对啊。
举报

万物死

2022-11-22 14:15:02
请问各位大神,umqtt能用吗?还是建议用其他的?
举报

李俊

2022-11-22 14:20:37
不能用,软件包里的mqtt都试过。
如果有用lwip的建议使用lwip内置的mqtt协议,用的sal可以使用jiejie的mqttclient
举报

万物死

2022-11-22 14:20:48
您说的内置是说uMQTT?
举报

李俊

2022-11-22 14:21:01
lwip协议提供了一些上层协议实现,其中就包含mqtt了。支持qos0,1,2。
mqtt状态事件回调也能满足大部分需求。
1.jpg
举报

万物死

2022-11-22 14:21:16
谢谢,知道了,我用的rtthread默认自带的lwip 版本是2.0.3,并没有默认的mqtt,得自己把新版本挪上去。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分