李澥,方子昂,陳弘諾,陳文榮,于尚智
(廣州大學(xué)華軟軟件學(xué)院,廣東廣州 510990)
目前,我國城市井蓋數(shù)量龐大,如何對其進行實時安全監(jiān)控已成為管理部門的一道難題。為了更好地保障公共設(shè)施安全,迫切需要采用新技術(shù)、新模式來加強針對井蓋的安全管理[1]。井蓋監(jiān)控管理系統(tǒng)需要解決3 個主要問題:1)通信問題;2)功耗高問題;3)后期維護成本高問題。
在通信模塊方面,現(xiàn)有的智能井蓋系統(tǒng)大部分是基于NB-IoT 技術(shù)的設(shè)計。NB-IoT 技術(shù)的低功耗、低成本、廣覆蓋以及支持超大連接等優(yōu)點,對傳統(tǒng)的物聯(lián)網(wǎng)通信模式有極大的提升和優(yōu)化,得到業(yè)內(nèi)的廣泛支持,已成為當(dāng)前物聯(lián)網(wǎng)的主流技術(shù)[2-3]。
在微控制器方面,現(xiàn)有的智能井蓋系統(tǒng)多采用STM32F1 或STM32L1 系列,尚未考慮系統(tǒng)供電問題和電池年自放電率問題[4-5]。這類微控制器和STM8L051 相比,其功耗與成本都相對較高。其中STM32F1C8 的運行模式功耗達到STM8L051F3 的2.07 倍,STM32L152R8 的成本更是達到STM8L051F3的4.34 倍。
針對以上問題進行探討,設(shè)計了一套低成本、低功耗和易維護的智能井蓋系統(tǒng)。
以往的井蓋管理系統(tǒng)有著不少亟待解決的問題。例如,不能及時處理井蓋故障,無法確定井蓋具體位置信息,設(shè)備壽命短和維護困難等。智能井蓋系統(tǒng)重點需要解決以下問題:
1)系統(tǒng)響應(yīng)時間。當(dāng)井蓋出現(xiàn)異常情況時,通信模塊能夠及時將數(shù)據(jù)上報至服務(wù)端,系統(tǒng)自動確認(rèn)警情后,服務(wù)端可立即發(fā)送消息給離案發(fā)地最近的維護人員;
2)系統(tǒng)可靠性。系統(tǒng)井蓋配置電源的使用時間一般為3~5 年。當(dāng)井蓋配置電源的電量不足時,系統(tǒng)可及時通知維護人員進行更換,減輕維護工作人員的工作量;另外,撬井檢測功能可區(qū)分是否為維護人員正常操作,避免異常信息誤報。
文中所設(shè)計的智能井蓋管理系統(tǒng)分為設(shè)備層、云端層和用戶層,其系統(tǒng)拓?fù)鋱D如圖1 所示。其中,設(shè)備層主要負(fù)責(zé)傳感器數(shù)據(jù)的采集和傳輸;云端層負(fù)責(zé)對數(shù)據(jù)信息進行接收、分析、整理、存儲和分發(fā);用戶層將現(xiàn)場信息呈現(xiàn)在網(wǎng)頁端,輔助現(xiàn)場管理人員開展工作,及時發(fā)送相應(yīng)消息至維護人員的手機,提示維護人員需要處理的問題。
圖1 系統(tǒng)拓?fù)鋱D
智能井蓋系統(tǒng)的設(shè)備層由多個智能井蓋終端節(jié)點構(gòu)成。每個終端節(jié)點由電池供電;微控制器和傳感器之間通過IIC 協(xié)議進行采集與控制,并與通信模塊通過UART 協(xié)議封裝的AT 指令進行數(shù)據(jù)的發(fā)送與接收;終端節(jié)點和電源之間通過ADC 采集電源剩余電壓。終端節(jié)點設(shè)計圖如圖2 所示。
圖2 智能井蓋終端節(jié)點設(shè)計圖
微控制器作為設(shè)備層的控制核心,主要功能是對數(shù)據(jù)的采集和發(fā)送。選型時主要考慮其功耗問題。只有微安級別的功耗才能維持3 至5 年的使用時間。選擇意法半導(dǎo)體STM8L051 系列的原因是,其最低功耗模式僅為0.35 μA,動態(tài)運行模式也僅為180 μA;支持1.8~3.6 V 的寬電壓,功耗低且功能滿足要求[6-7]。STM8L051 電路圖如圖3 所示。
圖3 微控制器STM8L051電路圖
在電路設(shè)計上,在每個VDD之間添加去耦電容以降低噪聲,并在VDD與VSS之間添加了磁珠以抑制高頻噪聲、尖峰干擾和吸收靜電脈沖。ADXL345 三軸加速度計芯片通過IIC 協(xié)議與STM8 進行通信。NBIoT 模塊與主控器通過UART 實現(xiàn)了控制指令及數(shù)據(jù)的收發(fā),D2 可以防止電流倒流到通信模塊,降低了MCU 的功耗,ENT0 接收通信模塊的中斷信號,控制與GPIO1 相連三極管的導(dǎo)通狀態(tài)并可以對通信模塊進行復(fù)位。
鋰亞硫酰氯電池的放電電壓為3.65 V,放電曲線平穩(wěn),是目前一次性鋰電池中放電電壓最高的電池,其具有工作溫度范圍寬、年自放電率不大于2%、貯存壽命可達10~15 年等特性,且成本低廉[8]。這些特點較適合在智能井蓋系統(tǒng)中使用。
如圖4 所示,由電池的正極引出3 條線,一條VADC接到微控制器以檢測電池電壓,一條連接低壓差線性穩(wěn)壓器輸出3.3 V 給通信模塊供電,一條連接低壓差線性穩(wěn)壓器輸出2.5 V 給微控制器和傳感器供電。
圖4 電源電路設(shè)計圖
ADXL345 是一款小而薄的超低功耗三軸加速度計,其分辨率最高為13 位,測量模式下功耗可低至23 μA,電壓范圍為2.0~3.6 V。ADXL345 可以在井蓋的傾斜檢測中測量靜態(tài)重力加速度,通過比較任意軸上的加速度與用戶設(shè)置的閾值,檢測有無運動發(fā)生。低功耗模式支持基于運動的智能電源管理,能以極低的功耗進行閾值感測和運動加速度測量[9]。ADXL345 電路如圖5 所示。
圖5 傳感器ADXL345電路設(shè)計圖
在電源與地之間增加濾波電容,以去除干擾和噪聲,在SCL 和SDA 線增加上拉電阻與微控制器,實現(xiàn)IIC 通信。在CS 端接入高電平設(shè)備使能,在ALT ADDRESS 端接地,進行設(shè)備的備用地址選擇,設(shè)備通過兩路INT 中斷信號接入微控制器。
NB-IoT 模塊采用的是移遠的BC28,它是一款高性能、低功耗、超寬工作溫度范圍的多頻段NB-IoT 無線通信模塊。結(jié)合NB-IoT的PSM 模式在參考信號接收功率為-128 dBm以下,假設(shè)模塊每年重新上電一次,每天發(fā)送一次200 字節(jié)數(shù)據(jù),且每天發(fā)起一次跟蹤區(qū)的更新流程,則一年的總功耗僅為432.638 mAh[10-11]。
其中,PSM 模式的原理是允許設(shè)備在空閑態(tài)一段時間后,關(guān)閉信號的收發(fā)和接入層相關(guān)功能,使設(shè)備處于休眠模式,相當(dāng)于部分關(guān)機,從而減少天線、射頻和信令處理等的功耗消耗。在PSM 模式,設(shè)備不再監(jiān)聽尋呼,但還保持注冊在網(wǎng)絡(luò)中,因此,再發(fā)送數(shù)據(jù)時不需重新建立PDN 連接。
如圖6 所示,VDD_EXT 實現(xiàn)了對于外部I/O 端口弱上拉的功能,并并聯(lián)了一個旁路電容。在USIM接口使用了瞬態(tài)二級管進行靜電保護,并串聯(lián)了22 Ω的電阻來抑制電磁干擾。在VBAT電源前添加了47 uF的鉭電容,以及100 nF、100 pF 和22 pF 的濾波電容,還增加了一個瞬態(tài)二極管來防止浪涌電壓。
圖6 通信模塊電路設(shè)計圖
智能井蓋管理系統(tǒng)設(shè)備層的軟件功能主要包括模塊初始化、數(shù)據(jù)采集與發(fā)送、低功耗模式和異常處理等。設(shè)備層軟件工作流程圖如圖7 所示。
圖7 設(shè)備層軟件工作流程圖
軟件設(shè)計的關(guān)鍵點在于:
1)對微控制器選用適當(dāng)?shù)墓ぷ黝l率,以低頻率為主。具體場景在提供的6 種工作模式(運行、低功耗運行、低功耗等待、等待、活躍停止和停止)間切換,關(guān)閉暫時不需要的外圍時鐘、外設(shè)和FLASH,將沒用的GPIO 設(shè)為浮空輸入禁止中斷模式,減少ADC測試次數(shù),以便降低功耗。系統(tǒng)還可以通過EEPROM 保存設(shè)備參數(shù)和設(shè)置RTC 來實現(xiàn)一天一次的自動喚醒[12]。
2)對傳感器設(shè)置較低的輸出速率來降低功耗,且不影響系統(tǒng)運行(如12.5 Hz剛好可以在1 s內(nèi)檢測10 次數(shù)值),并采用自動休眠模式,設(shè)置靜止和活動檢測的加速度閾值和靜止檢測時需小于的加速度時間量。當(dāng)井蓋發(fā)生傾斜時,可以通過中斷引腳來喚醒微控制器。將采集到的X、Y、Z軸加速度轉(zhuǎn)換為傾斜角度問題,其中主要利用了基本三角恒等式計算,如式(1)~(3)所示。傾斜角度檢測示意圖如圖8所示。
圖8 傾斜角度檢測示意圖
式中,α和β分別表示水平面與加速度計x軸和y軸之間的夾角,γ表示重力矢量與z軸之間的夾角,x.out、y.out 和z.out 分別表示X軸、Y軸和Z軸的檢測量[13-14]。
3)通信模塊工作過程如下:啟動模塊→搜索網(wǎng)絡(luò)→成功連接到網(wǎng)絡(luò)→數(shù)據(jù)傳輸→進入eDRX 模式→進入PSM,如圖9 所示。PSM 的主要目的是降低模塊功耗,延長電池的供電時間,所以設(shè)置PSM 中的TAU 值(T312)較為關(guān)鍵。設(shè)置PSM 模式為12 h 喚醒一次,激活保持在線時間為4 min。
圖9 通信模塊PSM模式示意圖
系統(tǒng)使用阿里物聯(lián)網(wǎng)云平臺和云服務(wù)器所組成的云端層,作為設(shè)備和用戶層的中間件[15-16]。系統(tǒng)云端層如圖10 所示。
圖10 系統(tǒng)云端層設(shè)計圖
設(shè)備層采用MQTT 協(xié)議與阿里物聯(lián)網(wǎng)云平臺進行消息通信。云服務(wù)器和阿里物聯(lián)網(wǎng)云平臺之間可以通過阿里云推送來主動接收設(shè)備上報的消息,并可以通過調(diào)用阿里云API 來控制設(shè)備層。在云服務(wù)器內(nèi)部會有Python 編寫的數(shù)據(jù)處理腳本對收到的設(shè)備消息進行解析并存入Mysql 數(shù)據(jù)庫。如果是告警消息,則會調(diào)用短信服務(wù)來通知運維人員。網(wǎng)頁服務(wù)器Tomcat和負(fù)載均衡Nginx將為用戶提供圖形化管理。
系統(tǒng)用戶層通過網(wǎng)頁來實現(xiàn)對用戶與設(shè)備的圖形化管理[17]。系統(tǒng)用戶層流程圖如圖11 所示。
圖11 系統(tǒng)用戶層流程圖
前端采用HTML、CSS 和Javascript 語言開發(fā),使用了主流的Bootstrap 框架;后端采用Java 語言開發(fā),使用了主流的Spring+SpringMVC+Mybatis 框架來實現(xiàn)用戶數(shù)據(jù)的交互。
網(wǎng)頁端主界面接入了百度地圖,并在地圖上標(biāo)記每一個井蓋所處的位置,根據(jù)井蓋的狀態(tài)改變標(biāo)記點的顏色。當(dāng)用戶點擊井蓋標(biāo)記點時,將以彈框的形式顯示井蓋的詳細信息,并在下方顯示井蓋的歷史記錄和報警等信息。
經(jīng)計算,所設(shè)計的整套硬件設(shè)備的成本最低不到45元,一年的平均功耗為688.31 mAh,一節(jié)4 000 mAh的電池可以用5.8 年,可基本滿足智能井蓋低功耗和低成本的需求。
測試結(jié)果表明,系統(tǒng)具有超低功耗、工作穩(wěn)定、組網(wǎng)簡單、實時性響應(yīng)良好等特點,井蓋的智能化、網(wǎng)絡(luò)化和可視化管理可在一定程度上解決井蓋監(jiān)控管理和保障市民出行安全、提高管理人員的工作效率等問題,可對智慧城市建設(shè)起到積極的作用。