问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

唤醒休眠:让4G模组重新焕发活力的关键指令!

创作时间:
作者:
@小白创作中心

唤醒休眠:让4G模组重新焕发活力的关键指令!

引用
CSDN
1.
https://blog.csdn.net/2401_87501788/article/details/143112208

在物联网和嵌入式开发中,4G模组的休眠唤醒机制是一个常见需求。本文将详细介绍一种关键指令,帮助开发者轻松唤醒休眠的4G模组,使其重新投入工作。

一、通过自测缩小问题范围

在做过以下测试后,问题基本上锁定了。

  1. 进入休眠后,MQTT链接是否有断开:
    使用AT+MQTTSTATU指令查看MQTT链接状态,
    返回结果是:+MQTTSTATU :1
    说明链接是存在的,没有断开。

  2. 服务端下行的数据模块是否有收到:
    检测main_uart串口的URC上报,发现在下发消息的时候,模块有上报:
    +MSUB: "/topic",10 byte,1234567890
    说明数据可以正常收到。

  3. 用逻辑分析仪或者示波器检测下RI脚波形:
    发现在进入休眠后,和服务器下发消息,模块收到URC整个流程中——RI脚都没有出现下拉的波形,说明RI脚的功能有问题?
    从Air780EP官网资料的硬件设计手册,找下RI脚的位置有没有量错,嗯~ 是20脚没有错。

合宙Air780EP最新资料:
https://www.air780ep.cn/

二、找到了解决方法

通过合宙资料摸索了一小下,看到AT手册第58页有一条指令:
设置RI指示功能:AT+CFGRI

这条指令的功能,就是打开在Air780EP模块接收到TCP/UDP/FTP/HTTP/MQTT的URC时,就会产生RI脚120ms的低脉冲,也就是给予MCU的下降沿。

AT指令手册:
https://doc.openluat.com/article/4985

休眠流程中,进入休眠之前加一条这个AT+CFGRI=1的指令后,重新尝试了下,果然可以了。
在收到MQTT下行数据时,RI脚正确产生一个下降沿,唤醒了主控,大致业务逻辑没问题了!

三、总结及建议

要想Air780EP模块可以通过网络服务端下行数据,以此来唤醒模块以及唤醒主控,节省功耗的话:
需要接入模块的RI脚,并且在流程中(最好是开机后就配置,作为初始化的流程)加入一条 AT+CFGRI=1 指令才可以。

并且通过实测,不管进入任何休眠模式:
例如:
AT+CSCLK=1
AT+POWERMODE="PSM+"
都需要配置AT+CFGRI=1这个指令后,才可以触发RI中断。看样子是和休眠模式没有关系的。

本文原文来自CSDN

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号