《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于ZigBee的室內(nèi)空氣環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)
基于ZigBee的室內(nèi)空氣環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)
2015年電子技術(shù)應(yīng)用第2期
朱恒軍,張玉龍,靳 展,劉文禮
齊齊哈爾大學(xué) 通信與電子工程學(xué)院,黑龍江 齊齊哈爾161006
摘要: 設(shè)計(jì)了一種有效監(jiān)控室內(nèi)甲醛含量及燃?xì)庑孤兜慕鉀Q方案,基于ZigBee無(wú)線傳感網(wǎng)絡(luò)技術(shù),采用Z-Stack協(xié)議棧組成監(jiān)控網(wǎng)絡(luò),通過(guò)端節(jié)點(diǎn)的高性能氣敏傳感器實(shí)時(shí)采集室內(nèi)空氣中甲醛含量及天然氣安全情況。有安全隱患出現(xiàn)時(shí),可以自動(dòng)選擇報(bào)警、關(guān)閥或開(kāi)排風(fēng)扇等相應(yīng)措施排除災(zāi)情隱患。
關(guān)鍵詞: ZigBee Z-Stack 甲醛 天然氣
中圖分類號(hào): TP212.9
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2015)02-0086-03
Design of indoor air environment monitor based on ZigBee
Zhu Hengjun,Zhang Yulong,Jin Zhan,Liu Wenli
Communication and Electronics Engineering Institute,Qiqihar University,Qiqihar 161006,China
Abstract: An effective solution was designed to monitor the combustible gas leakage and the concentration of formaldehyde by using ZigBee wireless sensor network technology, adopting Z-Stack protocol to constitute monitoring network. The high-performance sensor attached on the endpoint could gather the real-time information of the levels of formaldehyde in indoor air and also detect whether the house have a gas leakage. When a safety hazards occurs, measures will be automatically taken, such as shut off valves or turn on the ventilator or alarm, to eliminate hidden dangers.
Key words : ZigBee;Z-Stack;formaldehyde;natural gas;monitor

 

0 引言

  甲醛是一種致癌、致畸物質(zhì),但其作為重要的有機(jī)原料以其低廉的價(jià)格在家裝建材中的應(yīng)用卻無(wú)處不在,而且室內(nèi)裝修材料中的甲醛釋放期通常在3~15年左右[1]。天然氣、液化氣作為燃?xì)庖云浣?jīng)濟(jì)實(shí)用、即開(kāi)即用、省時(shí)方便等優(yōu)點(diǎn),近年來(lái)在人們的生產(chǎn)和生活中也得到了廣泛的應(yīng)用[2]。然而,人們?cè)谙硎芸萍紟?lái)便利的同時(shí),也承擔(dān)著潛在的難以估量的風(fēng)險(xiǎn)。

  近年來(lái)由室內(nèi)甲醛含量超標(biāo)和天然氣、液化氣泄露爆炸引起的人身傷害案例枚不勝舉,甲醛超標(biāo)和燃?xì)庑孤秲叭怀蔀槲:θ藗兩?cái)產(chǎn)安全的隱形殺手。因此,針對(duì)室內(nèi)空氣環(huán)境安全的監(jiān)控變得愈發(fā)重要,相應(yīng)研究也在各研究機(jī)構(gòu)逐漸展開(kāi)[3-5]。ZigBee技術(shù)作為短距離無(wú)線通信技術(shù)[6-7],以其低成本、低功耗、自組網(wǎng)等優(yōu)點(diǎn)在工業(yè)監(jiān)控領(lǐng)域的應(yīng)用越來(lái)越廣,尤其伴隨著ZigBee 2007協(xié)議的逐漸成熟,其在智能家居和商業(yè)樓宇自動(dòng)化方面的應(yīng)用前景越來(lái)越大[8-10]。本文基于此提出并設(shè)計(jì)了一套室內(nèi)空氣環(huán)境監(jiān)測(cè)控制系統(tǒng),用以檢測(cè)燃?xì)庑孤逗图兹舛瘸瑯?biāo)等安全隱患,旨在保障人民人身及財(cái)產(chǎn)安全。

1 系統(tǒng)概述

  系統(tǒng)設(shè)計(jì)主要由中控中心、終端傳感器節(jié)點(diǎn)及控制部分、顯示輸出及聲光報(bào)警部分組成。系統(tǒng)整體構(gòu)架如圖1所示。

001.jpg

  附載有燃?xì)鈧鞲衅骱图兹﹤鞲衅鞯亩斯?jié)點(diǎn)在采集到有燃?xì)庑孤痘蚣兹┏瑯?biāo)的情況下,通過(guò)本節(jié)點(diǎn)的CC2530控制器控制燃?xì)忾y門(mén)的關(guān)閉、排風(fēng)扇的開(kāi)啟,同時(shí)將燃?xì)庑孤痘蚣兹┏瑯?biāo)這一事件以自定義的幀格式通過(guò)Z-Stack協(xié)議棧無(wú)線發(fā)送給協(xié)調(diào)器端的CC2530;然后其通過(guò)串口發(fā)送給STM32,STM32經(jīng)過(guò)分析幀格式做出相應(yīng)處理,通過(guò)LCD液晶顯示燃?xì)庑孤丁⒓兹┏瑯?biāo)等信息并產(chǎn)生聲光報(bào)警。另外,協(xié)調(diào)器端可以通過(guò)按鍵向端節(jié)點(diǎn)廣播發(fā)送數(shù)據(jù)或控制信息,像遙控器一樣控制天然氣閥門(mén)及排風(fēng)扇的開(kāi)啟和關(guān)閉。

2 硬件設(shè)計(jì)

  2.1 控制系統(tǒng)模塊硬件設(shè)計(jì)

  系統(tǒng)中控中心采用STM32F103C8T6為主控制器,STM32F103增強(qiáng)型系列使用高性能的ARM Cortex-M3 32位的RISC內(nèi)核,工作頻率為72 MHz,具有豐富的片上資源和多種標(biāo)準(zhǔn)通信I/O接口。

  作為協(xié)調(diào)器端的主控制器,STM32F103C8T6主要擔(dān)負(fù)著協(xié)調(diào)控制整個(gè)系統(tǒng)的職責(zé),同時(shí)驅(qū)動(dòng)蜂鳴器和液晶顯示。STM32F103C8T6 與ZigBee無(wú)線傳感網(wǎng)絡(luò)通過(guò)PA9與PA10引腳與作為協(xié)調(diào)器的CC2530芯片的P0_1和P0_2端口相連,在實(shí)際編程操作時(shí),需通過(guò)配置相應(yīng)函數(shù)及寄存器設(shè)置PA9與PA10為串口模式。LCD液晶顯示端口采用STM32的PB組IO驅(qū)動(dòng)。

  2.2 端節(jié)點(diǎn)模塊硬件設(shè)計(jì)

  系統(tǒng)端節(jié)點(diǎn)和協(xié)調(diào)器端都采用CC2530F256芯片作為控制器,其是用于2.4 GHz IEEE 802.15.4、ZigBee的一個(gè)真正的片上系統(tǒng)(SoC)解決方案[11]。整合了全集成的高效射頻收發(fā)機(jī)及業(yè)界標(biāo)準(zhǔn)的增強(qiáng)型8051微控制器、8 KB的RAM和其他強(qiáng)大的支持功能和外設(shè),具有18個(gè)中斷源、兩個(gè)Uart串口收發(fā)器,內(nèi)置ADC并支持7到12位的分辨率,能夠以非常低的材料成本建立強(qiáng)大的網(wǎng)絡(luò)節(jié)點(diǎn)。CC2530的最小系統(tǒng)如圖2所示。

002.jpg

  2.3 傳感器模塊設(shè)計(jì)

  端節(jié)點(diǎn)模塊的設(shè)計(jì)采用MQ-2氣敏傳感器、MQ-138甲醛傳感器采集數(shù)據(jù),MQ系列傳感器以其高靈敏度特性、價(jià)格低廉及驅(qū)動(dòng)電路簡(jiǎn)單等特點(diǎn)廣泛適用于家庭和工廠的氣體監(jiān)測(cè)。其驅(qū)動(dòng)電路如圖3所示。

003.jpg

  如圖所示,MQ-X傳感器可以直接輸出模擬信號(hào),經(jīng)過(guò)LM393雙電壓比較器之后輸出數(shù)字信號(hào),可以直接與CC2530芯片I/O引腳相連,通過(guò)調(diào)節(jié)電位器R調(diào)節(jié)傳感器靈敏度,通過(guò)檢測(cè)端口電平實(shí)現(xiàn)氣體預(yù)警檢測(cè)。如需檢測(cè)較高精度的濃度信息,可以使用模擬輸出,通過(guò)配置CC2530的APCCFG寄存器配置P0口為模擬輸入口,同時(shí)配置ADCCON1、ADCCON2和ADCCON3相應(yīng)寄存器,便可以實(shí)現(xiàn)高達(dá)12位分辨率的高精度A/D轉(zhuǎn)換。本設(shè)計(jì)中,端節(jié)點(diǎn)的傳感器檢測(cè)信號(hào)采用DOUT與CC2530的P2_0端口相連。

3 系統(tǒng)軟件設(shè)計(jì)

  ZigBee芯片CC2530的開(kāi)發(fā)采用軟件IAR Embedded Workbench IDE,系統(tǒng)設(shè)計(jì)基于TI ZStack-CC2530-2.5.1a版本協(xié)議棧,綜合考量室內(nèi)環(huán)境的空間布局,系統(tǒng)采用星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)來(lái)構(gòu)建WSN(Wireless Sensor Networks)網(wǎng)絡(luò)[12]。

  3.1 Z-Stack協(xié)議棧開(kāi)發(fā)概述

  Z-Stack協(xié)議棧利用操作系統(tǒng)的思想來(lái)構(gòu)建,采用事件輪詢機(jī)制,當(dāng)各層初始化之后,系統(tǒng)進(jìn)入低功耗模式。當(dāng)事件發(fā)生時(shí)喚醒系統(tǒng),開(kāi)始進(jìn)入中斷處理事件,結(jié)束后繼續(xù)進(jìn)入低功耗模式。如果同時(shí)有幾個(gè)事件發(fā)生,判斷優(yōu)先級(jí),逐次處理事件。協(xié)議棧程序流程圖如圖4所示。

004.jpg

  Z-Stack協(xié)議棧中有3個(gè)變量至關(guān)重要:(1)taskCnt變量,保存了任務(wù)的總個(gè)數(shù);(2)taskEvent指針變量,指向事件表的首地址;(3)taskArr數(shù)組變量,該數(shù)組的每一項(xiàng)都是一個(gè)函數(shù)指針,指向事件處理函數(shù)。在針對(duì)Z-stack協(xié)議棧進(jìn)行開(kāi)發(fā)時(shí),要理解協(xié)議棧中每個(gè)文件夾的功能,同時(shí)需要對(duì)3個(gè)變量的意義有清楚的認(rèn)知,學(xué)會(huì)調(diào)用協(xié)議棧提供的一些函數(shù)接口,能夠在協(xié)議棧相應(yīng)文件中的合適位置添加或改動(dòng)程序。

  針對(duì)Z-Stack協(xié)議棧的開(kāi)發(fā)步驟是:(1)在osalInitTasks()函數(shù)中添加任務(wù)號(hào);(2)將事件處理函數(shù)指針添加到pTaskEventHandlerFn tasksArr[]的最后,因?yàn)閠asksEvents和tasksArr[]里的順序是一一對(duì)應(yīng)的,tasksArr[]中的第i個(gè)事件處理函數(shù)對(duì)應(yīng)于tasksEvents中的第i個(gè)任務(wù)的事件;(3)根據(jù)系統(tǒng)設(shè)計(jì)需要編寫(xiě)事件處理函數(shù),處理硬件設(shè)置與事件邏輯。

  節(jié)點(diǎn)上電以后,協(xié)議棧通過(guò)HalDriverInit()和osal_init_system()等函數(shù)對(duì)軟硬件初始化,然后進(jìn)入函數(shù)osal_start_system()中,程序不會(huì)再返回。在此函數(shù)中檢測(cè)是否有事件發(fā)生,并在SampleApp_ProcessEvent(uint8 task_id, uint16 events)函數(shù)中處理事件。

  本設(shè)計(jì)按實(shí)際需要在協(xié)議棧中修改的函數(shù)主要有:(1)MT層串口初始化函數(shù)MT_UartInit (),在該函數(shù)中自定義了串口接受數(shù)據(jù)協(xié)議、串口數(shù)據(jù)控制方式和波特率,通過(guò)函數(shù) osal_set_event(SampleApp_TaskID, UART_RX_CB_EVT)設(shè)置了觸發(fā)事件,并把串口回調(diào)函數(shù)指針傳遞給uartConfig.callBackFunc調(diào)用;(2)任務(wù)處理函數(shù)SampleApp_ProcessEvent( uint8 task_id, uint16 events),通過(guò)不同事件的標(biāo)志,做出相應(yīng)的邏輯處理。(3)自定義函數(shù)Sample-

  App_SPI_SendData(uint8 *buf, uint8 len),處理來(lái)自STM32的串口信息,廣播發(fā)送信息至終端,使終端做出相應(yīng)控制。

  3.2 終端節(jié)點(diǎn)軟件設(shè)計(jì)

  終端節(jié)點(diǎn)的主要功能有:(1)加入監(jiān)控網(wǎng)絡(luò);(2)采集傳感器數(shù)據(jù)將數(shù)據(jù)傳送至協(xié)調(diào)器;(3)接收來(lái)自協(xié)調(diào)器的控制指令,完成相應(yīng)任務(wù)。本設(shè)計(jì)中終端節(jié)點(diǎn)全部設(shè)置為路由,當(dāng)路由不再轉(zhuǎn)發(fā)信息時(shí)將自動(dòng)退化為終端節(jié)點(diǎn)。終端節(jié)點(diǎn)的軟件設(shè)計(jì)流程如圖5所示。

005.jpg

  端節(jié)點(diǎn)作為一個(gè)獨(dú)立的系統(tǒng),通過(guò)CC2530可以實(shí)現(xiàn)相應(yīng)控制,包括通過(guò)控制機(jī)械手臂關(guān)閉燃?xì)忾y門(mén)和排風(fēng)扇的開(kāi)關(guān)等,無(wú)需協(xié)調(diào)器的干預(yù)。

  3.3 協(xié)調(diào)器端軟件設(shè)計(jì)

  協(xié)調(diào)器的主要功能是:(1)組建網(wǎng)絡(luò);(2)向串口發(fā)送或從串口接收數(shù)據(jù)。(3)廣播消息。協(xié)調(diào)器端軟件設(shè)計(jì)流程如圖6所示。

006.jpg

  3.4 程序下載配置與驗(yàn)證

  打開(kāi)IAR Embedded Work-bench IDE可以發(fā)現(xiàn),在work-space功能框上有一個(gè)下拉三角按鈕,點(diǎn)開(kāi)可以看到有DemoEB、Coordinator、RouterEB和EndDeviceEB等選項(xiàng),每一項(xiàng)對(duì)應(yīng)一種設(shè)備類型屬性,通過(guò)選擇不同的設(shè)備類型選項(xiàng)來(lái)編譯下載程序到CC2530芯片中,這樣就鎖定了該片芯片的設(shè)備類型。

  在相應(yīng)的設(shè)備類型下通過(guò)option選項(xiàng)里設(shè)置COORDINATOR=0或者1,然后在程序內(nèi)部通過(guò)在相應(yīng)程序段或數(shù)據(jù)前使用#ifdef  ZDO_COORDINATOR或者#ifndef ZDO_COORDINATOR 宏定義來(lái)使能不同設(shè)備類型的處理函數(shù)。

  配置好option對(duì)話框中C/C++ compiler菜單中的preprocessor中的Defined sysmbol后, 點(diǎn)擊菜單欄中的make圖標(biāo)    ,進(jìn)行編譯,之后使用SmartRF04EB下載器連接CC2530,點(diǎn)擊快捷圖標(biāo)Download and Debug     進(jìn)行下載。之后把終端節(jié)點(diǎn)的裝置連接好,并在廚房?jī)?nèi)進(jìn)行了燃?xì)鈧鞲衅鞯哪M測(cè)試,用刨花板、膠合板制作了簡(jiǎn)易盒子對(duì)甲醛傳感器進(jìn)行驗(yàn)證測(cè)試。

4 結(jié)束語(yǔ)

  本文研究的是室內(nèi)空氣環(huán)境的安全監(jiān)測(cè)系統(tǒng)設(shè)計(jì),可以有效預(yù)防燃?xì)庑孤逗图兹┏瑯?biāo)造成的人身財(cái)產(chǎn)損害,具有一定的推廣價(jià)值,經(jīng)濟(jì)潛力巨大。目前系統(tǒng)通過(guò)若干結(jié)點(diǎn)實(shí)現(xiàn)了對(duì)室內(nèi)空氣中可能出現(xiàn)的主要危害進(jìn)行了監(jiān)測(cè),并沒(méi)有充分發(fā)揮ZigBee技術(shù)的強(qiáng)大功能,還有更多值得被監(jiān)測(cè)的信息需要被監(jiān)測(cè),需要更多的傳感器結(jié)點(diǎn)加入進(jìn)來(lái)。下一步將對(duì)傳感器結(jié)點(diǎn)的數(shù)量和協(xié)調(diào)器的處理算法進(jìn)行擴(kuò)展和優(yōu)化,實(shí)現(xiàn)低功耗、全方位、安全高效的目標(biāo)。

  參考文獻(xiàn)

  [1] 韓愈.室內(nèi)甲醛污染與防治對(duì)策探究.科技信息[J].科技信息,2014(7):262-263.

  [2] 賈承造,張永峰,趙霞.中國(guó)天然氣工業(yè)發(fā)展前景與挑戰(zhàn)[J].天然氣工業(yè),2014,34(2):1-11.

  [3] 李成祥.智能型室內(nèi)空氣質(zhì)量檢測(cè)與控制系統(tǒng)[D].北京:北京交通大學(xué),2011.

  [4] 謝躍東.基于MSP430的室內(nèi)甲醛檢測(cè)儀的設(shè)計(jì)[D].太原:太原理工大學(xué),2012.

  [5] 方熙坤.室內(nèi)空氣質(zhì)量監(jiān)測(cè)的探討[J].資源節(jié)約與環(huán)保,2013(8):166-167.

  [6] 閆沫.ZigBee協(xié)議棧的分析與設(shè)計(jì)[D].廈門(mén):廈門(mén)大學(xué),2007.

  [7] Hu Xiangdong,Xu Hongru,Han Kaimin.Design and imple-mentation of secure nodes in the based-Internet-of-Thingsintelligent household[J].Journal of Computer and Communi-cations,2014,2(7):1-7.

  [8] 蔡利婷,陳平華,羅彬,等.基于CC2530的ZigBee數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2012,22(11):197-200.

  [9] 紀(jì)麗猛.基于ZigBee技術(shù)的無(wú)線數(shù)據(jù)采集系統(tǒng)研究與設(shè)計(jì)[D].秦皇島:燕山大學(xué),2013.

  [10] 王娟.基于ZigBee無(wú)線傳感網(wǎng)絡(luò)的智能家居系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[D].南昌:東華理工大學(xué),2013.

  [11] 王小強(qiáng),歐陽(yáng)俊,黃寧淋.ZigBee無(wú)線傳感器網(wǎng)絡(luò)設(shè)計(jì)與實(shí)現(xiàn)[M].北京:化學(xué)工業(yè)出版社,2012:180-212.

  [12] 黃真.基于ZStack的WSN節(jié)點(diǎn)中斷程序設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2011(7):79-81.


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。