潘俊虹,吳 薇,彭 濤
(1.武夷學院數(shù)學與計算機學院,福建 武夷山 354300;2.蘇州大學計算機科學與技術學院,江蘇 蘇州 215006;3.認知計算與智能信息處理福建省高校重點實驗室,福建 武夷山 354300)
現(xiàn)有的路燈通信模式多為電力載波通信,存在信號衰減快、工頻諧波干擾大、不能跨變壓器通信等缺點[1]。文獻[2-5]等提出使用通用分組無線業(yè)務( General Packet Radio Service,GPRS) 與局部的無線傳感器網絡( Wireless Sensor Network ,WSN) 相結合,路燈終端組網采用 ZigBee 無線網絡的智能路燈系統(tǒng),然而IEEE802.15.4 復雜的路由協(xié)議適用于網絡拓撲結構容易動態(tài)變化的場景,對于路燈相對固定的組網方式并不合適,且ZigBee 協(xié)議開發(fā)難度較大,導致網絡的穩(wěn)定性不高[6]。此外,GPRS 技術由于附著核心時間長、喚醒時間長,導致功耗較高[7]。相比較GPRS 技術而言,窄帶物聯(lián)網( Narrow Band Internet of Things,NB-IoT) 具有海量連接、廣覆蓋、深穿透、低成本和低功耗的優(yōu)勢[8-10],可直接部署于現(xiàn)有的GSM 網絡、LTE 網絡或UMTS 網絡,其建設成本低、網絡升級方便快捷。NB -IoT 平臺開放標準接口也有利于應用靈活快速部署,因此基于NB -IoT 的通信架構更適合用來構建智能路燈通信網絡[11]。
針對無線智能路燈網絡出現(xiàn)的諸多問題,本文提出了一套基于NB -IoT +WSN 的新型智能路燈通信組網方案。該通信架構以面-線-點的控制方式實現(xiàn)城市路燈管理方式的智能化,使得路燈系統(tǒng)可實時智能監(jiān)測和控制路燈工作狀態(tài),改變目前有線路燈網絡建維成本高、靈活性差、能源消耗大的現(xiàn)狀,以低成本、高可靠以及綠色節(jié)能的方式解決傳統(tǒng)城市路燈存在的問題,提升了城市公共照明設施管理水平。該新架構不僅可以應用于常規(guī)路燈,也可以用于新型LED 路燈,同時,還可以為智能交通、環(huán)境監(jiān)測、局部氣象服務等提供基礎信息“高速公路”。
基于NB-IoT +WSN 的智能路燈通信架構如圖1所示,主要由路燈終端節(jié)點無線自組網、主控器網關、NB-IoT 公網、客戶應用服務器和客戶應用終端組成。
路燈終端節(jié)點帶有傳感器和控制模塊,傳感器負責采集路燈的狀態(tài)信息和環(huán)境信息,通過無線發(fā)射模塊發(fā)送給主控器主控器接收查詢和控制命令,并通過控制模塊實現(xiàn)對路燈狀態(tài)的改變。
主控器是整個系統(tǒng)通信的網關樞紐,主要負責路燈終端自組網和NB-IoT 公網之間的無線數(shù)據轉發(fā)。
NB-IoT 公網包含基站和遠程管理服務器,通常是電信運營商或者第三方機構的基礎設施,實現(xiàn)主控器網關和應用服務器之間的雙向數(shù)據透傳。
圖1 基于NB-IoT+WSN 技術的智能路燈通信架構圖
客戶應用服務器( User Application Server,UAS) 是運行在Internet 網絡上的一臺或者多臺計算機,通過接受管理服務器轉發(fā)來的路燈終端數(shù)據信息,并根據路燈管理特定的業(yè)務邏輯對數(shù)據進行分析和處理,為客戶應用終端提供數(shù)據業(yè)務訪問服務,同時將客戶應用終端發(fā)送來的控制命令發(fā)送至路燈終端,實現(xiàn)對路燈的控制和管理。
客戶應用終端是運行人機交互系統(tǒng)的計算機、筆記本電腦、智能手機等設備,通過友好的可視化界面進行人機交互操作??蛻魬梅掌骱涂蛻魬媒K端一起構成了基于NB-IoT 系統(tǒng)的應用終端。
路燈終端單燈控制器主控模塊采用恩智浦公司的MKW01Z128[12]( 以下簡稱KW01) 芯片,其內部集成了超低功耗的Kinetis KL26 MCU 與SX1231 -RF 無線收發(fā)器。KW01 內含的SX1231 -RF 無線發(fā)射空闊區(qū)域最大傳輸距離可達500 米。主控硬件最小系統(tǒng)通過UART、IIC、SPI 等通信接口連接路燈節(jié)點外設。SX1231 - RF無線發(fā)射使用SPI 與主控模塊通信。單燈控制器結構如圖2 所示。
圖2 路燈終端單燈控制器結構圖
一般而言,路燈一旦安裝其位置基本不會改變,拓撲結構也就相對穩(wěn)定,路燈控制多為批量進行,從節(jié)省成本的角度出發(fā),也沒有必要為每一盞路燈配置一個NB-IoT 通信模塊。
根據大多數(shù)路燈并行排列的特點,采用三鏈路由[13]( Three Linked Route,TLR) 協(xié)議對路燈終端進行組網,如圖3 所示。組網方式如下:將公路的每一側路燈設為一級鏈路。一級鏈路按照路燈路數(shù)N 進行編號Xi( i =1,2,3,…,N) 。二級鏈路則根據單燈的有效通信半徑進行設定。假設單燈有效通信半徑為r,燈間距離為d,那么就有Q = [r/d]個單燈構成一個自組網絡,作為二級鏈路通信單位。假設此側路燈總數(shù)為SUM,那么這一側二級鏈路單位即為M =[SUM/Q]+1 個。二級鏈路編號為所在一級鏈+二級鏈編號即[Xi][Yj],( j =1,2,3,…,M) 。三級鏈即為單燈節(jié)點,編號為[Xi][Yj][Zk]( k =1,2,3,...,Q) 。每一條路燈都有一個主控器節(jié)點與其對應,放置在路燈的一端,負責這條路兩側路燈的通信。路燈終端節(jié)點通過主控器接收和轉發(fā)數(shù)據。
圖3 三鏈路組網示意圖
終端節(jié)點根據TLR 協(xié)議進行編址,網絡層主要功能是在收到數(shù)據后,判斷目標地址和網絡號是接收還是轉發(fā),不是自己的數(shù)據就將其轉發(fā),如果是自己的數(shù)據就交給應用層處理,然后從應用層接收處理完畢的數(shù)據并進行封裝,在添加了源地址和目標網絡地址后將數(shù)據通過無線射頻收發(fā)模塊發(fā)送出去。
在以無線方式組網的路燈終端運行過程中,經常會遇到各種環(huán)境干擾因素,引起通信鏈路質量不穩(wěn)定以及路燈節(jié)點之間互相干擾碰撞等問題,導致丟包等情況出現(xiàn),影響路燈終端和主控協(xié)調器網關之間的通信質量,因此需進一步采取措施對網絡通信進行優(yōu)化:
(1) 使用硬件地址過濾非本網關數(shù)據包。當同一地區(qū)存在其他不同功能的網關及KW01 通信節(jié)點時,通過硬件地址來區(qū)分不同系統(tǒng)。當主協(xié)調器網關接收到一個數(shù)據包時,先判斷其硬件地址是否與本網關相匹配,是則接收,否則丟棄數(shù)據包,這樣就可屏蔽不同通信系統(tǒng)之間的通信干擾。
(2) 添加無線通信看門狗功能。每個路燈終端節(jié)點每分鐘都需與所在網段主協(xié)調器網關進行數(shù)據包交換,如果節(jié)點長時間接收不到網關數(shù)據包,那么就主動使路燈終端節(jié)點復位。
(3) 優(yōu)化節(jié)點輪詢方式。輪詢周期內先輪詢一遍所有節(jié)點,標記所有未回復節(jié)點,再次輪詢,直到所有節(jié)點都應答為止。
路燈終端節(jié)點采用三鏈路由協(xié)議進行組網有以下幾個優(yōu)點:
(1) 算法實現(xiàn)難度低。由于每個路燈節(jié)點都有與MAC 對應的固定地址,網絡拓撲結構相對比較穩(wěn)定,且無需路由表存儲網絡信息,也不必計算網絡路由的最短路徑,路由算法簡單,因此實現(xiàn)算法的編碼和測試也相對較容易。
(2) 網絡健壯性好。在網絡通信過程中某個路燈出現(xiàn)故障時,相鄰節(jié)點在發(fā)送信息幾次都得不到回復的時候,便自動繞開當前路燈節(jié)點,重新確定下一跳鏈接,保證數(shù)據能傳送到主控器網關節(jié)點。
(3) 可維護性強。一旦有路燈終端節(jié)點工作不正常,網絡可根據路燈節(jié)點編號迅速確定故障節(jié)點位置。而且在整個網絡中,每個路燈節(jié)點功能都相同,如需更換路燈,那么只需將更換的新路燈的地址設為故障路燈節(jié)點的地址即可,其他均不需做任何改動。
(4) 網絡負載均衡。三鏈路路由算法按照路燈物理結構均勻地組織網絡,形成多層次、均衡的網絡結構,使得任一網絡單位都只在固定的跳數(shù)和路徑內傳輸信息,不會出現(xiàn)擁堵的情況。
路燈終端通過主控器與遠程服務器進行通信。主控器與遠程管理服務器之間采用NB -IoT 窄帶物聯(lián)網通信協(xié)議進行連接。主控器由3 個相互獨立的模塊組成,如圖4 所示。主控模塊采用與終端MCU 同系列、基于ARM? CortexTM-M0 +處理器的超低功耗的KL36微控制器; 通信模塊采用與路燈終端相同的KW01 芯片;NB-IoT 無線通信模塊采用上海移遠生產的高性能、低功耗的LTE BC95 -B5 模組。
圖4 主控器結構
主控MCU 與KW01 無線收模塊以及NB -IoT 通信模組采用UART 串口進行通信,路燈終端通過LTE BC95 -B5 NB-IoT 通信模組與NB -IoT 公網進行數(shù)據交換。主控器網關將數(shù)據分析并重新封裝以后,通過NB-IoT 網絡發(fā)送給遠程Internet 管理服務器,同時也接收來自遠程服務器的查詢和控制指令。
主控器網關與路燈終端之間的數(shù)據收發(fā)同樣采用KW01 模塊,其數(shù)據收發(fā)過程類似于路燈終端單燈控制器軟件的設計思想。主控模塊通過UART 串口與兩個無線收發(fā)模塊進行通信。主控器網關通過LTE BC95 -B5 通信模組實現(xiàn)與遠程NB - IoT 公網的通信。MCU 利用串口向NB -IoT 通信模組發(fā)送一系列的AT 指令,根據通信模組的返回結果來進行相應的結果判斷。
主控網關通信邏輯封裝在TEcom 通信構件中,在TEcom 通信構件中實現(xiàn)網關與NB -IoT 公網的通信,構件使用需要連接的遠程公網的IP 地址和端口號初始化通信模組,通信模組連接基站時,可獲得連接的基站號、信號強度、信噪比以及基站分配的IP 地址等。通信模塊成功附著核心網后,主循環(huán)開始,每間隔一定時間,利用CoAP 協(xié)議或UDP 協(xié)議發(fā)送數(shù)據。TEcom 通信構件利用串口接收中斷來接收數(shù)據,將數(shù)據存入comData 數(shù)據結構體中備用。為了保持主控器與遠程NB -IoT 公網的鏈接,主控器需在一定時間間隔內發(fā)送心跳包來保證自己和NB-IoT 公網之間的鏈接狀態(tài)。TEcom 通信構件工作流程如圖5 所示。
圖5 主控器與NB-IoT 公網通信流程圖
路燈終端要和路燈客戶應用端通信必須借助有固定IP 地址的中間設備來交換數(shù)據。課題組向第三方申請了一個具有固定IP 地址的Internet 服務器( 付費服務,實際應用中也可接入第三方提供的物聯(lián)網平臺) 作為NB-IoT 公網的管理服務器來運行轉發(fā)程序。
管理服務器根據不同的端口號,來判斷數(shù)據來自路燈終端還是客戶應用服務器。路燈終端向管理服務器發(fā)送的每一幀數(shù)據都帶有自己的IMSI 號,NB-IoT 公網管理服務器根據此IMSI 號來確定數(shù)據來自哪個終端設備??蛻魬梅掌靼l(fā)給管理服務器的每一幀數(shù)據中也都帶有IMSI 號,這樣管理服務器就知道客戶應用服務器是要與哪個路燈終端通信。每當路燈終端和客戶應用服務器向管理服務器程序發(fā)送一幀數(shù)據時,管理服務器程序都會更新地址來映射表中相應的IMSI 號,并向對應的連接轉發(fā)數(shù)據。
//TE 與UAS 地址映射
private class Mapping
{
public string IMSI; //路燈終端IMSI 號
public Socket TESocket; //與TE 的連接
public Socket UASSocket; //與UAS 的連接
}
客戶應用服務器與管理服務器建立連接,并將要監(jiān)聽的IMSI 號發(fā)送給管理服務器進行注冊,以完成應用終端人機交互系統(tǒng)與路燈終端的匹配。用戶將對終端的操作信息保存在數(shù)據庫中,客戶端程序掃描數(shù)據庫,取出操作命令,并將其按照通信協(xié)議封裝成幀后發(fā)送給路燈終端,路燈終端接收到上層命令,對數(shù)據幀進行解析,之后執(zhí)行相應的操作。同時客戶端程序也會收到路燈終端發(fā)送的數(shù)據,將其解析后存放在數(shù)據庫中供客戶端程序處理使用。為保持數(shù)據傳送的安全性,在通信層收發(fā)數(shù)據過程中,需對數(shù)據進行加密處理后再收發(fā)。
客戶應用服務器與具有固定IP 的NB -IoT 公網管理服務器建采用Socket 建立傳送數(shù)據的鏈路??蛻魬梅掌魍ㄐ艑拥腟ocket 通過指定的IP 和Port 與NB-IoT 公網管理服務器進行綁定來建立鏈接。應用服務器在一定時間間隔內發(fā)送心跳包,保持與NB -IoT 公網管理服務器之間的鏈接狀態(tài)。
路燈客戶應用服務器和NB -IoT 公網之間建立數(shù)據傳送的通信鏈路后,兩者之間即可進行數(shù)據通信。當鏈路建立成功后,若頻繁傳送數(shù)據,則通信鏈路會一直保持鏈接狀態(tài)。如果客戶服務器在規(guī)定時間內沒有發(fā)送心跳包,則該通信鏈路將被自動拆除。另外當客戶應用服務器端關閉程序或取消監(jiān)聽后,也會主動拆除鏈路??蛻魬梅掌鱾陕牫绦蚬δ芊庋b在UAS 通信構件中,其流程如圖6 所示。
圖6 通信鏈路建立/拆除流程
根據前文所述思想開發(fā)了一個智能路燈通信測試系統(tǒng),并在實驗室模擬路燈環(huán)境對其進行了測試,運行至今已有數(shù)個月,結果表明,只要NB-IoT 基站信號強度達到30%以上,系統(tǒng)即能正常進行數(shù)據的收發(fā)。信號強度保持60%以上時,服務器可在5 秒以內接收到終端數(shù)據。應用服務器偵聽程序運行結果如圖7所示。
圖7 基于NB-IoT+WSN 技術的智能路燈通路測試
本文結合智能路燈網絡拓撲結構和無線通信的特點,提出了基于NB-IoT 結合三鏈路終端組網協(xié)議的智能路燈系統(tǒng)通信框架,給出了框架中各層軟、硬件設計的基本要點。實驗測試表明該框架在信號穩(wěn)定的環(huán)境下通信順暢,運行良好,能較好地滿足無線智能路燈的通信需求。由于NB - IoT 技術廣覆蓋、深穿透、低成本和低功耗的特點,基于該技術的通信框架就能夠實現(xiàn)智能路燈的低成本建設、高可靠運行以及綠色節(jié)能的目的。該通信框架雖然是針對智能路燈設計的,但其基于NB - IoT 的通信架構具有遠程無線通信系統(tǒng)的一般通用性,因此若將路燈終端作為環(huán)境信息采集終端,并結合WEBGIS 等地理信息系統(tǒng),則該通信框架就可以為環(huán)境及局部氣象監(jiān)測、智能交通等提供信息傳送通路,這就能大大提高通信設施的利用率,降低市政公共設施的建設和維護成本。