徐 輝,熊書明,劉思純
(江蘇大學計算機科學與通信工程學院,江蘇 鎮(zhèn)江 212013)
隨著信息技術的不斷發(fā)展,構建智慧城市逐漸成為現(xiàn)代化城市建設的重要目標,而網(wǎng)絡化智慧消防系統(tǒng)研究與應用,有助于智慧城市進一步發(fā)展。物聯(lián)網(wǎng)(Internet of Things,IoT)可實現(xiàn)萬物互聯(lián),將物理世界中的對象通過Internet連成一個復雜系統(tǒng),并使其具有接收數(shù)據(jù)和發(fā)送數(shù)據(jù)的能力[1],其在城市智慧消防管理中的應用能夠使得城市管理更加精細化、動態(tài)化、信息化和智能化。作為物聯(lián)網(wǎng)通信技術快速發(fā)展的一個重要方面,窄帶物聯(lián)網(wǎng)(Narrow Band-IoT,NB-IoT)的研究和應用得到越來越多的關注[2-3]。
第三代合作伙伴計劃 (3rd Generation Partnership Project,3GPP)在Rel-13中引入了一種專門用于海量機器類通信的全新無線接口——NB-IoT,該接口在許可的蜂窩頻譜上工作,并且與長期演進技術/長期演進技術升級版(Long Term Evolution/Long Term Evolution-Advanced,LTE/LTEA)系統(tǒng)兼容[4],同時,具有深度室內(nèi)穿透性能,非常適合室內(nèi)應用。
本研究利用NB-IoT的重復傳輸機制、透明傳輸技術,開發(fā)高可靠智慧消防管理系統(tǒng),在信噪比較低的接收環(huán)境下,通過增加重傳次數(shù)來大幅降低誤碼率,從而提高數(shù)據(jù)傳輸?shù)目煽啃浴?/p>
本文設計的基于NB-IoT的高可靠智慧消防系統(tǒng)的網(wǎng)絡架構包含NB-IoT網(wǎng)絡、物聯(lián)網(wǎng)云、終端應用3個部分,見圖1。
圖1 基于NB-IoT的網(wǎng)絡架構
1)NB-IoT網(wǎng)絡部分。負責上傳原始消防數(shù)據(jù)信息應用于遠程服務,并保證用戶命令在硬件層的順利執(zhí)行。詳細工作流程如下:在數(shù)據(jù)上傳階段,STM32微處理器將監(jiān)測對象中傳感器感知的溫度、煙霧濃度等實時數(shù)據(jù)進行處理,并通過Serial串行口發(fā)送到NB-IoT模塊,NB-IoT模塊將數(shù)據(jù)打包為預先通過AT指令配置的受限應用協(xié)議(Constrained Application Protocol,CoAP)數(shù)據(jù)報發(fā)送到本地服務器,本地服務器解析后,經(jīng)過初步處理分析打包為消息隊列遙測傳輸協(xié)議 (Message Queuing Telemetry Transport,MQTT)協(xié)議報文,發(fā)送云端;在命令執(zhí)行階段,本地服務器接收由云端轉(zhuǎn)發(fā)的命令信息,分析處理后,打包成CoAP報文交到設備的NB-IoT模塊,NB-IoT模塊通過預設的格式解析報文,并將命令交給STM32執(zhí)行(如驅(qū)動蜂鳴器報警)。
2)物聯(lián)網(wǎng)云部分。負責遠程應用接入。詳細工作流程如下:應用下發(fā)命令時,通過預先設定的規(guī)則引擎將命令轉(zhuǎn)發(fā)到NB-IoT網(wǎng)絡,同理,命令執(zhí)行完畢返回數(shù)據(jù)時,數(shù)據(jù)由云端通過規(guī)則引擎返回應用服務器。
3)終端應用部分。提供用戶遠程操作消防系統(tǒng)硬件的平臺。用戶可通過超文本傳輸協(xié)議(Hyper Text Transfer Protocol,HTTP)訪問消防預警遠程控制服務,進行硬件控制以及實時數(shù)據(jù)可視化分析與展示。
基于NB-IoT的高可靠智慧消防系統(tǒng)的功能模塊采用分層體系結構,包括硬件層、網(wǎng)絡層和應用層,見圖2。
圖2 功能模塊
1)硬件層。由感知模塊、預警模塊和滅火模塊組成。當火災發(fā)生時,溫度的變化是其最顯著特征之一,溫度升高的同時伴隨著濃煙產(chǎn)生,故選用溫度傳感器和煙霧濃度傳感器作為系統(tǒng)感知模塊。預警模塊和滅火模塊則分別選擇了蜂鳴器和花灑。
2)網(wǎng)絡層。由NB-IoT模塊、云平臺與各服務器組成。構建了硬件層與應用層之間的數(shù)據(jù)通道,從而保證系統(tǒng)可靠的數(shù)據(jù)傳輸。
3)應用層。由火情查看、設備詳情等模塊組成。提供了可供用戶便捷操作的界面,滿足用戶實時觀測火情的需求,并提供了控制消防設備功能,便于設備管理。
系統(tǒng)的NB-IoT模塊選用M6710,其在NB-IoT網(wǎng)絡模式下,下行數(shù)據(jù)傳輸速率可達125 kb/s,上行速率可達150 kb/s,并內(nèi)置了傳輸控制協(xié)議/網(wǎng)際協(xié)議(Transmission Control Protocol/Internet Protocol,TCP/IP)、用戶數(shù)據(jù)包協(xié)議(User Datagram Protocol,UDP)、MQTT、輕量級機器對機器 (Lightweight Machine to Machine,LwM2M)和CoAP等工作協(xié)議,可便捷連接到運營商及主流云平臺。其中,CoAP是一種固定的收發(fā)器機制,并且易于操作,通過配置相關的服務器地址和端口號即可創(chuàng)建UDP套接字,實現(xiàn)設備與服務器之間的透明傳輸。為了使系統(tǒng)簡單、可靠和便捷,選擇了CoAP模式作為M6710的工作模式。
為證明NB-IoT技術的數(shù)據(jù)傳輸可靠性,研究采取了仿真實驗策略,選擇NS3作為仿真驗證平臺,其LTE模塊經(jīng)過充分測試,被證明可以作為開發(fā)NB-IoT模塊的基礎,并支持長期演進技術-授權頻段的協(xié)助接入 (Long Term Evolution-Licensed Assisted Access,LTE-LAA)的擴展[5],而LTELAA的NS3擴展可通過適當?shù)卣{(diào)整NS3中LTE參數(shù)來進行NB-IoT網(wǎng)絡分析,有助于評估NB-IoT的可靠性。
網(wǎng)絡仿真過程中,在固定的區(qū)域內(nèi),隨機放置250臺NB-IoT設備(圖3中懸浮的深色圓點設備),并按照標準定義在單個物理資源塊(Physical Resource Block,PRB)上設置23 dBm的功率。假定NB-IoT設備是固定的,并向與其連接的NB基站(圖3中與2個淺色圓點設備相連接的深色圓點設備)發(fā)送固定大小的數(shù)據(jù)包,包長為20 B;在處于由多個NB基站覆蓋的情況下,NB-IoT設備始終連接到最近的接入節(jié)點。每個NB基站放置3個定向天線并以43 dBm的功率進行傳輸,同時模擬了本地服務器(圖3中與深色圓點設備相連接的2個淺色圓點設備)和云端,用于實際測試與評估,網(wǎng)絡仿真結果見圖3。
圖3 NB-IoT網(wǎng)絡仿真結果
用于網(wǎng)絡仿真分析的參數(shù)設置如下:用戶設備數(shù)量為250臺;用戶設備發(fā)射功率為23 dBm;NB基站發(fā)射功率為43 dBm;NB基站數(shù)量為20個;NB基站的LTE帶寬為832~864 MHz;發(fā)射模式為SISO;包長為20 B;重復次數(shù)為32次。
系統(tǒng)基于物聯(lián)網(wǎng)云設計了消防預警遠程控制應用,主要功能包括火災預警和防火設備情況查看。
功能詳細實現(xiàn)過程如下。以5 s為周期定期喚醒微處理器以進行火災狀態(tài)查詢,判斷當前地區(qū)是否出現(xiàn)火災。若判斷出現(xiàn)火災,觸發(fā)火災預警程序。微處理器獲取各火災特征參量感知設備數(shù)據(jù),并激活NB-IoT模塊以將各參量發(fā)送至應用服務器,由應用服務器判斷各參量是否超過規(guī)定閾值。若超過閾值,激活電機,打開蜂鳴器和花灑;若未超過閾值,則立即跳出當前中斷子程序。如果有其他中斷子程序,則進入執(zhí)行;否則,進入休眠,等待下一次被喚醒。火災預警功能的偽代碼如下。
Begin
休眠5 s;
激活微處理器以獲取各火災特征參量;
激活NB模塊,由NB模塊將數(shù)據(jù)發(fā)送到本地服務器;
通過云端將數(shù)據(jù)轉(zhuǎn)發(fā)給應用服務器;
If(火災特征參量超過閾值) {
下發(fā)打開蜂鳴器和花灑的命令;
}else{
下發(fā)關閉蜂鳴器和花灑的命令;
}
云端將命令轉(zhuǎn)發(fā)給本地服務器;
本地服務器處理后發(fā)送到設備NB模塊;
微處理器通過串行口接受數(shù)據(jù);
If(打開){
打開蜂鳴器和花灑;
}else{
關閉蜂鳴器和花灑;
}
End
功能詳細實現(xiàn)過程如下。防火設備情況查看程序通過外部中斷按鈕啟動。當用戶進入或刷新應用的火情查看或設備詳情模塊時,都會向服務器發(fā)送防火設備情況查看指令,服務器接收到指令后通過MQTT協(xié)議將其發(fā)送到云端,由云端轉(zhuǎn)發(fā)至本地服務器,最后由NB-IoT模塊接收指令信息,解析后發(fā)送到微處理器串行口,由微處理器獲取各防火設備情況信息;若獲取不到,代表該設備出現(xiàn)了問題,返回為null。獲取完畢后,通過NB-IoT模塊將信息返回,由應用服務器處理后顯示用戶界面。防火設備情況查看功能的偽代碼如下。
Begin
用戶進入或刷新火情查看或設備詳情模塊;
應用服務器接收到設備情況查看指令,并將其打包發(fā)送到云端;
云端將指令發(fā)送給本地服務器;
本地服務器發(fā)送到設備NB模塊;
微處理器收集設備信息;
If(可以收集到) {
通過NB模塊將信息返回應用服務器;
}else{
通過NB模塊返回null給應用服務器;
}
應用服務器將信息處理后顯示到應用界面;
End
為測試NB-IoT技術的數(shù)據(jù)傳輸可靠性,基于圖3的網(wǎng)絡結構和網(wǎng)絡仿真結果,定義了NB-IoT仿真網(wǎng)絡數(shù)據(jù)傳輸接收率為整個網(wǎng)絡發(fā)送包數(shù)量與接收包數(shù)量之比,即
隨機選擇區(qū)域中10個NB-IoT設備,令其發(fā)送50次數(shù)據(jù)(每次發(fā)送1個包),在本地服務器記錄BR。網(wǎng)絡仿真過程中共進行了5次實驗,NB-IoT模塊可靠性測試結果見表1。BR分別為498,500,498,496,499,ρ的平均值為99.64%。以上結果表明,實際效果與預期一致,系統(tǒng)的NB-IoT通信模塊具有高連接可靠性。
表1 NB-IoT模塊可靠性測試結果
遠程訪問模塊包括4個一級目錄,分別為消防監(jiān)測、消防控制、系統(tǒng)管理和消防日志。消防監(jiān)測目錄下存在2個二級目錄,分別為火情查看和設備詳情。用戶可通過火情查看界面查看監(jiān)測地區(qū)的火情(如室內(nèi)溫度、室內(nèi)煙霧濃度),當發(fā)生火情(即數(shù)據(jù)超過閾值)時,可通過火情查看界面左下方的消防負責人聯(lián)系方式模塊及時通知消防人員;火情查看界面右下方為節(jié)點故障功能統(tǒng)計模塊,當達到一定節(jié)點數(shù)量之后,管理人員可通知維修人員進行檢修?;鹎椴榭唇缑娴挠脩舨糠挚梢暬僮饕妶D4。
圖4 火情查看界面的用戶可視化操作
本研究提出了一種基于NB-IoT的高可靠智慧消防系統(tǒng)設計方案。該系統(tǒng)通過感知設備檢測火災情況,應用NB-IoT通信技術、CoAP和MQTT協(xié)議等,實現(xiàn)了用戶對火情和設備情況的實時監(jiān)測。
同時,通過比較火災特征參量數(shù)值與規(guī)定值,進行火災預警,達到了預期功能。隨著智慧消防系統(tǒng)的研究和應用,能夠使得越來越少的人遭受火災傷害。