鄭卓然 單承剛 侯艷艷
【摘 要】針對(duì)目前大多數(shù)無線環(huán)境監(jiān)測(cè)系統(tǒng)采用多線制和總線制的連接方式,存在成本較高,施工復(fù)雜,可擴(kuò)展性差,抗干擾能力差,誤報(bào)率很高等問題,本系統(tǒng)是一種基于無線傳感器網(wǎng)絡(luò)技術(shù)的環(huán)境監(jiān)測(cè)系統(tǒng)。環(huán)境監(jiān)測(cè)系統(tǒng)圍繞Cortex-M3架構(gòu)的STM32F107處理器,系統(tǒng)可靠性高,實(shí)用性強(qiáng),大大降低了制作成本,性能和價(jià)格上有很強(qiáng)的競(jìng)爭(zhēng)力,有很大的市場(chǎng)潛力。
【關(guān)鍵詞】Cortex-M3;無線傳感器;STM32F107;監(jiān)測(cè)系統(tǒng)
0 引言
物聯(lián)網(wǎng)技術(shù)已經(jīng)被廣泛應(yīng)用到醫(yī)療,交通,農(nóng)業(yè),國防等等領(lǐng)域,而且市場(chǎng)規(guī)模不斷擴(kuò)大。它的無線傳輸技術(shù)的使用極大提高了人們的生活質(zhì)量。作為物聯(lián)網(wǎng)領(lǐng)域的無線傳輸技術(shù)之一,ZigBee技術(shù)是一種近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無線通訊技術(shù),Zigebee技術(shù)的應(yīng)用對(duì)無線環(huán)境監(jiān)測(cè)是革命性的,市場(chǎng)前景很好,同時(shí)ZigBee技術(shù)極大的提高了環(huán)境監(jiān)控的質(zhì)量和效率。
1 系統(tǒng)設(shè)計(jì)
系統(tǒng)實(shí)現(xiàn)uC/OS-2操作系統(tǒng)在STM32F107處理器上的移植,基于ZigBee技術(shù)構(gòu)建無線傳感器網(wǎng)絡(luò),實(shí)現(xiàn)了環(huán)境信息的采集。本系統(tǒng)分為終端節(jié)點(diǎn)部分,網(wǎng)關(guān)部分,以及移動(dòng)用戶端和上位機(jī)部分。終端節(jié)點(diǎn)主要是采集環(huán)境因子發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器將信息發(fā)送給網(wǎng)關(guān),網(wǎng)關(guān)將監(jiān)測(cè)節(jié)點(diǎn)信息整合發(fā)送給上位機(jī)和移動(dòng)終
端,移動(dòng)終端和上位機(jī)可以反向控制終端節(jié)點(diǎn)。
1.1 網(wǎng)關(guān)硬件設(shè)計(jì)
網(wǎng)關(guān)主要由芯片STM32F107擴(kuò)展而成,網(wǎng)關(guān)底板與CC2530核心板配合使用可以提供豐富的硬件支持資源。網(wǎng)關(guān)底板集成了JTAG接口、按鍵、LED和LCD、RS232和RS485接口、蜂鳴器、傳感器模塊、電位器、時(shí)鐘模塊和外擴(kuò)存儲(chǔ)模塊等。JTAG接口是連接仿真器下載調(diào)試程序的接口。網(wǎng)關(guān)硬件結(jié)構(gòu)圖如圖1所示。
圖1 網(wǎng)關(guān)硬件結(jié)構(gòu)圖
1.2 ZigBee監(jiān)測(cè)節(jié)點(diǎn)硬件設(shè)計(jì)
圖2 ZigBee監(jiān)測(cè)節(jié)點(diǎn)硬件結(jié)構(gòu)圖
ZigBee監(jiān)測(cè)節(jié)點(diǎn)采用CC2530單片機(jī),CC2530結(jié)合了的RF收發(fā)器的優(yōu)良性能,業(yè)界標(biāo)準(zhǔn)的8051CPU,8KBRAM和許多其它強(qiáng)大的功能。外部擴(kuò)展了溫濕度傳感器,光照傳感器,及火焰?zhèn)鞲衅?。CC2530單片機(jī)通過模擬I2C總線的方式對(duì)溫濕度進(jìn)行采集,采用A/D轉(zhuǎn)換對(duì)光照度進(jìn)行采集,采用IO檢測(cè)對(duì)火焰?zhèn)鞲衅鬟M(jìn)行數(shù)據(jù)采集。ZigBee監(jiān)測(cè)節(jié)點(diǎn)硬件結(jié)構(gòu)圖如圖2所示。
2 系統(tǒng)軟件設(shè)計(jì)
ZigBee監(jiān)測(cè)節(jié)點(diǎn)通過四種傳感器采集周圍的信息,將接收的信息傳給協(xié)調(diào)器,協(xié)調(diào)器將數(shù)據(jù)用數(shù)組封裝起來,將信息用串口0傳送給網(wǎng)關(guān),網(wǎng)關(guān)利用串口中斷的方式接收來自協(xié)調(diào)器的數(shù)據(jù),同時(shí)將數(shù)據(jù)串口發(fā)送至上位機(jī),并且網(wǎng)關(guān)UC/GUI界面可以顯示節(jié)點(diǎn)的環(huán)境數(shù)據(jù),并可以實(shí)現(xiàn)環(huán)境異常預(yù)警。移動(dòng)終端可以接入網(wǎng)關(guān)獲取節(jié)點(diǎn)環(huán)境數(shù)據(jù),并可反向控制。
2.1 ZigBee監(jiān)測(cè)節(jié)點(diǎn)軟件設(shè)計(jì)
路由器將采集到的數(shù)據(jù)發(fā)送給協(xié)調(diào)器,協(xié)調(diào)器接收到數(shù)據(jù)后將接收到的數(shù)據(jù)依次封裝到數(shù)組,通過串口將封裝好的數(shù)據(jù)發(fā)送給網(wǎng)關(guān),協(xié)調(diào)器節(jié)點(diǎn)主導(dǎo)無線環(huán)境網(wǎng)絡(luò)建設(shè)的整個(gè)過程,主要包括系統(tǒng)初始化、網(wǎng)絡(luò)的建立、地址的分配和成員的加入、節(jié)點(diǎn)設(shè)備數(shù)據(jù)的更新、數(shù)據(jù)轉(zhuǎn)發(fā)表、設(shè)備關(guān)聯(lián)表等幾個(gè)方面,另一方面作為網(wǎng)關(guān)和設(shè)備節(jié)點(diǎn)之間的橋梁,完成網(wǎng)關(guān)和設(shè)備節(jié)點(diǎn)的通信。
2.2 網(wǎng)關(guān)的軟件設(shè)計(jì)
在uC/OS-2操作系統(tǒng)環(huán)境下,網(wǎng)關(guān)的軟件設(shè)計(jì)主要體現(xiàn)為四個(gè)任務(wù)流。四個(gè)任務(wù)流分別是startup_task任務(wù),touch_task任務(wù),beep_task任務(wù),ZigBee_task任務(wù)。startup_task任務(wù)為系統(tǒng)啟動(dòng)任務(wù),包含觸摸屏任務(wù)、蜂鳴器任務(wù)、ZigBee數(shù)據(jù)處理任務(wù)的創(chuàng)建。觸摸屏任務(wù)touch_task包含初始化GUI界面,每10ms刷新界面顯示功能。蜂鳴器任務(wù)beep_task實(shí)現(xiàn)ZigBee節(jié)點(diǎn)報(bào)警功能。ZigBee數(shù)據(jù)處理任務(wù)ZigBee_task將申請(qǐng)UART4中斷產(chǎn)生的節(jié)點(diǎn)數(shù)據(jù)消息郵箱,將數(shù)據(jù)拆分,在GUI界面上顯示出來。
2.3 上位機(jī)軟件設(shè)計(jì)
上位機(jī)軟件由VB程序語言設(shè)計(jì),能夠?qū)崟r(shí)顯示溫度,濕度,光照,火焰數(shù)據(jù),同時(shí)溫度、光照度數(shù)據(jù)超過設(shè)定數(shù)值,上位機(jī)能夠報(bào)警,并能反向控制節(jié)點(diǎn)預(yù)警。
3 實(shí)驗(yàn)現(xiàn)象
在液晶屏上有三個(gè)NO號(hào)分別代表三個(gè)節(jié)點(diǎn),第一列是溫度顯示框,當(dāng)溫度大于25°時(shí)第一列文本框里的數(shù)字會(huì)變紅而且發(fā)出蜂鳴聲,小于25°轟鳴聲消失。第二列是光照顯示框,數(shù)值越大光照強(qiáng)度越高。第三列是火焰顯示框,當(dāng)檢測(cè)到火焰時(shí)數(shù)值變成1,文本數(shù)值變成紅色,實(shí)現(xiàn)火災(zāi)報(bào)警。第四列是濕度文本框,數(shù)值越高反映環(huán)境濕度越高。最下端三個(gè)Beep按鈕,分別控制三個(gè)節(jié)點(diǎn),點(diǎn)擊相應(yīng)的Beep按鈕對(duì)應(yīng)的節(jié)點(diǎn)會(huì)發(fā)出報(bào)警聲。
在上位機(jī)界面的監(jiān)測(cè)節(jié)點(diǎn)顯示文本框現(xiàn)象與網(wǎng)關(guān)實(shí)驗(yàn)圖一致,在發(fā)送區(qū)如果輸入1點(diǎn)擊節(jié)點(diǎn)報(bào)警按鈕,對(duì)應(yīng)1號(hào)的終端節(jié)點(diǎn)會(huì)發(fā)出報(bào)警聲。輸入2或者3,對(duì)應(yīng)的節(jié)點(diǎn)會(huì)發(fā)出報(bào)警聲。溫度如果大于25°則溫度報(bào)警提示旁的圖片會(huì)變紅,小于25°就恢復(fù)原狀。
4 小結(jié)
本文介紹的是采用無線傳感器網(wǎng)絡(luò)技術(shù)(ZigBee)實(shí)現(xiàn)數(shù)據(jù)的采集與控制。其中監(jiān)測(cè)節(jié)點(diǎn)實(shí)現(xiàn)對(duì)環(huán)境溫度、光照度、火焰和濕度的數(shù)據(jù)的采集,將接收的信息傳給協(xié)調(diào)器,協(xié)調(diào)器將數(shù)據(jù)用數(shù)組封裝起來,將信息用串口COM0傳送給網(wǎng)關(guān),網(wǎng)關(guān)利用中斷的方式接受協(xié)調(diào)器發(fā)送信息整合,在液晶屏上顯示,同時(shí)將信息利用串口2傳給上位機(jī),在上位機(jī)上顯示,上位機(jī)也可以反控監(jiān)測(cè)節(jié)點(diǎn),最后在液晶屏上顯示出4種監(jiān)測(cè)因子的數(shù)據(jù)。
【參考文獻(xiàn)】
[1]徐君麗,劉冀偉,王志良.基于無線網(wǎng)絡(luò)的智能監(jiān)控系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2005(21)6.
[2]夷文玉,陳維.無線環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)[J].現(xiàn)代電子技術(shù),2010,33(09):75-77.
[3]崔然,馬旭東,彭呂海.基于無線傳感技術(shù)的樓宇環(huán)境監(jiān)測(cè)系統(tǒng)設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2010,33(07):61-63,66.
[4]孫利民,李建中,陳渝,等.無線傳感器網(wǎng)絡(luò)[M].清華大學(xué)出版社,2005年5月第1版.
[5]蒙博宇.STM32自學(xué)筆記[M].北京:北京航空航天大學(xué)出版社,2014.2.
[6]任哲.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-II原理及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2009.10.
[責(zé)任編輯:王楠]