譚方勇,瞿偉,劉子寧,王昂
(蘇州市職業大學計算機工程學院,蘇州 215104)
NB-IoT(Narrow Band Internet of Things,窄帶物聯網)是當前物聯網技術中的一種基于蜂窩網絡的低功耗廣域網技術,它具有低功耗、低速率、廣覆蓋、大連接等主要特點,2016 年,3GPP 發布了 NB-IoT 的物理層協議標準,也標志著NB-IoT 正式走向市場[1]。因此,NB-IoT 技術在很多垂直行業都有著廣泛的應用需求,特別是在大型的社會公共事業領域,如城市道路的智慧停車管理[2]、智慧路燈管理[3]、智能燃氣表遠程抄表[4]等應用。在這些行業應用中,基于NB-IoT 的終端設備需要通過NB-IoT 網絡來傳輸到運營商的IoT 聯接管理平臺,這就需要有信號可靠的NB-IoT 網絡來支撐,從而保證終端能夠正常接入網絡并上報或接收下發數據。
目前,我國主要由三大運營商來建設、管理和運營NB-IoT 網絡,運營商需要從物聯網卡、終端模組、無線網絡、核心網以及平臺等多方面進行端到端的測試和驗證[5],其中NB-IoT 無線網絡信號的覆蓋面以及信號質量的好壞決定了每一個NB-IoT 終端運行時通信的可靠性,因此,在部署這些終端時,對信號質量的測試尤為重要,如果某個地點信號較弱或者無信號覆蓋,則在終端設備沒有問題的前提下,通知運營商的網絡信號優化人員來優化基站參數。
NB-IoT 網絡信號的主要參數指標有SINR、RSRP、RSRQ 以及 RSSI 等。其中,SINR(Signal to Interference plus Noise Ratio,信號與干擾加噪聲比)簡稱信噪比,用來表示接收到的有用信號的能量遷都與干擾信號強度的比值;RSRP(Reference Signal Receiving Power,參考信號接收功率)用來表示接收到的信號的強度,它跟SINR 結合來判斷無線信號強度的關鍵指標。RSRQ(Reference Signal Receiving Quality,參考信號接收質量)和 RSSI(Received Signal Strength Indication,接收信號強度指示)這兩個指標也是無線信號質量判斷的關鍵因素。
NB-IoT 網絡信號的檢測方式目前主要有通過計算機串口連接至有NB-IoT 通信模組的開發板或測試設備,然后在計算機端用串口調試助手發送AT 指令的方式獲取參數值,也可以通過手機USB 串口連接至測試設備,并編寫串口通信軟件來發送指令給測試設備來獲取信號參數值。前者測試信號時不太容易攜帶,后者則必須一根帶數據通信功能的USB 通信線纜才能進行測試,也不是很方便。本文設計了一種基于藍牙透傳模式的NB-IoT 信號檢測系統,手機測試的App軟件利用手機的藍牙功能與信號檢測儀中的藍牙模塊進行通信連接,測試時,App 直接可以通過藍牙通信來實現信號的測試,既便捷又能很好地滿足信號的測試要求。
本系統的總體架構如圖1 所示,Android 測試App軟件通過藍牙通信協議與NB-IoT 信號檢測儀建立通信連接,并發送AT 信號測試指令,NB-IoT 信號檢測儀的藍牙模塊接收AT 指令后,將指令通過透傳模式發送給NB-IoT 通信模組,通信模組與NB-IoT 基站通過CoAP 協議建立通信連接,并由基站返回結果給模組,再有信號檢測儀的藍牙模塊將該結果透傳給Android測試App。App 將收到測試信號的信息通過移動通信網絡上傳至云端服務器進行記錄存儲,并提供聯網的計算機進行Web 應用訪問,查詢相應位置的信號參數情況。

圖1 NB-IoT信號檢測系統網絡架構
采用匯承公司的藍牙4.0(HC-08)或藍牙4.0/2.0(HC-02)模塊,安裝不同的模塊時兼容藍牙4.0 和2.0通訊方式。便于后期App 程序開發。預留連接狀態指示燈及通訊指示燈。如圖2 所示,引腳1、2 分別為發送(TXD)和接收(RXD),分別與 NB-IoT 模組的接收和發送引腳相連,實現數據的透傳。

圖2 藍牙通訊接口電路
NB-IoT 通訊電路及天線設計如圖3 所示,NB-IoT模組采用移遠公司BC95-G 型模組,引腳29、30 為連接藍牙模塊的發送、接收引腳。同時,預留了引腳15為復位按鍵及調試升級接口。引腳38-40 用來連接物聯網SIM 卡槽。

圖3 NB-IoT通訊電路及天線
SIM 卡接口電路設計專用TVS 吸收電路及隔離電路,防止在拔插SIM 時產生干擾及靜電損壞集成電路芯片。

圖4 SIM卡接口電路
在Android 中實現藍牙通信需要打開手機的藍牙權限,其通信流程如圖5 所示,并需要在工程在An?droidManifest.xml 文件中需要設置藍牙訪問的允許權限代碼。

圖5 藍牙通信流程
信號檢測儀上的NB-IoT 模組與藍牙模組之間通過RS-232 串口進行連接,手機端發送的NB-IoT 的AT 指令通過BLE4.0 藍牙協議發送給藍牙模組,藍牙模組則通過RS-232 串口直接將指令發送給NB-IoT模組,其中不改變任何協議,實現透明傳輸。
藍牙連接成功之后,開始搜索服務,當發現服務時,調用回調,表示通信建立成功。隨后對發送數據進行回調使用,驗證是否寫入成功,為讀取數據建立連接,代碼如下:


發送數據后(寫入結果)的回調,用于判斷是否寫入成功,代碼如下:
對藍牙接收數據的處理代碼如下:


在上面硬件連接設計中,藍牙模組與NB-IoT 模組之間主要采用UART 異步串行通信。發送方和接收方隨時都可能發送或接收到數據,在正常開始中就設置接收監聽。數據幀的形式大多是流式數據,傳輸過程中存在隨機間隔甚至沒有間隔等情況,必須添加特定位來進行區分。(特定位指開始位和結束位或固定數據長度)。利用NB-IoT 的AT 指令的固有特性,以回車換行符( )作為停止位,對每一段數據幀進行直接標識,來確定每一段完整的數據的結束。
在異步串行通信中,有可能要多次回調才能得到完整的數據,也有可能一次獲得多個完整的數據幀,在異步串行通信中的流傳輸中,因為多次回調會收到不同的數據,此時需要對其進行拆分和組合,獲得一個完整的數據。在進行AT 指令測試時,接收方接收到數據的同時發送方可以繼續發送AT 指令測試,接收方會邊處理邊返回正常信息,并把完整的信息顯示在界面上。
完成數據透傳過程后,對NB-IoT 模組實現一個完整的數據幀的檢測功能時,直接使用AT 指令進行拆包,對數據包進行區分和組合,從而獲得一個完整的數據幀。
隨著NB-IoT 窄帶物聯網技術在各個垂直行業中的不斷推廣和應用,其網絡信號的質量顯得越來越重要,因為優良的信號質量能夠保證NB-IoT 終端能夠接入到網絡并上報和接收下發數據。NB-IoT 網絡信號檢測系統目的主要是幫助NB-IoT 網絡維護人員、工程師以及用戶來測試NB-IoT 終端所在區域的網絡質量,可靠性、便攜性是信號檢測設備的主要需求,基于藍牙透傳模式的NB-IoT 信號檢測系統不僅簡化了通信方式,對位置的信號參數進行云存儲,記錄已經測試過的位置上的信號質量,方便檢測人員后期查看。NB-IoT信號檢測系統在推動應用部署工作的便捷性的同時,也幫助了運營商進一步完善對于信號測試方面的服務,對于檢測和建設NB-IoT 基站提供更好的技術支持,具有良好的應用價值和市場推廣前景。