棗莊學(xué)院信息科學(xué)與工程學(xué)院 崔丹丹 劉玉潔 單承剛
本系統(tǒng)采用的ZigBee技術(shù)是一種基于IEEE 802.15.4協(xié)議標(biāo)準(zhǔn)的近距離、低復(fù)雜度、低功耗、低速率、低成本的雙向無(wú)線通訊技術(shù)。本文介紹了一種基于無(wú)線傳感器網(wǎng)絡(luò)技術(shù)的環(huán)境監(jiān)測(cè)系統(tǒng)。其采用無(wú)線傳感器網(wǎng)絡(luò)技術(shù)(ZigBee)實(shí)現(xiàn)數(shù)據(jù)的采集與控制功能。其監(jiān)測(cè)節(jié)點(diǎn)實(shí)現(xiàn)對(duì)環(huán)境溫度、光照度、火焰和濕度的數(shù)據(jù)采集,網(wǎng)關(guān)與上位機(jī)都可以對(duì)數(shù)據(jù)進(jìn)行實(shí)時(shí)監(jiān)測(cè)與反控。
系統(tǒng)通過STM32F107處理器實(shí)現(xiàn)了uC/OS-2-2操作系統(tǒng)的移植,系統(tǒng)采用的是ZigBee數(shù)據(jù)傳輸技術(shù)。系統(tǒng)利用CC2530構(gòu)建ZigBee傳感器監(jiān)測(cè)節(jié)點(diǎn),以Cortex-M3處理器構(gòu)建嵌入式網(wǎng)關(guān)。系統(tǒng)由路由器節(jié)點(diǎn)作為監(jiān)測(cè)節(jié)點(diǎn),通過路由節(jié)點(diǎn)上的傳感器采集數(shù)據(jù),并傳輸至協(xié)調(diào)器,協(xié)調(diào)器通過串口傳輸數(shù)據(jù)最后匯聚Cortex網(wǎng)關(guān)。
系統(tǒng)是基于ZigBee技術(shù)的無(wú)線環(huán)境監(jiān)測(cè)系統(tǒng)。CC2530是用于2.4-GHz IEEE 802.15.4、ZigBee 和RF4CE 應(yīng)用的一個(gè)真正的片上系統(tǒng)(Soc)。它能以非常低的成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。其硬件邏輯結(jié)構(gòu)主要是系統(tǒng)監(jiān)測(cè)節(jié)點(diǎn)對(duì)數(shù)據(jù)的采集、轉(zhuǎn)換以及相應(yīng)的傳輸顯示過程。其具體監(jiān)測(cè)節(jié)點(diǎn)硬件結(jié)構(gòu)如圖 1所示。
圖1 監(jiān)測(cè)節(jié)點(diǎn)硬件結(jié)構(gòu)圖
2.2.1 溫濕度傳感器
系統(tǒng)選用溫濕度傳感器SHT10,其中SHT10的供電電壓為2.4V~5.5V。SHT10的兩線串行接口在傳感器信號(hào)讀取和電源功耗方面都做了優(yōu)化處理,其總線類似I2C總線但并不兼容I2C總線。溫度傳感器是使用IO口模擬類I2C的過程進(jìn)行數(shù)據(jù)讀取的。SHT10溫濕度傳感器可使系統(tǒng)結(jié)構(gòu)更趨簡(jiǎn)單,可靠性更高。溫濕度傳感器電路圖如圖2所示。
圖2 溫濕度傳感器電路圖
2.2.2 光照傳感器
光照傳感器中內(nèi)置了高精度的16bit A/D轉(zhuǎn)換器,無(wú)需外部器件,可以直接輸出照度值。光照傳感器電路圖如圖3所示。
圖3 光照傳感器電路圖
2.2.3 火焰?zhèn)鞲衅?/p>
火焰?zhèn)鞲衅骼眉t外線對(duì)對(duì)火焰敏感的特點(diǎn),使用特制的紅外線接受管來(lái)檢測(cè)火焰,然后把火焰的亮度轉(zhuǎn)化為高低變化的電平信號(hào),輸入到中央處理器中,中央處理器根據(jù)信號(hào)的變化做出相應(yīng)的程序處理。
OSAL是以實(shí)現(xiàn)多任務(wù)為核心目標(biāo)的系統(tǒng)資源管理機(jī)制。ZSt ack協(xié)議棧中包括了:操作系統(tǒng)抽象層OSAL的協(xié)議棧調(diào)度程序。OSAL通過OSAL_ADD_TASK添加任務(wù)到任務(wù)表中,形成一個(gè)任務(wù)鏈表,這個(gè)任務(wù)鏈表是以任務(wù)的優(yōu)先級(jí)先后排序的。
節(jié)點(diǎn)程序采用OSAL的任務(wù)運(yùn)行機(jī)制,當(dāng)系統(tǒng)開始運(yùn)行時(shí),首先對(duì)各節(jié)點(diǎn)硬件進(jìn)行初始化,然后對(duì)各個(gè)層進(jìn)行初始化并注冊(cè)各節(jié)點(diǎn)性質(zhì),最后由協(xié)調(diào)器組建網(wǎng)絡(luò),路由節(jié)點(diǎn)申請(qǐng)入網(wǎng)。網(wǎng)絡(luò)建立成功后,各節(jié)點(diǎn)便進(jìn)入OSAL操作系統(tǒng)循環(huán),然后根據(jù)情況調(diào)用相應(yīng)的事件處理函數(shù)。監(jiān)測(cè)節(jié)點(diǎn)主程序流程如圖4所示。
圖4 監(jiān)測(cè)節(jié)點(diǎn)主程序流程圖
3.3.1 溫濕度傳感器采集程序
溫濕度傳感器中的探頭直接使用IIC接口進(jìn)行控制,本實(shí)驗(yàn)使用CC2530讀取溫濕度傳感器SHT10的溫度和濕度數(shù)據(jù),并將采樣到的數(shù)據(jù)轉(zhuǎn)換然后再LCD顯示。其中對(duì)溫濕度的讀取是利用CC2530的I/O模擬一個(gè)類IIC的過程。具體數(shù)據(jù)的電路圖如圖5所示。
圖5 溫濕度傳感器數(shù)據(jù)采集流程圖
3.3.2 光照傳感器的硬件連接及數(shù)據(jù)采集
通過CC2530自帶的光照傳感器接收到的環(huán)境的光強(qiáng)產(chǎn)生的電壓變化,傳給協(xié)調(diào)器,通過A/D轉(zhuǎn)換將光照值轉(zhuǎn)換成具體數(shù)值,若參數(shù)在設(shè)定范圍(0-100)內(nèi),將收集到的光照數(shù)據(jù)傳送給網(wǎng)關(guān)和上位機(jī);若不在范圍(0-100)內(nèi),蜂鳴器報(bào)警。
3.3.3 火焰?zhèn)鞲衅鞯挠布B接及數(shù)據(jù)采集
火焰?zhèn)鞲衅鞯臄?shù)據(jù)采集是通過檢測(cè)傳感器端口的狀態(tài)的變化來(lái)實(shí)現(xiàn)的。端口狀態(tài)為高電平時(shí)為有火焰,低電平無(wú)火焰,通過協(xié)調(diào)器檢測(cè)端口狀態(tài),將數(shù)值傳至網(wǎng)關(guān),網(wǎng)關(guān)將數(shù)值通過串口傳給PC機(jī),利用PC機(jī)軟件將數(shù)值實(shí)時(shí)顯示出來(lái)。
本文介紹了基于無(wú)線傳感器網(wǎng)絡(luò)技術(shù)的環(huán)境監(jiān)測(cè)系統(tǒng)。系統(tǒng)的核心技術(shù)是ZigBee技術(shù),ZigBee技術(shù)是一種低數(shù)據(jù)傳輸速率的無(wú)線個(gè)域網(wǎng)。設(shè)備按照各自作用的不同可以分為協(xié)調(diào)器節(jié)點(diǎn)、路由器節(jié)點(diǎn)和終端節(jié)點(diǎn)。其中ZigBee網(wǎng)絡(luò)協(xié)調(diào)器是整個(gè)網(wǎng)絡(luò)的中心,它的功能包括建立、維持和管理網(wǎng)絡(luò),分配網(wǎng)絡(luò)地址等。ZigBee路由器主要負(fù)責(zé)路由發(fā)現(xiàn)、消息傳輸、允許其他節(jié)點(diǎn)通過它接入到網(wǎng)絡(luò)。ZigBee終端節(jié)點(diǎn)是通過ZigBee協(xié)調(diào)器或ZigBee路由器接入到網(wǎng)絡(luò)中,ZigBee終端節(jié)點(diǎn)主要負(fù)責(zé)數(shù)據(jù)采集或控制功能,但不允許其他節(jié)點(diǎn)通過它接入到網(wǎng)絡(luò)中。
[1]張曉林,崔迎煒.嵌入式系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[M].北京航空航天大學(xué)出版社,2006.
[2]王宜懷,劉曉升.嵌入式技術(shù)基礎(chǔ)與實(shí)踐[M].清華大學(xué)出版社,2007.
[3]張石.嵌入式系統(tǒng)技術(shù)教程[M].人民郵電出版社,2009.
[4]李風(fēng)保,李凌.無(wú)線傳感器網(wǎng)絡(luò)技術(shù)綜述[J].儀器儀表學(xué)報(bào),2005,8(26):559-561.
[5]劉銳,王林.基于ARM數(shù)據(jù)采集系統(tǒng)的設(shè)計(jì)[J].中國(guó)測(cè)試,2010.
[6]王殊,閻毓杰,胡富平.無(wú)線傳感器網(wǎng)絡(luò)的理論及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007.
[7]ZigBee Alliance.ZigBee Specification,Version 1.0[S].http://www.zigbee.org.