□ 鄧廣球 趙小寒
物聯(lián)網(wǎng)技術的發(fā)展為掌握無人值守臺站和重要播出臺站安防情況提供了新的思路。物聯(lián)網(wǎng)應用需要考慮的因素有很多,例如節(jié)點成本、網(wǎng)絡成本、電池壽命、數(shù)據(jù)傳輸速率(吞吐率)、延遲、移動性、網(wǎng)絡覆蓋范圍以及部署類型等。NB-IoT和LoRa兩種技術具有不同的技術和商業(yè)特性,所以在應用場景方面會有不同。NB-IoT可以直接部署于GSM網(wǎng)絡、UMTS網(wǎng)絡、LTE網(wǎng)絡,在同樣的頻段下,是一種基于蜂窩的窄帶物聯(lián)網(wǎng)的新興技術,也被稱為“低功耗廣域網(wǎng)”,相對LoRa采用的是網(wǎng)關通信,NB-IoT無須另配網(wǎng)關,即可實現(xiàn)手機APP端、PC端的管理。從通信費用考慮,LoRa通信無需付費,但是前期部署網(wǎng)關需要費用,適用在節(jié)點密集型地區(qū)使用。NB-IoT在現(xiàn)有的網(wǎng)絡下,流量包年,以很低的費用可以實現(xiàn)數(shù)據(jù)通信,非常適合在數(shù)據(jù)量比較少的零星節(jié)點使用。綜合考慮,本系統(tǒng)選擇采用NB-IoT實現(xiàn)低功耗門磁安防系統(tǒng)。
圖1是安防門磁監(jiān)測系統(tǒng)結構圖,在需要監(jiān)測的臺站門頭內側或者外側安置NB-IoT門磁,臺站門磁通信或狀態(tài)數(shù)據(jù)通過NB-IoT基站上傳至門磁服務器,值班人員或者管理人員可以通過各種終端接入服務器進行數(shù)據(jù)查詢。測試結果表明,該系統(tǒng)實現(xiàn)了傳輸距離遠、覆蓋范圍廣、功耗低以及能夠實時獲取監(jiān)測數(shù)據(jù)的設計目標。
圖1 安防門磁監(jiān)測系統(tǒng)結構圖
本文將從硬件設計以及服務端程序開發(fā)等幾部分來介紹。
本設計采用低功耗系列芯片STM32L031F6P6作為控制芯片,LPM2100作為通信芯片。STM32L031F6P6非常適合電池供電或者供電來自能量收集的低功耗應用場景;LPM2100模塊是上海域格公司開發(fā)的一款多頻段NB-IoT物聯(lián)網(wǎng)無線通信模塊,具有低功耗、高性能、低成本的優(yōu)勢。
本設計采用3.3V電池供電。LPM2100與STM32L031 F6P6采用TTL電平的串口連接,不通信時STM32L031F6P 6進入STOP模式。當STM32L031F6P6被定時器或者外部串口或者外部中斷喚醒時,它根據(jù)設定時間間隔,依次讀取干簧管和防拆開關狀態(tài)。STM32L031F6P6控制LPM2100連接服務器并發(fā)送狀態(tài)數(shù)據(jù),實現(xiàn)數(shù)據(jù)通信。當門磁模塊在睡眠狀態(tài)時,干簧管或者防拆開關中有一個狀態(tài)被改變,則通過中斷喚醒單片機控制LPM2100連接服務器并發(fā)送狀態(tài)數(shù)據(jù),實現(xiàn)數(shù)據(jù)通信。
門磁模塊電路框圖見圖2。
圖2 NB-IoT門磁模塊電路框圖
圖3是門磁模塊程序流程圖,程序設計采用的是KEIL C軟件。系統(tǒng)經(jīng)過RTC和定時器初始化后進入主循環(huán)。如果沒有到定時器喚醒喂狗的時間間隔,單片機進入低功耗模式,低功耗模式設置為RTC、串口和外部中斷3種喚醒模式,RTC喚醒時間間隔為25秒,系統(tǒng)喚醒后重新進行時鐘設置和喂狗,防止程序因為看門狗(IWDG)長時間沒喂而復位。
單片機低功耗的軟件設置方法為:在進入STOP模式前對外設進行設置,未用引腳要設置成模擬輸入狀態(tài),但用于中斷喚醒的引腳不能設置為模擬輸入狀態(tài),串口輸入引腳需要設置為輸入狀態(tài),并且開啟對應的中斷。退出STOP模式后要恢復時鐘、恢復各外設狀態(tài)。外圍電路設計上也要綜合考慮才能使模塊功耗最低。
LPM2100與單片機之間是通過串口收發(fā)AT指令進行數(shù)據(jù)通信,LPM2100與服務器之間通信協(xié)議是LwM2M,屬于應用層協(xié)議,通過UDP方式傳送,協(xié)議數(shù)據(jù)直接采用字符串的形式發(fā)出。LPM2100在通信之前先需要在服務器上注冊,這樣才能使服務器唯一識別設備。發(fā)送時 UDP流程為:(1)測試服務器是否聯(lián)通 ;(2) 創(chuàng) 建 UDP Socket連接;(3)發(fā)送UDP 數(shù)據(jù);(4)關閉UDPSocket連接。
圖3 主控程序流程圖
服務器端前端采用JAVA開發(fā),采用B/S結構,數(shù)據(jù)庫存儲使用MySQL,通信方式使用的是Socket。
服務器端數(shù)據(jù)庫主要包含門磁注冊數(shù)據(jù)表和門狀態(tài)數(shù)據(jù)表。門磁注冊數(shù)據(jù)庫表包含了MAC值、設備類型、設備屬性、創(chuàng)建時間等幾部分。門狀態(tài)數(shù)據(jù)表記錄設備編號、設備類型、門磁狀態(tài)、事件狀態(tài)、目前電壓值、創(chuàng)建時間等幾個字段。
項目歷時1年完成軟硬件的自主開發(fā)和測試,在欽州廣播電視發(fā)射臺半年的實地測試中,所有門磁電池供電正常,系統(tǒng)功耗低,待機電流僅8uA,軟硬件系統(tǒng)運行良好,達到了設計要求。本項目在廣播電視發(fā)射臺站復雜電磁環(huán)境中能正常工作,為廣播電視臺站安防監(jiān)控提供了一種新的思路和方案。