陳旭東
(閩南理工學院實踐教學中心, 福建 石獅 362700)
隨著物聯網技術的發展及普及,實驗實訓環境監測必須摒棄傳統方式,運用先進技術提高管理效率,保障實驗實訓安全運行。在環境監測實踐中,相關技術在其他設計系統中已有所運用。比如利用ZigBee 與WiFi 技術相結合,實現環境數據的采集及互聯網傳輸,但WiFi 系統設計復雜無法實現低功耗及低成本;也有直接利用NB-IoT 模塊作為環境數據采集節點,實現低功耗且靈活的遠程監測,但NB-IoT 模塊作為節點成本過高,特別是需要監測多個實驗實訓場地的時候,需要大量的節點,無法實現低成本。采用ZigBee 模塊作為數據采集節點及終端設備控制節點,同時設計ZigBee 協調器實現與各個節點快速組網獲取監測數據及下發控制指令。ZigBee 協調器只需借助一個NB-IoT 模塊即可與IoT 云平臺進行數據傳輸,實現遠程監測及終端設備控制,滿足低成本、低功耗的實際需求。
基于NB-IoT 和ZigBee 的實驗實訓環境監測系統,該系統包含傳感及控制模塊、集中模塊、云平臺和應用模塊四大部分,如圖1 所示。傳感及控制模塊負責監測數據的采集及功能控制,傳感器包括煙霧、溫度及濕度,控制器包括噴淋器及風扇,ZigBee 節點包括單片機系統電路、電池供電電路及外圍接口電路。集中模塊負責監測數據的收集及上傳,設置一個ZigBee 節點作為ZigBee 協調器,完成ZigBee 自組網內各個監測點數據的收集和命令下發。NB-IoT 模塊與ZigBee 協調器進行串口通信,作為ZigBee 自組網的網關,負責將數據上傳到云平臺并接收命令。云平臺采用中國移動OneNET 云平臺,完成數據的存儲及管理。應用模塊采用WEB 架構,基于OneNET 平臺提供的API 及開發工具搭建應用終端,實現遠程查看監測數據或遠程控制。

圖1 系統整體結構
系統硬件由傳感及控制模塊、集中模塊兩部分組成。ZigBee 傳輸使用2.4 GHz 通用頻段,在自組網10~100 m 的范圍內,根據實際監測點需要設置多個傳感及控制模塊,系統只需設置一個集中模塊。
傳感及控制模塊包括ZigBee 節點、傳感器和控制器三大部分,如下頁圖2 所示。ZigBee 節點采用TI公司生產的CC2530 單片機作為主控芯片。ZigBee 節點硬件結構包括單片機主控板、供電電路(采用3.3 V電池供電)和外圍電路擴展板,完成傳感器驅動、控制器驅動及無線射頻驅動三大部分內容。

圖2 傳感及控制模塊硬件連接
溫濕度傳感器采用DHT11 數字溫濕度傳感器,具有已校準的數字信號輸出,濕度量程5~95%RH,溫度量程-20~60 ℃,其靈敏性及可靠性滿足實驗實訓環境監測要求。CC2530 單片機使用IO 口P0_7作為數字信號接收口,單片機需對接收的溫濕度信息進行字符串轉換,利用變量temp 和humidity 存儲溫濕度信息用于OLED 顯示及單片機邏輯控制條件。
煙霧傳感器采用MQ-2 高靈敏煙霧傳感器,測量范圍最低5 000×10-6,最高20 000×10-6。傳感器的導電率隨環境中氣體濃度增大而增大,其模擬輸出電壓也加大。CC2530 單片機使用P0_6 口作為模擬量輸入口獲得輸入電壓并進行AD 轉換,與傳感器量程進行相應的比例運算可以計算出環境濃度值。
控制器由風扇及噴淋系統組成,當實驗實訓室溫濕度過高時可以自動或者手動開啟風扇進行降溫除濕。當煙霧傳感器監測到室內煙霧濃度過高時,則需要向協調器發送警報信號,進而手動或者自動開啟噴淋系統。對風扇及噴淋系統的控制需使用兩組繼電器,單片機分別使用P1_0 和P1_1 兩個IO 口對繼電器進行控制。
集中模塊由ZigBee 協調器和NB-IoT 節點兩部分組成,硬件連接如圖3 所示。ZigBee 協調器結構與其他ZigBee 節點一樣,完成ZigBee 自組網的連接管理,集中來自不同ZigBee 監測節點的信息,包括溫濕度、煙霧量、電池電量和報警信息等,最后通過串口傳輸給NB-IoT 節點。

圖3 集中模塊硬件連接
NB-IoT 節點采用上海移遠公司的BC28 模組。進行串口電平轉換后,協調器CC2530 使用串口1(P0_4、P0_5)與NB-IoT 節點進行串口通信,實現發送AT 指令或接收控制信息。考慮功耗控制要求,CC2530 使用P1_2 口對BC28 的開啟及休眠進行控制。
系統控制ZigBee 自組網與NB-IoT 節點之間的通信需要進行合理的軟件設計,主要包括傳感及控制模塊程序設計、集中模塊程序設計及耗能控制。
為了滿足監測節點功耗控制要求,在保證Zig-Bee 自組網快速組網并實時傳輸數據的基礎上,引入休眠及喚醒機制,即各監測節點由ZigBee 協調器進行休眠及喚醒控制。程序流程圖如圖4 所示。

圖4 傳感及控制模塊程序設計
集中模塊由ZigBee 協調器和NB-IoT 節點組成,ZigBee 協調器創建ZigBee 網絡接收監測節點數據并傳輸給BC28 實現數據上傳云平臺。等數據傳輸完畢,ZigBee 協調器向各監測節點及BC28 節點同時發送休眠指令,為保證設備同步性,必須設置相同的休眠定時器。程序流程圖如圖5 所示。

圖5 集中模塊程序設計
系統監測節點及集中模塊節點均采用電池供電,提高了環境監測布局的靈活性,降低了應用成本,但對耗能控制的要求更加嚴格。CC2530 模組及BC28 模組的主要耗能是在射頻模式下,即發送、接受數據。在休眠模式下的耗能極低,故通過軟件設計延長休眠時間是控制功耗的有效方法,但同時要保證監測數據的實時性,所以軟件設計需要根據場所的不同監測需要,經過多次調試以確定合理的休眠和喚醒時間。
云平臺實現數據管理、數據顯示及控制命令發送,系統采用OneNET 云平臺,其友好的開發環境及支持多協議接入讓NB-IoT 模塊上傳監測數據變得簡單。平臺采用Web 架構,開發環境提供了必須的界面搭建元素,數據綁定簡潔直觀,控制臺可以自動生成Web 應用鏈接,利用瀏覽器或OneNET 手機APP 可以方便實現遠程監測及控制。
數據管理實現Web 應用和底層傳感網絡的數據交互及分析處理,云平臺是連接Web 應用和底層傳感網絡的橋梁,云平臺接收并存儲來自傳感網的監測數據并為Web 應用開發者提供API。系統數據管理流程如圖6 所示。

圖6 系統數據管理
引入防誤報機制。監測點傳感器由于信號干擾或者傳輸錯誤可能出現上傳數據偏差,防誤報設計思路是若一個監測點上傳數據超過閾值,數據平臺不會立刻做出警報及控制終端反應,而是下發指令再次讀取監測數據,數據若再次超過設定閾值。系統做出報警處置,否則系統就會忽略本次警報,防誤報機制提高了系統監測的穩定性,避免因誤報造成損失。系統防誤報機制如圖7 所示。

圖7 系統防誤報機制
利用OneNET 云平臺的應用管理功能可快速搭建Web 應用。工作臺提供不同類型控件可綁定對應設備的數據源,應用界面設計效果如圖8 所示。界面設計包括三部分:閾值設置及報警標志、數據顯示折線圖、設備及工作模式控制。

圖8 應用界面設計
系統測試主要驗證系統的穩定性及可靠性,重點對比監測數據跟標準儀器測試數值是否一致,是否會產生誤報,檢驗噴淋設備、風扇等功能設備能否有效控制。除此之外還需檢驗系統能耗是否符合低功耗要求以及能否降低后期系統維護成本。系統測試采用實驗驗證方式,用2 個ZigBee 節點模塊作為傳感及控制模塊,用1 個ZigBee 節點模塊作為協調器,用1 個NB-IoT 模塊作為系統網關設備,NB-IoT模塊無線通信流量使用中國移動物聯網專用卡進行測試。系統測試數據結果如表1 所示,測試結果符合預期。

表1 系統測試實驗數據
基于NB-IoT 和ZigBee 的實驗實訓環境監測系統,把ZigBee 快速自組網的優勢跟NB-IoT 高效遠程透傳能力相結合,應用到實驗實訓環境監測中,實現對實驗實訓室溫度、濕度、煙霧濃度的實時監測,同時能對噴淋系統及風扇等功能設備進行遠程操控。一個中小規模的監測系統只需定期向電信運營商繳納一個NB-IoT 網關模塊的流量費用而不需要其他費用,后期運維成本大幅降低。此外系統的低功耗設計及防誤報機制也極大提高了系統的穩定性,具有廣闊的應用前景。