RT-T下使用mymqtt库,连接mqtt,设备接收到订阅的主题定时发送过来的数据,导致频繁掉线问题

单片机:AT32F435

使用RT-T操作系统,在RT-T官网上拉取相关软件包,软件包都有相关介绍,下边是RT-T相关网址:软件包 - RT-Thread物联网操作系统

现象描述:设备连接MQTT服务器,订阅9/1/55主题,用mqttx软件每隔30s往9/1/55主题发送modbus数据(HEX)控制继电器,设备频繁掉线上线;

原因:mqtt库框架,mqtt订阅主题接收到数据,mqtt心跳时间清零,发布数据周期为30s,导致心跳周期一直清零,没有给服务器发送心跳,从而掉线;

解决:

        方法1.设备收到订阅数据,返回确认帧;

        方法2.修改mqtt心跳框架,在收到订阅数据后mqtt心跳时间不清0;

(我选择使用方法2,在mqttpacket_readpacket()函数中,屏蔽"c->tick_ping = rt_tick_get();");

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

编程小白菜123

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值