ESA2GJK1DH1K基础篇: 源码使用注意事项和程序优化

 

 

 

程序BUG:单片机

1-V1.0版本:MQTT断线处理函数里面 

有的程序只写了: ConfigModuleNoBlockFlage = 0;

断线重连需要按照下面处理,请用户检查自己的程序!

 

 

 

 

 

 

 

程序优化:单片机

1-V1.0版本:MQTT心跳包处理优化

屏蔽掉: mqtt->KeepAliveTimeCnt=0;

屏蔽前:如果心跳包间隔内持续接收到服务器数据,不会发送心跳包,因为收到数据默认就是在线!

屏蔽后:强制到达时间以后必须发送心跳包,预防其它不可预期的问题!

 

 

 

2-V1.0版本:请用户屏蔽掉以下部分

在 mqtt_read_function  中

原因:如果发送完订阅主题以后,模块先返回的其它数据,就会执行订阅失败回调

后面返回正确的应答也检测不到!

屏蔽后: 返回订阅成功会进入订阅程序回调,返回订阅失败会进入订阅失败回调

如果不返回订阅应答,将不进任何回调函数

建议处理方式:订阅主题以后用户自己写程序执行超时检测

如果超过一定时间没有进入订阅成功回调,就认为是订阅失败!

 

 

 

 

用户反映问题及其解决方案:单片机

1-V1.0版本:同时发布两个数据,阿里云物联网平台主动断开问题

问题描述:同时插入两条发布的消息,会和阿里云物联网平台断开!

问题原因:后经验证是阿里云服务器为应对服务器压力,不允许短时间内同时发布两条数据

解决方案:把提取缓存的数据时间改为200ms,具体最短时间没有测试过.

注:更改这里的时间不会影响到主循环运行,此处为软延时!

 

 

 

 

 

 

  

posted on 2020-05-16 12:13  广源时代  阅读(598)  评论(0编辑  收藏  举报

导航

支付宝 QQ群