NB-IoT終端收到OneNet平臺下發的數據格式異常問題

1.問題描述

         NB-IoT終端對接OneNet平臺調試過程中發現,終端收到的平臺下發的數據偶爾會出現格式異常現象。例如,平臺本來下發的數據是字符串形式的“abc”,但是NB模組收到的實際數據是這條字符串的ASCII碼“979899”。這種現象有一定概率出現。

2.原因分析

        看現象應該是平臺的編碼轉換有問題,如果是這樣也無法解釋爲什麼問題是偶現,而不是必現。經過大量的試驗,終於發現規律:終端在登錄OneNet平臺後,如果先發送一條上行消息(字符串格式),則問題不會出現;如果登錄平臺後不發上行消息,直接讓平臺下發消息,則問題必然出現。

        根據試驗的現象,諮詢了OneNet平臺技術人員得知,OneNet平臺與終端之間通信有如下幾種數據格式:

其中opaque爲16進制字符串,如果終端沒有指定數據格式的話,平臺會默認以opaque格式下發,即使平臺側填寫的數據是字符串,也會被轉換成16進制(即字符對應的ASCII碼)字符串發送。而終端指定數據格式的方式就是向平臺發送一條notify數據,notify數據是什麼格式,平臺就會採用什麼格式。

3.解決辦法

        終端在登錄OneNet平臺後,第一時間上報一條數據,以指定數據格式。

 

發佈了24 篇原創文章 · 獲贊 17 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章