?這周接手了另一個同事用合宙Air780EP模塊沒做完的項目,剛上手之后就發現了一個問題:
在通過AT+CSCLK=2進入休眠之后,連接MQTT服務器,從服務器端下行消息到模塊喚醒,并且觸發RI腳的下降沿,以此喚醒MCU——但實際卻喚醒不了。
問題排查及解決方式記錄如下,希望對遇到類似情況的朋友有所幫助。
一、通過自測縮小問題范圍
在做過以下測試后,問題基本上鎖定了。
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中斷。看樣子是和休眠模式沒有關系的。
審核編輯 黃宇
?
-
4G
+關注
關注
15文章
5618瀏覽量
124006 -
模組
+關注
關注
6文章
1769瀏覽量
32260 -
MQTT
+關注
關注
5文章
733瀏覽量
25092
發布評論請先 登錄
如何確保CAT.1模組的高性能與低功耗?
GD01C 4G路由模組:串口轉4G/WiFi/網口通信
戶外4G模組優選高穩時鐘NDK NT2016SB TCXO
虹科分享 | TC10管理:虹科10BASE-T1S方案高效管控ECU休眠/喚醒
【道生物聯TKB-623評估板試用】——2.TKB-623評估板休眠喚醒測試
IR900撥號電信4G專網卡遇到的問題及解決方法
CE31-TD系列4G遙控開關模組核心板方案推薦
SkyOne? 汽車多模多頻段前端模塊,用于 4G LTE 和 4G LTE-A(下行鏈路載波聚合 (CA) 應用) skyworksinc
4G全網通網關是什么?有什么功能?
4G DTU 無線數傳模塊:RS232/485轉4G,穩定不宕機
大公開!用Air780EPM重構水質COD監測,替代STM32+4G模組的技術路徑
用于 4G 和 5G 應用的 Sky5? UHB 前端模塊 skyworksinc
用于 4G 和 5G 應用的 Sky5? 前端模塊 skyworksinc
手把手教你!4G模組Air780EPM——GPIO的設計說明
休眠喚醒不了?你的4G模組不是裝睡,而是少了一條指令…
評論