NB-IoT終端收不到平臺下發數據的問題

        首先,NB-IoT終端收不到平臺下發數據的問題在產品調試初期會經常遇見,最主要的原因是NB模組進入了PSM模式,此時下行不可達。如果平臺發送了實時消息,則一定會發送失敗。解決辦法一是關閉NB模組休眠功能,二是在發送下行數據前先喚醒NB模組,三是實時消息改爲發送緩存消息。

        而本文中遇到的問題,不是上述問題。調試設備發現,即使激活了NB模組,且NB模組成功地往平臺上報了一條數據的情況下,再從平臺下發實時消息或者緩存消息,都不能成功。現象是通過產品的Debug信息看不到模組任何的打印,平臺側一直轉圈圈,最後也超時了。仔細研究了OneNet平臺的數據下發記錄,發現平臺實際上是有終端發送的,只不過終端沒有發送應答,所以平臺會超時,顯示發送失敗。但是爲什麼平臺發了,而設備端沒有任何打印呢?是軟件的Bug導致沒有處理NB模組的AT命令嗎?爲了驗證這個問題,我把MCU與NB模組的uart口斷開,將NB模組的uart口直接接到PC上,通過串口調試工具查看AT命令。發現確實是模組有上報AT指令,只不過MCU沒有接收到。

        仔細檢查MCU代碼,發現確實有一處地方誤把MCU的uart口關閉了,才導致的這個問題。修復這個Bug後再測試就完全正常了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章