模块:Luat S6
固件:Luat_v0030_8955_SSL
框架:LuatTask
信号强度20,通讯什么的都正常就是有延迟问题,每次发送都是固定的两秒延迟
。。。
接着调试发现是官方lib中接收任务阻塞了线程
改小接收超时参数可以解决延时问题,但可能会影响信号差或长数据包的情况,所以现在问题变成了为什么在接收过程中调aLiYun.publish()可以立即发布消息,而通知其他线程调用aLiYun.publish()发布消息却会导致接收超时?
请问如下应用场景怎样避免延时问题:
主线程:当模块接收到mqtt消息->根据消息数据通知外部设备执行动作【执行动作只需十几毫秒】
子线程:当外部设备执行完动作上报情况->调aLiYun.publish()上报数据【外部设备状态需尽快上报,2秒延时太久了】