譚方勇,瞿偉,劉子寧,王昂
(蘇州市職業(yè)大學(xué)計算機(jī)工程學(xué)院,蘇州 215104)
NB-IoT(Narrow Band Internet of Things,窄帶物聯(lián)網(wǎng))是當(dāng)前物聯(lián)網(wǎng)技術(shù)中的一種基于蜂窩網(wǎng)絡(luò)的低功耗廣域網(wǎng)技術(shù),它具有低功耗、低速率、廣覆蓋、大連接等主要特點,2016 年,3GPP 發(fā)布了 NB-IoT 的物理層協(xié)議標(biāo)準(zhǔn),也標(biāo)志著NB-IoT 正式走向市場[1]。因此,NB-IoT 技術(shù)在很多垂直行業(yè)都有著廣泛的應(yīng)用需求,特別是在大型的社會公共事業(yè)領(lǐng)域,如城市道路的智慧停車管理[2]、智慧路燈管理[3]、智能燃?xì)獗磉h(yuǎn)程抄表[4]等應(yīng)用。在這些行業(yè)應(yīng)用中,基于NB-IoT 的終端設(shè)備需要通過NB-IoT 網(wǎng)絡(luò)來傳輸?shù)竭\營商的IoT 聯(lián)接管理平臺,這就需要有信號可靠的NB-IoT 網(wǎng)絡(luò)來支撐,從而保證終端能夠正常接入網(wǎng)絡(luò)并上報或接收下發(fā)數(shù)據(jù)。
目前,我國主要由三大運營商來建設(shè)、管理和運營NB-IoT 網(wǎng)絡(luò),運營商需要從物聯(lián)網(wǎng)卡、終端模組、無線網(wǎng)絡(luò)、核心網(wǎng)以及平臺等多方面進(jìn)行端到端的測試和驗證[5],其中NB-IoT 無線網(wǎng)絡(luò)信號的覆蓋面以及信號質(zhì)量的好壞決定了每一個NB-IoT 終端運行時通信的可靠性,因此,在部署這些終端時,對信號質(zhì)量的測試尤為重要,如果某個地點信號較弱或者無信號覆蓋,則在終端設(shè)備沒有問題的前提下,通知運營商的網(wǎng)絡(luò)信號優(yōu)化人員來優(yōu)化基站參數(shù)。
NB-IoT 網(wǎng)絡(luò)信號的主要參數(shù)指標(biāo)有SINR、RSRP、RSRQ 以及 RSSI 等。其中,SINR(Signal to Interference plus Noise Ratio,信號與干擾加噪聲比)簡稱信噪比,用來表示接收到的有用信號的能量遷都與干擾信號強(qiáng)度的比值;RSRP(Reference Signal Receiving Power,參考信號接收功率)用來表示接收到的信號的強(qiáng)度,它跟SINR 結(jié)合來判斷無線信號強(qiáng)度的關(guān)鍵指標(biāo)。RSRQ(Reference Signal Receiving Quality,參考信號接收質(zhì)量)和 RSSI(Received Signal Strength Indication,接收信號強(qiáng)度指示)這兩個指標(biāo)也是無線信號質(zhì)量判斷的關(guān)鍵因素。
NB-IoT 網(wǎng)絡(luò)信號的檢測方式目前主要有通過計算機(jī)串口連接至有NB-IoT 通信模組的開發(fā)板或測試設(shè)備,然后在計算機(jī)端用串口調(diào)試助手發(fā)送AT 指令的方式獲取參數(shù)值,也可以通過手機(jī)USB 串口連接至測試設(shè)備,并編寫串口通信軟件來發(fā)送指令給測試設(shè)備來獲取信號參數(shù)值。前者測試信號時不太容易攜帶,后者則必須一根帶數(shù)據(jù)通信功能的USB 通信線纜才能進(jìn)行測試,也不是很方便。本文設(shè)計了一種基于藍(lán)牙透傳模式的NB-IoT 信號檢測系統(tǒng),手機(jī)測試的App軟件利用手機(jī)的藍(lán)牙功能與信號檢測儀中的藍(lán)牙模塊進(jìn)行通信連接,測試時,App 直接可以通過藍(lán)牙通信來實現(xiàn)信號的測試,既便捷又能很好地滿足信號的測試要求。
本系統(tǒng)的總體架構(gòu)如圖1 所示,Android 測試App軟件通過藍(lán)牙通信協(xié)議與NB-IoT 信號檢測儀建立通信連接,并發(fā)送AT 信號測試指令,NB-IoT 信號檢測儀的藍(lán)牙模塊接收AT 指令后,將指令通過透傳模式發(fā)送給NB-IoT 通信模組,通信模組與NB-IoT 基站通過CoAP 協(xié)議建立通信連接,并由基站返回結(jié)果給模組,再有信號檢測儀的藍(lán)牙模塊將該結(jié)果透傳給Android測試App。App 將收到測試信號的信息通過移動通信網(wǎng)絡(luò)上傳至云端服務(wù)器進(jìn)行記錄存儲,并提供聯(lián)網(wǎng)的計算機(jī)進(jìn)行Web 應(yīng)用訪問,查詢相應(yīng)位置的信號參數(shù)情況。
圖1 NB-IoT信號檢測系統(tǒng)網(wǎng)絡(luò)架構(gòu)
采用匯承公司的藍(lán)牙4.0(HC-08)或藍(lán)牙4.0/2.0(HC-02)模塊,安裝不同的模塊時兼容藍(lán)牙4.0 和2.0通訊方式。便于后期App 程序開發(fā)。預(yù)留連接狀態(tài)指示燈及通訊指示燈。如圖2 所示,引腳1、2 分別為發(fā)送(TXD)和接收(RXD),分別與 NB-IoT 模組的接收和發(fā)送引腳相連,實現(xiàn)數(shù)據(jù)的透傳。
圖2 藍(lán)牙通訊接口電路
NB-IoT 通訊電路及天線設(shè)計如圖3 所示,NB-IoT模組采用移遠(yuǎn)公司BC95-G 型模組,引腳29、30 為連接藍(lán)牙模塊的發(fā)送、接收引腳。同時,預(yù)留了引腳15為復(fù)位按鍵及調(diào)試升級接口。引腳38-40 用來連接物聯(lián)網(wǎng)SIM 卡槽。
圖3 NB-IoT通訊電路及天線
SIM 卡接口電路設(shè)計專用TVS 吸收電路及隔離電路,防止在拔插SIM 時產(chǎn)生干擾及靜電損壞集成電路芯片。
圖4 SIM卡接口電路
在Android 中實現(xiàn)藍(lán)牙通信需要打開手機(jī)的藍(lán)牙權(quán)限,其通信流程如圖5 所示,并需要在工程在An?droidManifest.xml 文件中需要設(shè)置藍(lán)牙訪問的允許權(quán)限代碼。
圖5 藍(lán)牙通信流程
信號檢測儀上的NB-IoT 模組與藍(lán)牙模組之間通過RS-232 串口進(jìn)行連接,手機(jī)端發(fā)送的NB-IoT 的AT 指令通過BLE4.0 藍(lán)牙協(xié)議發(fā)送給藍(lán)牙模組,藍(lán)牙模組則通過RS-232 串口直接將指令發(fā)送給NB-IoT模組,其中不改變?nèi)魏螀f(xié)議,實現(xiàn)透明傳輸。
藍(lán)牙連接成功之后,開始搜索服務(wù),當(dāng)發(fā)現(xiàn)服務(wù)時,調(diào)用回調(diào),表示通信建立成功。隨后對發(fā)送數(shù)據(jù)進(jìn)行回調(diào)使用,驗證是否寫入成功,為讀取數(shù)據(jù)建立連接,代碼如下:
發(fā)送數(shù)據(jù)后(寫入結(jié)果)的回調(diào),用于判斷是否寫入成功,代碼如下:
對藍(lán)牙接收數(shù)據(jù)的處理代碼如下:
在上面硬件連接設(shè)計中,藍(lán)牙模組與NB-IoT 模組之間主要采用UART 異步串行通信。發(fā)送方和接收方隨時都可能發(fā)送或接收到數(shù)據(jù),在正常開始中就設(shè)置接收監(jiān)聽。數(shù)據(jù)幀的形式大多是流式數(shù)據(jù),傳輸過程中存在隨機(jī)間隔甚至沒有間隔等情況,必須添加特定位來進(jìn)行區(qū)分。(特定位指開始位和結(jié)束位或固定數(shù)據(jù)長度)。利用NB-IoT 的AT 指令的固有特性,以回車換行符( )作為停止位,對每一段數(shù)據(jù)幀進(jìn)行直接標(biāo)識,來確定每一段完整的數(shù)據(jù)的結(jié)束。
在異步串行通信中,有可能要多次回調(diào)才能得到完整的數(shù)據(jù),也有可能一次獲得多個完整的數(shù)據(jù)幀,在異步串行通信中的流傳輸中,因為多次回調(diào)會收到不同的數(shù)據(jù),此時需要對其進(jìn)行拆分和組合,獲得一個完整的數(shù)據(jù)。在進(jìn)行AT 指令測試時,接收方接收到數(shù)據(jù)的同時發(fā)送方可以繼續(xù)發(fā)送AT 指令測試,接收方會邊處理邊返回正常信息,并把完整的信息顯示在界面上。
完成數(shù)據(jù)透傳過程后,對NB-IoT 模組實現(xiàn)一個完整的數(shù)據(jù)幀的檢測功能時,直接使用AT 指令進(jìn)行拆包,對數(shù)據(jù)包進(jìn)行區(qū)分和組合,從而獲得一個完整的數(shù)據(jù)幀。
隨著NB-IoT 窄帶物聯(lián)網(wǎng)技術(shù)在各個垂直行業(yè)中的不斷推廣和應(yīng)用,其網(wǎng)絡(luò)信號的質(zhì)量顯得越來越重要,因為優(yōu)良的信號質(zhì)量能夠保證NB-IoT 終端能夠接入到網(wǎng)絡(luò)并上報和接收下發(fā)數(shù)據(jù)。NB-IoT 網(wǎng)絡(luò)信號檢測系統(tǒng)目的主要是幫助NB-IoT 網(wǎng)絡(luò)維護(hù)人員、工程師以及用戶來測試NB-IoT 終端所在區(qū)域的網(wǎng)絡(luò)質(zhì)量,可靠性、便攜性是信號檢測設(shè)備的主要需求,基于藍(lán)牙透傳模式的NB-IoT 信號檢測系統(tǒng)不僅簡化了通信方式,對位置的信號參數(shù)進(jìn)行云存儲,記錄已經(jīng)測試過的位置上的信號質(zhì)量,方便檢測人員后期查看。NB-IoT信號檢測系統(tǒng)在推動應(yīng)用部署工作的便捷性的同時,也幫助了運營商進(jìn)一步完善對于信號測試方面的服務(wù),對于檢測和建設(shè)NB-IoT 基站提供更好的技術(shù)支持,具有良好的應(yīng)用價值和市場推廣前景。