陳旭東
(閩南理工學(xué)院 實踐教學(xué)中心,福建 石獅 362700)
高校實驗室是師生開展專業(yè)實踐的重要場所,安全管理尤為重要,環(huán)境監(jiān)測是安全管理的重要一環(huán),監(jiān)測系統(tǒng)是否高效、可靠運行將直接影響實驗實訓(xùn)的順利開展[1-4].隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展和普及,實驗實訓(xùn)環(huán)境監(jiān)測必須摒棄傳統(tǒng)方式,運用先進技術(shù)提高管理效率,保障實驗實訓(xùn)安全運行.前期調(diào)研發(fā)現(xiàn),實驗實訓(xùn)場地本身設(shè)備種類繁多,配電及各類信號傳輸線占用較多,因此環(huán)境監(jiān)測系統(tǒng),需滿足高可靠性、靈活布局、低成本、低功耗等前提要求,不宜大量布線及占用配電資源.與現(xiàn)有成熟的倉儲、酒店、火車站等使用場景的環(huán)境監(jiān)測系統(tǒng)相比,實驗室監(jiān)測系統(tǒng)具有可變動性及靈活性的特點,系統(tǒng)搭建完成后,監(jiān)測位置及監(jiān)測節(jié)點數(shù)量需要根據(jù)實驗室開課需要進行變動.在環(huán)境監(jiān)測實踐中,相關(guān)技術(shù)在其他設(shè)計系統(tǒng)中已有所運用.比如利用ZigBee與WiFi技術(shù)相結(jié)合,實現(xiàn)環(huán)境數(shù)據(jù)的采集及互聯(lián)網(wǎng)傳輸,但WiFi系統(tǒng)設(shè)計復(fù)雜無法實現(xiàn)低功耗及低成本[5-7];也有直接利用NB-IoT模塊作為環(huán)境數(shù)據(jù)采集節(jié)點,實現(xiàn)低功耗且靈活的遠程監(jiān)測,但NB-IoT模塊作為節(jié)點成本過高,特別是遇到要監(jiān)測多個實驗實訓(xùn)場地的時候,需要大量的節(jié)點,無法實現(xiàn)低成本.各類無線網(wǎng)關(guān)對比如表1所示,綜合對比成本、通信距離和傳輸速率.作為遠程監(jiān)測系統(tǒng)的網(wǎng)關(guān)模塊,NB-IoT具備比較大的優(yōu)勢.基于實驗實訓(xùn)環(huán)境監(jiān)測的實際需求,采用ZigBee模塊作為數(shù)據(jù)采集結(jié)點及終端設(shè)備控制節(jié)點,同時設(shè)計ZigBee協(xié)調(diào)器實現(xiàn)與各個節(jié)點快速組網(wǎng)獲取監(jiān)測數(shù)據(jù)及下發(fā)控制指令,ZigBee協(xié)調(diào)器只需借助一個NB-IoT模塊作為網(wǎng)關(guān)與IoT云平臺進行數(shù)據(jù)傳輸,實現(xiàn)遠程監(jiān)測及終端設(shè)備控制,滿足低功耗、低成本的實際需求.
表1 各類無線網(wǎng)關(guān)對比
以提升實驗實訓(xùn)環(huán)境監(jiān)測效率為目的,設(shè)計基于NB-IoT和ZigBee的實驗室環(huán)境監(jiān)測系統(tǒng),該系統(tǒng)包含傳感及控制模塊、集中模塊、云平臺和應(yīng)用模塊四大部分(圖1).傳感及控制模塊負責(zé)監(jiān)測數(shù)據(jù)的采集及功能控制,傳感器包括煙霧、溫度及濕度,控制器包括噴淋器及風(fēng)扇,ZigBee節(jié)點包括單片機系統(tǒng)電路、電池供電電路及外圍接口電路[8-9].集中模塊負責(zé)監(jiān)測數(shù)據(jù)的收集及上傳,設(shè)置一個ZigBee節(jié)點作為ZigBee協(xié)調(diào)器,完成ZigBee自組網(wǎng)內(nèi)各個監(jiān)測點數(shù)據(jù)的收集和命令下發(fā);NB-IoT模塊與ZigBee協(xié)調(diào)器進行串口通信,作為ZigBee自組網(wǎng)的網(wǎng)關(guān),負責(zé)將數(shù)據(jù)上傳到云平臺及控制命令接收.云平臺采用中國移動OneNET云平臺,完成數(shù)據(jù)的存儲及管理.應(yīng)用模塊采用WEB架構(gòu),基于OneNET平臺提供的API及開發(fā)工具,搭建應(yīng)用終端,實現(xiàn)遠程查看監(jiān)測數(shù)據(jù)及遠程控制[10-11].
系統(tǒng)硬件由傳感及控制模塊、集中模塊兩部分組成.ZigBee傳輸使用2.4 GHz通用頻段,在自組網(wǎng)10~100 m的范圍內(nèi),根據(jù)實際監(jiān)測點需要可設(shè)置多個傳感及控制模塊,系統(tǒng)只需設(shè)置一個集中模塊,降低了網(wǎng)關(guān)設(shè)計成本.
傳感及控制模塊包括ZigBee節(jié)點、傳感器和控制器三大部分(圖2).
圖2 傳感及控制模塊硬件連接
ZigBee節(jié)點采用TI公司生產(chǎn)的CC2530單片機作為主控芯片,模塊實物及單片機主要功能IO口設(shè)計(圖3).ZigBee節(jié)點硬件結(jié)構(gòu)包括單片機主控板、供電電路(采用3.3 V電池供電)和外圍電路擴展板,完成傳感器驅(qū)動、控制器驅(qū)動及無線射頻驅(qū)動三大部分內(nèi)容.
圖3 CC2530單片機模塊
溫濕度傳感器采用DHT11數(shù)字溫濕度傳感器,其具有已校準的數(shù)字信號輸出,濕度量程5~95%RH,溫度量程-20~60℃,其靈敏性及可靠性滿足實驗實訓(xùn)環(huán)境監(jiān)測要求.CC2530單片機使用IO口P0_7作為數(shù)字信號接收口,單片機需對接收的溫濕度信息進行字符串轉(zhuǎn)換,利用變量temp和humidity存儲溫濕度信息用于OLED顯示及單片機邏輯控制條件,關(guān)鍵功能通過以下代碼實現(xiàn):
DHT11();//獲取溫濕度
//將溫濕度的轉(zhuǎn)換成字符串
temp[0]=wendu_shi+0x30;
temp[1]=wendu_ge+0x30;
humidity[0]=shidu_shi+0x30;
humidity[1]=shidu_ge+0x30;
煙霧傳感器有可靠性及靈敏度要求,MQ-2煙霧傳感器可適配,其測量范圍較寬,可達到15 000 ppm.傳感器的導(dǎo)電率隨環(huán)境中氣體濃度增大而增大,其模擬輸出電壓也加大CC2530單片機使用P0_6口作為模擬量輸入口獲得輸入電壓并進行AD轉(zhuǎn)換,與傳感器量程進行相應(yīng)的比例運算可以計算出環(huán)境濃度值(以測量最大值20 000 ppm計算,輸入電壓Vin表示,參考電壓VRef表示):
控制器主要由風(fēng)扇及噴淋設(shè)備組成,當實驗實訓(xùn)室溫濕度過高時可以自動或者手動開啟風(fēng)扇進行降溫除濕.當煙霧傳感器監(jiān)測到室內(nèi)煙霧濃度過高時,則需要向協(xié)調(diào)器發(fā)送警報信號,進而手動或者自動開啟噴淋設(shè)備.對風(fēng)扇及噴淋設(shè)備的控制需使用兩組繼電器,單片機分別使用P1_0、P1_1兩個IO口對繼電器進行控制,采用低電平驅(qū)動,繼電器常開觸點進而控制功能設(shè)備高電壓線路通斷,驅(qū)動電路(圖4).
圖4 繼電器驅(qū)動電路
集中模塊由ZigBee協(xié)調(diào)器和NB-IoT節(jié)點兩部分組成,硬件連接如圖5.ZigBee協(xié)調(diào)器結(jié)構(gòu)與其他ZigBee節(jié)點一樣,完成ZigBee自組網(wǎng)的創(chuàng)建及組網(wǎng)管理,集中來自不同ZigBee監(jiān)測節(jié)點的信息,包括溫濕度、煙霧量、電池電量和報警信息等,最后通過串口傳輸給NB-IoT節(jié)點.
圖5 集中模塊硬件連接
NB-IoT節(jié)點采用上海移遠公司的BC28模組(圖6),協(xié)調(diào)器CC2530使用串口1(P0_4、P0_5)與NBIoT節(jié)點進行串口通信,實現(xiàn)發(fā)送AT指令或接收控制信息.
圖6 BC28模組
由于CC2530的串口電壓3.3 V與BC28的1.8 V不匹配,所以需要先進行串口電平轉(zhuǎn)換后才可以連接通信,串口轉(zhuǎn)換電路(圖7).考慮功耗控制要求,CC2530使用P1_2口對BC28的開啟及休眠進行控制.
圖7 串口電平轉(zhuǎn)換電路
系統(tǒng)控制ZigBee自組網(wǎng)以及控制ZigBee協(xié)調(diào)器與NB-IoT節(jié)點之間的通信需要進行合理的軟件設(shè)計,主要包括傳感及控制模塊程序設(shè)計、集中模塊程序設(shè)計及耗能控制.
為了滿足監(jiān)測節(jié)點功耗控制要求,在保證ZigBee各節(jié)點快速組網(wǎng)并能實時傳輸數(shù)據(jù)的基礎(chǔ)上,引入系統(tǒng)節(jié)點休眠及喚醒機制,即各監(jiān)測節(jié)點由ZigBee協(xié)調(diào)器進行休眠及喚醒控制.監(jiān)測節(jié)點初始化后會立即搜尋ZigBee信道并請求入網(wǎng),組網(wǎng)成功后除了將獲取的傳感器數(shù)據(jù)傳輸給協(xié)調(diào)器之外,每個實驗室的監(jiān)測節(jié)點還會將自己的位置標記信息一并發(fā)送,協(xié)調(diào)器根據(jù)接收的標記信息區(qū)分不同實驗室房間數(shù)據(jù),傳輸成功后監(jiān)測節(jié)點獲得休眠指令即可進入休眠模式,有效做到能耗控制(圖8).
圖8 傳感及控制模塊程序設(shè)計
集中模塊由ZigBee協(xié)調(diào)器和NB-IoT節(jié)點組成.ZigBee協(xié)調(diào)器創(chuàng)建ZigBee網(wǎng)絡(luò),等各監(jiān)測節(jié)點成功連接進入自組網(wǎng)后,協(xié)調(diào)器即可接收監(jiān)測節(jié)點發(fā)送來的數(shù)據(jù)并通過串口傳輸給BC28節(jié)點,以BC28節(jié)點為網(wǎng)關(guān)實現(xiàn)數(shù)據(jù)上傳云平臺.等數(shù)據(jù)傳輸完畢,ZigBee協(xié)調(diào)器立即向各監(jiān)測節(jié)點及BC28節(jié)點同時廣播休眠指令,此時系統(tǒng)立即進入休眠模式.為保證設(shè)備同步性,各節(jié)點必須設(shè)置相同的休眠定時器(圖9).
圖9 集中模塊程序設(shè)計
傳感及控制模塊及集中模塊節(jié)點均采用電池供電,提高了環(huán)境監(jiān)測布局的靈活性,降低了應(yīng)用成本,但對電池耗能控制的要求更加嚴格.CC2530模組及BC28模組的主要耗能在射頻模式下,即發(fā)送、接收數(shù)據(jù),在休眠及待機模式下的耗能極低(表2).根據(jù)表2數(shù)據(jù),休眠狀態(tài)下相比發(fā)送及接收的耗能明顯降低,故通過軟件設(shè)計延長休眠時間是控制功耗的有效方法,一個周期內(nèi)的耗能用C1表示,節(jié)點電池總電量用C總表示,電池可使用次數(shù)用N表示,相關(guān)計算方法為:
表2 BC28和CC2530節(jié)點能耗表
由此可見,通過控制單周期內(nèi)的發(fā)送及接收能耗即可大幅度增加電池使用次數(shù).降低能耗的同時要保證監(jiān)測數(shù)據(jù)的實時性,所以軟件設(shè)計需要根據(jù)使用場所的不同監(jiān)測需要,經(jīng)過多次調(diào)試以確定合理的休眠和喚醒時間.
云平臺實現(xiàn)數(shù)據(jù)管理、數(shù)據(jù)顯示及控制命令發(fā)送,系統(tǒng)采用OneNET云平臺.OneNET云平臺提供了豐富的API和各類應(yīng)用開發(fā)模板,能快速接入各類傳感器及智能硬件,其友好的開發(fā)環(huán)境及支持多協(xié)議接入讓智能應(yīng)用開發(fā)變得簡單.平臺采用Web架構(gòu),開發(fā)環(huán)境提供了必須的界面搭建元素,數(shù)據(jù)綁定簡潔直觀,控制臺可以自動生成Web應(yīng)用鏈接,利用瀏覽器或OneNET手機端APP可以方便實現(xiàn)遠程監(jiān)測及控制.
云平臺數(shù)據(jù)管理實現(xiàn)Web應(yīng)用和底層傳感網(wǎng)絡(luò)的數(shù)據(jù)交互及分析處理.云平臺是連接Web應(yīng)用和底層傳感網(wǎng)絡(luò)的橋梁,云平臺接收并存儲來自傳感網(wǎng)的監(jiān)測數(shù)據(jù)并為Web應(yīng)用開發(fā)提供API.由于環(huán)境監(jiān)測系統(tǒng)側(cè)重于數(shù)據(jù)實時處理,無需龐大的歷史數(shù)據(jù)存儲量,故系統(tǒng)使用OneNET平臺自帶數(shù)據(jù)庫而無需另外搭建數(shù)據(jù)庫,平臺設(shè)備接入方式選擇NB-IoT方式系統(tǒng)數(shù)據(jù)管理流程(圖10).
圖10 系統(tǒng)數(shù)據(jù)管理
為保障系統(tǒng)穩(wěn)定性及可靠性,引入防誤報機制(圖11).監(jiān)測點傳感器由于信號干擾或者傳輸錯誤可能出現(xiàn)上傳數(shù)據(jù)偏差,防誤報設(shè)計思路是若一個監(jiān)測點上傳數(shù)據(jù)超過閾值,數(shù)據(jù)平臺不會立刻做出警報及控制終端設(shè)備驅(qū)動,而是先下發(fā)指令再次讀取監(jiān)測數(shù)據(jù),數(shù)據(jù)若再次超過設(shè)定閾值,系統(tǒng)即可做出報警處置并驅(qū)動控制終端設(shè)備運行,否則系統(tǒng)就會忽略本次警報,提高了系統(tǒng)監(jiān)測數(shù)據(jù)的穩(wěn)定性,避免因誤報造成損失.
圖11 系統(tǒng)防誤報機制
利用OneNET云平臺的應(yīng)用管理功能可快速搭建Web應(yīng)用.工作臺提供數(shù)據(jù)管理,實現(xiàn)數(shù)據(jù)存儲及調(diào)用,不同類型控件可綁定對應(yīng)設(shè)備的數(shù)據(jù)源,控件包括顯示類(曲線、儀表、圖片等)和控制類(開關(guān)、旋鈕、命令框等),控件狀態(tài)與數(shù)據(jù)源對應(yīng)關(guān)系實現(xiàn)一對一或多對一.應(yīng)用界面設(shè)計效果(圖12),界面設(shè)計包括三部分:閾值設(shè)置及報警標志、數(shù)據(jù)顯示折線圖、設(shè)備及工作模式控制.在實際應(yīng)用中,可根據(jù)需要設(shè)定其他功能設(shè)備的控制按鈕.
圖12 應(yīng)用界面設(shè)計
系統(tǒng)設(shè)計自動模式及手動模式兩種工作狀態(tài).在自動模式下,當監(jiān)測數(shù)據(jù)如溫度、濕度或煙霧濃度超過閾值,系統(tǒng)確認無誤報產(chǎn)生報警標志,并自動驅(qū)動功能繼電器動作,進而讓噴淋設(shè)備或風(fēng)扇等功能設(shè)備啟動;在手動模式下,當監(jiān)測數(shù)據(jù)如溫度、濕度或煙霧濃度超過閾值,系統(tǒng)確認無誤報后同樣會產(chǎn)生報警標志,但功能繼電器的驅(qū)動需要值守人員根據(jù)需要手動控制開啟.在手動模式下,若監(jiān)測數(shù)據(jù)沒有超過閾值,也可根據(jù)需要手動啟停功能設(shè)備.
系統(tǒng)測試主要驗證系統(tǒng)的穩(wěn)定性及可靠性,重點對比監(jiān)測數(shù)據(jù)跟標準儀器測試數(shù)值是否一致,是否會產(chǎn)生誤報,檢驗噴淋設(shè)備、風(fēng)扇等功能設(shè)備能否有效控制.除此之外,還需檢驗系統(tǒng)能耗是否符合低功耗要求以及能否降低后期系統(tǒng)維護成本.系統(tǒng)測試采用實驗驗證方式,用2個ZigBee節(jié)點模塊作為傳感及控制模塊,用1個ZigBee節(jié)點模塊作為協(xié)調(diào)器,用1個NBIoT模塊作為系統(tǒng)網(wǎng)關(guān)設(shè)備.NB-IoT模塊無線通信流量使用中國移動物聯(lián)網(wǎng)專用卡進行測試.每個監(jiān)測點的噴淋設(shè)備及風(fēng)扇的驅(qū)動使用兩組繼電器模塊進行驅(qū)動實驗,繼電器采用直流5 V電壓供電,線圈低電平驅(qū)動控制,繼電器動作情況可使用萬用表測量常開觸點狀態(tài)或外接LED燈控制電路進行模擬展示.
兩個監(jiān)測節(jié)點分別監(jiān)測相鄰兩個實驗室數(shù)據(jù),程序設(shè)計中位置標記分別設(shè)定為“ZD1”和“ZD2”,協(xié)調(diào)器根據(jù)位置標記對數(shù)據(jù)進行不同房間區(qū)分.
系統(tǒng)測試數(shù)據(jù)結(jié)果從應(yīng)用終端讀取并記錄兩個監(jiān)測節(jié)點數(shù)據(jù)(表3),從9:00至19:00每隔2小時記錄一次數(shù)據(jù),數(shù)據(jù)分為溫度值、濕度值、煙霧濃度值等幾類,每項數(shù)據(jù)均與標準儀器作比較,測試數(shù)據(jù)與標準數(shù)據(jù)的誤差值在2%以內(nèi).在報警測試中,溫度報警及濕度報警分別采用人為加熱煙熏和加濕的方法模擬環(huán)境數(shù)據(jù)超標,報警結(jié)果符合預(yù)期,無出現(xiàn)誤報情況,自動模式下及手動模式下驅(qū)動功能繼電器正常.綜合測試數(shù)據(jù),系統(tǒng)可靠性符合設(shè)計預(yù)期.
表3 系統(tǒng)測試實驗數(shù)據(jù)(ZD1/ZD2)
系統(tǒng)主要對監(jiān)測節(jié)點進行電源節(jié)能設(shè)計.監(jiān)測節(jié)點通過使用CC2530內(nèi)部ADC通道測量電池電量,測量結(jié)果隨環(huán)境監(jiān)測數(shù)據(jù)一并上傳到云平臺數(shù)據(jù)庫.NB-IoT節(jié)點采用外部ADC通道測量電池電量,實驗過程可采取電池供電,也可以使用穩(wěn)壓電源供電.實驗對監(jiān)測節(jié)點電量進行記錄分析,由表3電池電量數(shù)據(jù)繪制的電池電量消耗(圖13),分析監(jiān)測節(jié)點(ZD1)電量消耗為1.8%,監(jiān)測節(jié)點(ZD2)電量消耗為1.7%,符合低功耗設(shè)計預(yù)期.
圖13 電池電量消耗
NB-IoT和ZigBee技術(shù)融合下的實驗室環(huán)境監(jiān)測系統(tǒng)設(shè)計,把ZigBee快速自組網(wǎng)的優(yōu)勢跟NB-IoT的高效遠程透傳能力相結(jié)合,應(yīng)用到實驗實訓(xùn)環(huán)境監(jiān)測中,實現(xiàn)對實驗室溫度、濕度、煙霧濃度的實時監(jiān)測,同時能對噴淋設(shè)備及風(fēng)扇等功能設(shè)備進行遠程操控.一個中小規(guī)模的監(jiān)測系統(tǒng)只需定期向電信運營商繳納一個NB-IoT網(wǎng)關(guān)模塊的流量費用而不需要其他費用,后期運維成本大幅降低,此外系統(tǒng)的低功耗設(shè)計及防誤報機制也極大提高了系統(tǒng)的穩(wěn)定性,具有廣闊的應(yīng)用前景.