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   广源时代  阅读(605)  评论(0编辑  收藏  举报

编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗
历史上的今天:
2019-05-16 editplus 支持lua语言语法高亮显示

导航

支付宝 QQ群
点击右上角即可分享
微信分享提示