侯靜云,陳 磊,趙 靜
(淮南師范學(xué)院 計(jì)算機(jī)學(xué)院,安徽 淮南 232038)
互聯(lián)網(wǎng)技術(shù)的發(fā)展使得人們足不出戶即可實(shí)現(xiàn)各項(xiàng)生活需求,導(dǎo)致人們很多時(shí)間在家庭、辦公室、商場(chǎng)等室內(nèi)場(chǎng)所度過。而室內(nèi)環(huán)境直接關(guān)系到人們的身心健康,惡劣的空氣環(huán)境可能會(huì)導(dǎo)致呼吸道感染、哮喘甚至癌癥等疾病的產(chǎn)生[1]。因此,監(jiān)測(cè)室內(nèi)環(huán)境并科學(xué)改善室內(nèi)環(huán)境是非常有意義的。蔣晴霞[2]以AT89C52為主板,利用DS18D20數(shù)字溫度傳感器、CO2氣體傳感器通過有線串行的方式采集室內(nèi)環(huán)境數(shù)據(jù)。張慧穎[3]為解決有線監(jiān)控系統(tǒng)布線難、可擴(kuò)展性差等問題,設(shè)計(jì)了一款基于藍(lán)牙技術(shù)的室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng),以STM32單片機(jī)為主控板,將采集的環(huán)境數(shù)據(jù)無線傳輸給監(jiān)控設(shè)備。但藍(lán)牙技術(shù)存在無法自動(dòng)組網(wǎng)、成本高、協(xié)議復(fù)雜等問題。本設(shè)計(jì)以CC2530為核心處理器,采用ZigBee和GPRS混合組網(wǎng)方式,設(shè)計(jì)了一款基于物聯(lián)網(wǎng)的室內(nèi)環(huán)境實(shí)時(shí)監(jiān)測(cè)系統(tǒng)。該系統(tǒng)可以實(shí)現(xiàn)對(duì)室內(nèi)環(huán)境數(shù)據(jù)的實(shí)時(shí)監(jiān)控與記錄,并通過設(shè)置報(bào)警閾值把室內(nèi)環(huán)境控制在安全適宜的范圍內(nèi)。
本文設(shè)計(jì)的室內(nèi)環(huán)境實(shí)時(shí)監(jiān)測(cè)系統(tǒng)以CC2530芯片為核心,結(jié)合ZigBee和GPRS組建樹狀無線網(wǎng)絡(luò)實(shí)現(xiàn)溫濕度、煙霧濃度、人體紅外信息的無線傳輸,并運(yùn)用LabVIEW編程軟件設(shè)計(jì)PC端監(jiān)測(cè)系統(tǒng)以實(shí)現(xiàn)遠(yuǎn)程監(jiān)控和報(bào)警的功能。系統(tǒng)主要包括終端節(jié)點(diǎn)、路由節(jié)點(diǎn)、無線網(wǎng)關(guān)以及PC端監(jiān)測(cè)系統(tǒng)四大部分,如圖1所示。
圖1 室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)總體設(shè)計(jì)
整個(gè)系統(tǒng)工作流程如下:
(1)無線網(wǎng)關(guān)中的協(xié)調(diào)器模塊負(fù)責(zé)建立ZigBee無線網(wǎng)絡(luò);
(2)終端節(jié)點(diǎn)上電后自動(dòng)加入網(wǎng)絡(luò)進(jìn)行周期性數(shù)據(jù)采集工作,并將采集到的溫濕度、煙霧濃度以及人體紅外等數(shù)據(jù)傳輸給路由節(jié)點(diǎn)或者直接傳給無線網(wǎng)關(guān);
(3)無線網(wǎng)關(guān)負(fù)責(zé)接收并通過GPRS模塊將信息傳送給PC端監(jiān)測(cè)系統(tǒng);
(4)PC端監(jiān)測(cè)系統(tǒng)負(fù)責(zé)數(shù)據(jù)的接收處理,并通過監(jiān)測(cè)界面實(shí)時(shí)顯示,如果出現(xiàn)火災(zāi)、非法入侵,系統(tǒng)會(huì)發(fā)布報(bào)警信號(hào)。
室內(nèi)環(huán)境實(shí)時(shí)監(jiān)測(cè)系統(tǒng)硬件部分主要包括終端節(jié)點(diǎn)、路由節(jié)點(diǎn)和無線網(wǎng)關(guān)。在滿足設(shè)計(jì)要求的條件下,系統(tǒng)采用CC2530芯片作為終端節(jié)點(diǎn)、路由節(jié)點(diǎn)以及協(xié)調(diào)器的核心處理器,并將這三個(gè)節(jié)點(diǎn)設(shè)計(jì)為相同硬件結(jié)構(gòu)通過ZigBee協(xié)議棧進(jìn)行通信,其功能由軟件設(shè)計(jì)部分的編程來區(qū)分。
本系統(tǒng)只針對(duì)室內(nèi)環(huán)境進(jìn)行監(jiān)測(cè),對(duì)無線傳輸距離要求不高,所以使用滿足IEEE 802.15.4協(xié)議標(biāo)準(zhǔn)的ZigBee技術(shù)[4]搭建無線網(wǎng)絡(luò)。其中,TI公司推出的ZigBee產(chǎn)品CC2530芯片集高性能射頻收發(fā)器和增強(qiáng)型8051單片機(jī)于一體,具有很強(qiáng)的數(shù)據(jù)處理能力。同時(shí),系統(tǒng)內(nèi)部具有8 kB RAM和256K閃存,并提供了五種可以適應(yīng)不同能耗的工作模式[5]。因此,本系統(tǒng)構(gòu)建的ZigBee無線傳感網(wǎng)絡(luò)全部采用CC2530芯片,其電路設(shè)計(jì)如圖2所示。
圖2 CC2530的最小系統(tǒng)
終端節(jié)點(diǎn)包括傳感器模塊、CC2530模塊和電源供電模塊,硬件示意圖如圖3所示。終端節(jié)點(diǎn)主要作用是利用傳感器模塊采集室內(nèi)環(huán)境信息,并將這些實(shí)時(shí)信息通過8051CPU組件進(jìn)行模數(shù)轉(zhuǎn)換、數(shù)據(jù)處理并存儲(chǔ),最后由CC2530射頻發(fā)送給無線網(wǎng)關(guān)的相應(yīng)節(jié)點(diǎn),起到了數(shù)據(jù)采集以及發(fā)送的作用。
圖3 終端節(jié)點(diǎn)示意圖
本文采用DHT11溫濕度傳感器監(jiān)測(cè)室內(nèi)環(huán)境中的溫濕度參數(shù)。DHT11利用單總線與CC2530通信,其串行數(shù)據(jù)口(DATA)連接CC2530的P0.7口。
煙霧濃度傳感器采用MQ-2型傳感器,對(duì)液化氣、烷類等多種氣體[6-7]燃燒后產(chǎn)生的煙霧具有很高的靈敏度。將MQ-2的DO引腳與CC2530芯片的P0.6相連接以檢測(cè)煙霧濃度是否超過所設(shè)置的閾值,進(jìn)而判斷室內(nèi)是否發(fā)生火災(zāi)。
人體紅外傳感器采用靈敏度較高的雙元熱釋探頭的HC-SR501型傳感器,當(dāng)人進(jìn)入傳感器探測(cè)區(qū)域內(nèi),探測(cè)元件會(huì)向外釋放電荷,而后經(jīng)上位機(jī)檢測(cè)判別后產(chǎn)生報(bào)警信號(hào)。
無線網(wǎng)關(guān)包括協(xié)調(diào)器(CC2530)模塊、GPRS模塊和電源模塊,如圖4所示。協(xié)調(diào)器模塊負(fù)責(zé)組建、管理無線傳感網(wǎng),并接收其他節(jié)點(diǎn)傳送來的數(shù)據(jù),將其打包處理送至GPRS模塊。
圖4 無線網(wǎng)關(guān)硬件示意圖
本系統(tǒng)的GPRS模塊采用SIMCom公司的SIM900A模塊,支持雙頻GSM/GPRS工作模式,負(fù)責(zé)把接收到的數(shù)據(jù)整理成IP數(shù)據(jù)包,經(jīng)網(wǎng)絡(luò)發(fā)送給監(jiān)測(cè)系統(tǒng),同時(shí)也接收監(jiān)測(cè)系統(tǒng)送來的指令。SIM900A通過發(fā)送AT指令集與協(xié)調(diào)器通信,如GPRS模塊利用“AT+CIPSEND”接收指令,利用“AT+CIPSEND”發(fā)送指令。
室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)的軟件設(shè)計(jì)包括上位機(jī)軟件設(shè)計(jì)和下位機(jī)程序設(shè)計(jì)。其中,上位機(jī)軟件是指利用LabVIEW編程軟件設(shè)計(jì)實(shí)現(xiàn)的PC端監(jiān)測(cè)系統(tǒng),便于用戶遠(yuǎn)程監(jiān)控室內(nèi)環(huán)境信息。而下位機(jī)程序設(shè)計(jì)是指利用IAR Embedded Workbench集成開發(fā)環(huán)境,遵循802.11協(xié)議規(guī)范和ZigBee協(xié)議棧用C語言進(jìn)行程序設(shè)計(jì),實(shí)現(xiàn)終端節(jié)點(diǎn)、路由節(jié)點(diǎn)以及無線網(wǎng)關(guān)等硬件部分的數(shù)據(jù)采集和傳輸。
3.1.1終端節(jié)點(diǎn)程序設(shè)計(jì)
終端節(jié)點(diǎn)程序主要是通過傳感器模塊實(shí)現(xiàn)對(duì)室內(nèi)環(huán)境中的數(shù)據(jù)采集,如溫濕度、煙霧濃度等。如圖5所示,終端節(jié)點(diǎn)首先要進(jìn)行初始化,然后向附近的協(xié)調(diào)器發(fā)出入網(wǎng)請(qǐng)求。協(xié)調(diào)器會(huì)給它分配一個(gè)網(wǎng)絡(luò)地址,并允許加入網(wǎng)絡(luò)。請(qǐng)求成功之后讀取傳感器的數(shù)據(jù),最后利用ZigBee協(xié)議棧中的定時(shí)函數(shù)osal_start_timerEx( )和事件處理函數(shù)osal_set_event( )將采集到的數(shù)據(jù)周期性地向路由器節(jié)點(diǎn)發(fā)送,或者直接向無線網(wǎng)關(guān)發(fā)送。
圖5 終端節(jié)點(diǎn)軟件設(shè)計(jì)流程圖
3.1.2路由器節(jié)點(diǎn)程序設(shè)計(jì)
為了擴(kuò)展整個(gè)傳感網(wǎng)絡(luò)的覆蓋范圍,本系統(tǒng)加入了路由節(jié)點(diǎn),負(fù)責(zé)數(shù)據(jù)的轉(zhuǎn)接。路由節(jié)點(diǎn)會(huì)定時(shí)地主動(dòng)掃描鄰近的幾個(gè)協(xié)調(diào)器節(jié)點(diǎn),獲得協(xié)調(diào)器的信道、PANID等參數(shù),發(fā)出入網(wǎng)請(qǐng)求。路由節(jié)點(diǎn)成功加入網(wǎng)絡(luò)后,向協(xié)調(diào)器節(jié)點(diǎn)傳送數(shù)據(jù)。傳送的數(shù)據(jù)有兩種,一種是終端節(jié)點(diǎn)請(qǐng)求入網(wǎng)的信號(hào),另一種是室內(nèi)環(huán)境的數(shù)據(jù)包。
3.1.3無線網(wǎng)關(guān)程序設(shè)計(jì)
無線網(wǎng)關(guān)是整個(gè)無線傳感網(wǎng)絡(luò)的核心,負(fù)責(zé)建立網(wǎng)絡(luò)、將路由器和終端發(fā)來的數(shù)據(jù)傳輸至GPRS。無線網(wǎng)關(guān)第一步的工作是利用協(xié)調(diào)器模塊建立新的無線網(wǎng)絡(luò)。首先協(xié)調(diào)器進(jìn)行信道掃描,如果掃描到合適的信道,確定信道并設(shè)置網(wǎng)絡(luò)標(biāo)識(shí)符PANID;然后周期性向終端節(jié)點(diǎn)和路由節(jié)點(diǎn)發(fā)送信標(biāo),收到網(wǎng)絡(luò)節(jié)點(diǎn)的入網(wǎng)請(qǐng)求后,如果允許入網(wǎng),就為其分配一個(gè)網(wǎng)絡(luò)中唯一的16位地址。協(xié)調(diào)器的地址固定分配為0X0000,其他節(jié)點(diǎn)在加入網(wǎng)絡(luò)后隨機(jī)在0X0000-0XFFFF范圍內(nèi)選取一個(gè)作為本網(wǎng)絡(luò)的PANID;待節(jié)點(diǎn)入網(wǎng)后,無線網(wǎng)絡(luò)至此搭建完畢。之后協(xié)調(diào)器會(huì)判斷是否存在需要發(fā)送的數(shù)據(jù),如果存在,則使用osal_msg_receive()函數(shù)讀取消息,然后調(diào)用SampleApp_MessageMSGCB()函數(shù)將數(shù)據(jù)發(fā)送給串口,具體流程如圖6所示。
圖6 無線網(wǎng)關(guān)軟件設(shè)計(jì)流程圖
上位機(jī)軟件設(shè)計(jì)是利用LabVIEW編程軟件完成PC端監(jiān)測(cè)系統(tǒng)實(shí)現(xiàn)的,主要包括串口設(shè)置、數(shù)據(jù)信息顯示、超限判斷報(bào)警、Access數(shù)據(jù)存儲(chǔ)以及聲光報(bào)警等部分,軟件界面如圖7所示。
圖7 PC端監(jiān)測(cè)系統(tǒng)軟件界面
3.2.1數(shù)據(jù)信息顯示
監(jiān)測(cè)系統(tǒng)的數(shù)據(jù)顯示界面可以使得用戶清晰地看到同一時(shí)段下,各個(gè)終端節(jié)點(diǎn)采集到的數(shù)據(jù)信息。其中,溫、濕度和煙霧信息以波形圖表實(shí)時(shí)顯示,用戶可以根據(jù)曲線查看某時(shí)段的環(huán)境參數(shù)變化情況。右下角區(qū)域?yàn)槌迗?bào)警區(qū)域,包括周圍環(huán)境溫、濕度的最大值和最小值,濃度的極限值以及非法入侵信息,圖形化程序如圖8所示。
圖8 數(shù)據(jù)顯示與報(bào)警程序
用戶可依據(jù)生活環(huán)境的實(shí)際情況分別設(shè)置閾值,當(dāng)溫濕度超過上下限時(shí),相應(yīng)的指示燈會(huì)變亮;當(dāng)煙霧濃度正常時(shí)顯示“氣體正常”;超過上限值會(huì)提示“氣體異?!?;當(dāng)有非法入侵時(shí),會(huì)提示“有人”,反之,提示“無人”,如圖9所示。結(jié)果表明數(shù)據(jù)接收正常,系統(tǒng)可以實(shí)現(xiàn)感知周圍環(huán)境中溫濕度、煙霧以及非法侵入信息并提供報(bào)警的功能。
圖9 數(shù)據(jù)顯示與報(bào)警界面
3.2.2數(shù)據(jù)存儲(chǔ)
目前市面上大多數(shù)監(jiān)測(cè)系統(tǒng)都能夠?qū)崟r(shí)顯示環(huán)境數(shù)據(jù),但不能追溯歷史記錄,在實(shí)際應(yīng)用上存在很大的局限性。本系統(tǒng)利用Microsoft Access作為數(shù)據(jù)管理軟件,實(shí)現(xiàn)了室內(nèi)環(huán)境數(shù)據(jù)的存儲(chǔ),圖形化程序如圖10所示。運(yùn)行LabVIEW系統(tǒng),可導(dǎo)出如圖11的監(jiān)測(cè)數(shù)據(jù)記錄。
圖10 數(shù)據(jù)存儲(chǔ)程序
圖11 數(shù)據(jù)存儲(chǔ)記錄
為了驗(yàn)證本文所設(shè)計(jì)的室內(nèi)環(huán)境監(jiān)測(cè)系統(tǒng)的穩(wěn)定性和可靠性,按照上文對(duì)系統(tǒng)的總體設(shè)計(jì)搭建實(shí)驗(yàn)測(cè)試平臺(tái),使用包括電腦、DHT11溫濕度傳感器、MQ-2煙霧傳感器、HC-SR501紅外傳感器、SIM900A模塊、協(xié)調(diào)器節(jié)點(diǎn)以及終端節(jié)點(diǎn)等硬件設(shè)備,如圖12所示。
圖12 硬件連接圖
數(shù)據(jù)采集測(cè)試是將上位機(jī)系統(tǒng)讀取的數(shù)據(jù)與使用溫濕度標(biāo)準(zhǔn)儀器測(cè)量的數(shù)據(jù)進(jìn)行比較,從下午12:30-17:30每隔30分鐘記錄一次數(shù)據(jù),實(shí)驗(yàn)結(jié)果如表1所示。
表1 溫濕度數(shù)據(jù)對(duì)比表
從記錄的數(shù)據(jù)可以算出,上位機(jī)系統(tǒng)讀取的數(shù)據(jù)與使用溫濕度標(biāo)準(zhǔn)儀器測(cè)量所得的數(shù)據(jù)誤差值在3%以內(nèi)。由測(cè)試可知,系統(tǒng)各個(gè)節(jié)點(diǎn)的準(zhǔn)確度符合設(shè)計(jì)預(yù)期。
本監(jiān)測(cè)系統(tǒng)選擇ZigBee技術(shù)作為數(shù)據(jù)的無線傳輸方式,需要對(duì)其覆蓋范圍和丟包率進(jìn)行驗(yàn)證。在測(cè)試過程中,協(xié)調(diào)器節(jié)點(diǎn)所擺放的位置是相對(duì)固定的,而終端節(jié)點(diǎn)的位置是移動(dòng)的,移動(dòng)終端節(jié)點(diǎn)使其逐漸遠(yuǎn)離無線網(wǎng)關(guān),觀察協(xié)調(diào)器節(jié)點(diǎn)相應(yīng)的指示燈是否會(huì)周期性閃爍。其中,將數(shù)據(jù)采集時(shí)間設(shè)置為30 s,若節(jié)點(diǎn)是正常接收數(shù)據(jù),會(huì)每隔30 s閃爍一次;反之,丟包。測(cè)試結(jié)果如表2所示,當(dāng)終端節(jié)點(diǎn)與協(xié)調(diào)器節(jié)點(diǎn)無障礙物時(shí),ZigBee無線網(wǎng)絡(luò)覆蓋范圍為120 m以內(nèi);當(dāng)墻作為障礙物時(shí),覆蓋范圍縮短為45 m以內(nèi)。經(jīng)過本次實(shí)驗(yàn)測(cè)得ZigBee無線網(wǎng)絡(luò)覆蓋范圍,用戶可以根據(jù)自己的需求合理選擇終端節(jié)點(diǎn)的位置。
表2 收發(fā)距離測(cè)試
設(shè)計(jì)了一種基于物聯(lián)網(wǎng)的室內(nèi)環(huán)境實(shí)時(shí)監(jiān)測(cè)系統(tǒng),把ZigBee自組網(wǎng)優(yōu)勢(shì)和GPRS高效遠(yuǎn)程傳輸能力相結(jié)合實(shí)現(xiàn)對(duì)室內(nèi)溫濕度、煙霧濃度以及人體紅外等數(shù)據(jù)的采集和無線傳輸,解決了傳統(tǒng)有線監(jiān)測(cè)系統(tǒng)帶來的布線繁瑣、維護(hù)難和成本高等諸多問題。并且,還可以通過上位機(jī)監(jiān)測(cè)系統(tǒng)實(shí)時(shí)監(jiān)測(cè)環(huán)境數(shù)據(jù)和報(bào)警,具有較好的實(shí)時(shí)性和安全性。經(jīng)過測(cè)試,該系統(tǒng)測(cè)量準(zhǔn)確度高,各節(jié)點(diǎn)之間具有較好的穩(wěn)定性和可擴(kuò)充性,在居家、倉儲(chǔ)、辦公等室內(nèi)環(huán)境監(jiān)測(cè)領(lǐng)域都具有一定的應(yīng)用價(jià)值。