文獻(xiàn)標(biāo)識碼: A
文章編號: 0258-7998(2015)02-0086-03
0 引言
甲醛是一種致癌,、致畸物質(zhì),但其作為重要的有機原料以其低廉的價格在家裝建材中的應(yīng)用卻無處不在,,而且室內(nèi)裝修材料中的甲醛釋放期通常在3~15年左右[1],。天然氣、液化氣作為燃?xì)庖云浣?jīng)濟實用,、即開即用,、省時方便等優(yōu)點,近年來在人們的生產(chǎn)和生活中也得到了廣泛的應(yīng)用[2],。然而,,人們在享受科技帶來便利的同時,也承擔(dān)著潛在的難以估量的風(fēng)險,。
近年來由室內(nèi)甲醛含量超標(biāo)和天然氣,、液化氣泄露爆炸引起的人身傷害案例枚不勝舉,甲醛超標(biāo)和燃?xì)庑孤秲叭怀蔀槲:θ藗兩敭a(chǎn)安全的隱形殺手,。因此,,針對室內(nèi)空氣環(huán)境安全的監(jiān)控變得愈發(fā)重要,相應(yīng)研究也在各研究機構(gòu)逐漸展開[3-5],。ZigBee技術(shù)作為短距離無線通信技術(shù)[6-7],,以其低成本,、低功耗、自組網(wǎng)等優(yōu)點在工業(yè)監(jiān)控領(lǐng)域的應(yīng)用越來越廣,,尤其伴隨著ZigBee 2007協(xié)議的逐漸成熟,,其在智能家居和商業(yè)樓宇自動化方面的應(yīng)用前景越來越大[8-10]。本文基于此提出并設(shè)計了一套室內(nèi)空氣環(huán)境監(jiān)測控制系統(tǒng),,用以檢測燃?xì)庑孤逗图兹舛瘸瑯?biāo)等安全隱患,,旨在保障人民人身及財產(chǎn)安全。
1 系統(tǒng)概述
系統(tǒng)設(shè)計主要由中控中心,、終端傳感器節(jié)點及控制部分,、顯示輸出及聲光報警部分組成。系統(tǒng)整體構(gòu)架如圖1所示,。
附載有燃?xì)鈧鞲衅骱图兹﹤鞲衅鞯亩斯?jié)點在采集到有燃?xì)庑孤痘蚣兹┏瑯?biāo)的情況下,,通過本節(jié)點的CC2530控制器控制燃?xì)忾y門的關(guān)閉、排風(fēng)扇的開啟,,同時將燃?xì)庑孤痘蚣兹┏瑯?biāo)這一事件以自定義的幀格式通過Z-Stack協(xié)議棧無線發(fā)送給協(xié)調(diào)器端的CC2530,;然后其通過串口發(fā)送給STM32,STM32經(jīng)過分析幀格式做出相應(yīng)處理,,通過LCD液晶顯示燃?xì)庑孤?、甲醛超?biāo)等信息并產(chǎn)生聲光報警。另外,,協(xié)調(diào)器端可以通過按鍵向端節(jié)點廣播發(fā)送數(shù)據(jù)或控制信息,,像遙控器一樣控制天然氣閥門及排風(fēng)扇的開啟和關(guān)閉。
2 硬件設(shè)計
2.1 控制系統(tǒng)模塊硬件設(shè)計
系統(tǒng)中控中心采用STM32F103C8T6為主控制器,,STM32F103增強型系列使用高性能的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)控制整個系統(tǒng)的職責(zé),同時驅(qū)動蜂鳴器和液晶顯示,。STM32F103C8T6 與ZigBee無線傳感網(wǎng)絡(luò)通過PA9與PA10引腳與作為協(xié)調(diào)器的CC2530芯片的P0_1和P0_2端口相連,,在實際編程操作時,,需通過配置相應(yīng)函數(shù)及寄存器設(shè)置PA9與PA10為串口模式,。LCD液晶顯示端口采用STM32的PB組IO驅(qū)動。
2.2 端節(jié)點模塊硬件設(shè)計
系統(tǒng)端節(jié)點和協(xié)調(diào)器端都采用CC2530F256芯片作為控制器,,其是用于2.4 GHz IEEE 802.15.4,、ZigBee的一個真正的片上系統(tǒng)(SoC)解決方案[11]。整合了全集成的高效射頻收發(fā)機及業(yè)界標(biāo)準(zhǔn)的增強型8051微控制器,、8 KB的RAM和其他強大的支持功能和外設(shè),,具有18個中斷源,、兩個Uart串口收發(fā)器,內(nèi)置ADC并支持7到12位的分辨率,,能夠以非常低的材料成本建立強大的網(wǎng)絡(luò)節(jié)點,。CC2530的最小系統(tǒng)如圖2所示。
2.3 傳感器模塊設(shè)計
端節(jié)點模塊的設(shè)計采用MQ-2氣敏傳感器,、MQ-138甲醛傳感器采集數(shù)據(jù),,MQ系列傳感器以其高靈敏度特性、價格低廉及驅(qū)動電路簡單等特點廣泛適用于家庭和工廠的氣體監(jiān)測,。其驅(qū)動電路如圖3所示,。
如圖所示,MQ-X傳感器可以直接輸出模擬信號,,經(jīng)過LM393雙電壓比較器之后輸出數(shù)字信號,,可以直接與CC2530芯片I/O引腳相連,通過調(diào)節(jié)電位器R調(diào)節(jié)傳感器靈敏度,,通過檢測端口電平實現(xiàn)氣體預(yù)警檢測,。如需檢測較高精度的濃度信息,可以使用模擬輸出,,通過配置CC2530的APCCFG寄存器配置P0口為模擬輸入口,,同時配置ADCCON1、ADCCON2和ADCCON3相應(yīng)寄存器,,便可以實現(xiàn)高達(dá)12位分辨率的高精度A/D轉(zhuǎn)換,。本設(shè)計中,端節(jié)點的傳感器檢測信號采用DOUT與CC2530的P2_0端口相連,。
3 系統(tǒng)軟件設(shè)計
ZigBee芯片CC2530的開發(fā)采用軟件IAR Embedded Workbench IDE,,系統(tǒng)設(shè)計基于TI ZStack-CC2530-2.5.1a版本協(xié)議棧,綜合考量室內(nèi)環(huán)境的空間布局,,系統(tǒng)采用星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)來構(gòu)建WSN(Wireless Sensor Networks)網(wǎng)絡(luò)[12],。
3.1 Z-Stack協(xié)議棧開發(fā)概述
Z-Stack協(xié)議棧利用操作系統(tǒng)的思想來構(gòu)建,采用事件輪詢機制,,當(dāng)各層初始化之后,,系統(tǒng)進(jìn)入低功耗模式。當(dāng)事件發(fā)生時喚醒系統(tǒng),,開始進(jìn)入中斷處理事件,,結(jié)束后繼續(xù)進(jìn)入低功耗模式。如果同時有幾個事件發(fā)生,,判斷優(yōu)先級,,逐次處理事件。協(xié)議棧程序流程圖如圖4所示。
Z-Stack協(xié)議棧中有3個變量至關(guān)重要:(1)taskCnt變量,,保存了任務(wù)的總個數(shù),;(2)taskEvent指針變量,指向事件表的首地址,;(3)taskArr數(shù)組變量,,該數(shù)組的每一項都是一個函數(shù)指針,指向事件處理函數(shù),。在針對Z-stack協(xié)議棧進(jìn)行開發(fā)時,,要理解協(xié)議棧中每個文件夾的功能,同時需要對3個變量的意義有清楚的認(rèn)知,,學(xué)會調(diào)用協(xié)議棧提供的一些函數(shù)接口,,能夠在協(xié)議棧相應(yīng)文件中的合適位置添加或改動程序。
針對Z-Stack協(xié)議棧的開發(fā)步驟是:(1)在osalInitTasks()函數(shù)中添加任務(wù)號,;(2)將事件處理函數(shù)指針添加到pTaskEventHandlerFn tasksArr[]的最后,,因為tasksEvents和tasksArr[]里的順序是一一對應(yīng)的,tasksArr[]中的第i個事件處理函數(shù)對應(yīng)于tasksEvents中的第i個任務(wù)的事件,;(3)根據(jù)系統(tǒng)設(shè)計需要編寫事件處理函數(shù),,處理硬件設(shè)置與事件邏輯。
節(jié)點上電以后,,協(xié)議棧通過HalDriverInit()和osal_init_system()等函數(shù)對軟硬件初始化,,然后進(jìn)入函數(shù)osal_start_system()中,程序不會再返回,。在此函數(shù)中檢測是否有事件發(fā)生,,并在SampleApp_ProcessEvent(uint8 task_id, uint16 events)函數(shù)中處理事件。
本設(shè)計按實際需要在協(xié)議棧中修改的函數(shù)主要有:(1)MT層串口初始化函數(shù)MT_UartInit (),,在該函數(shù)中自定義了串口接受數(shù)據(jù)協(xié)議,、串口數(shù)據(jù)控制方式和波特率,通過函數(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),通過不同事件的標(biāo)志,,做出相應(yīng)的邏輯處理,。(3)自定義函數(shù)Sample-
App_SPI_SendData(uint8 *buf, uint8 len),處理來自STM32的串口信息,,廣播發(fā)送信息至終端,,使終端做出相應(yīng)控制。
3.2 終端節(jié)點軟件設(shè)計
終端節(jié)點的主要功能有:(1)加入監(jiān)控網(wǎng)絡(luò),;(2)采集傳感器數(shù)據(jù)將數(shù)據(jù)傳送至協(xié)調(diào)器,;(3)接收來自協(xié)調(diào)器的控制指令,,完成相應(yīng)任務(wù),。本設(shè)計中終端節(jié)點全部設(shè)置為路由,,當(dāng)路由不再轉(zhuǎn)發(fā)信息時將自動退化為終端節(jié)點。終端節(jié)點的軟件設(shè)計流程如圖5所示,。
端節(jié)點作為一個獨立的系統(tǒng),,通過CC2530可以實現(xiàn)相應(yīng)控制,包括通過控制機械手臂關(guān)閉燃?xì)忾y門和排風(fēng)扇的開關(guān)等,,無需協(xié)調(diào)器的干預(yù),。
3.3 協(xié)調(diào)器端軟件設(shè)計
協(xié)調(diào)器的主要功能是:(1)組建網(wǎng)絡(luò);(2)向串口發(fā)送或從串口接收數(shù)據(jù),。(3)廣播消息,。協(xié)調(diào)器端軟件設(shè)計流程如圖6所示。
3.4 程序下載配置與驗證
打開IAR Embedded Work-bench IDE可以發(fā)現(xiàn),,在work-space功能框上有一個下拉三角按鈕,,點開可以看到有DemoEB、Coordinator,、RouterEB和EndDeviceEB等選項,,每一項對應(yīng)一種設(shè)備類型屬性,通過選擇不同的設(shè)備類型選項來編譯下載程序到CC2530芯片中,,這樣就鎖定了該片芯片的設(shè)備類型,。
在相應(yīng)的設(shè)備類型下通過option選項里設(shè)置COORDINATOR=0或者1,然后在程序內(nèi)部通過在相應(yīng)程序段或數(shù)據(jù)前使用#ifdef ZDO_COORDINATOR或者#ifndef ZDO_COORDINATOR 宏定義來使能不同設(shè)備類型的處理函數(shù),。
配置好option對話框中C/C++ compiler菜單中的preprocessor中的Defined sysmbol后,, 點擊菜單欄中的make圖標(biāo) ,進(jìn)行編譯,,之后使用SmartRF04EB下載器連接CC2530,,點擊快捷圖標(biāo)Download and Debug 進(jìn)行下載。之后把終端節(jié)點的裝置連接好,,并在廚房內(nèi)進(jìn)行了燃?xì)鈧鞲衅鞯哪M測試,,用刨花板、膠合板制作了簡易盒子對甲醛傳感器進(jìn)行驗證測試,。
4 結(jié)束語
本文研究的是室內(nèi)空氣環(huán)境的安全監(jiān)測系統(tǒng)設(shè)計,,可以有效預(yù)防燃?xì)庑孤逗图兹┏瑯?biāo)造成的人身財產(chǎn)損害,具有一定的推廣價值,,經(jīng)濟潛力巨大,。目前系統(tǒng)通過若干結(jié)點實現(xiàn)了對室內(nèi)空氣中可能出現(xiàn)的主要危害進(jìn)行了監(jiān)測,并沒有充分發(fā)揮ZigBee技術(shù)的強大功能,,還有更多值得被監(jiān)測的信息需要被監(jiān)測,,需要更多的傳感器結(jié)點加入進(jìn)來。下一步將對傳感器結(jié)點的數(shù)量和協(xié)調(diào)器的處理算法進(jìn)行擴展和優(yōu)化,實現(xiàn)低功耗,、全方位,、安全高效的目標(biāo)。
參考文獻(xiàn)
[1] 韓愈.室內(nèi)甲醛污染與防治對策探究.科技信息[J].科技信息,,2014(7):262-263.
[2] 賈承造,,張永峰,趙霞.中國天然氣工業(yè)發(fā)展前景與挑戰(zhàn)[J].天然氣工業(yè),,2014,,34(2):1-11.
[3] 李成祥.智能型室內(nèi)空氣質(zhì)量檢測與控制系統(tǒng)[D].北京:北京交通大學(xué),2011.
[4] 謝躍東.基于MSP430的室內(nèi)甲醛檢測儀的設(shè)計[D].太原:太原理工大學(xué),,2012.
[5] 方熙坤.室內(nèi)空氣質(zhì)量監(jiān)測的探討[J].資源節(jié)約與環(huán)保,,2013(8):166-167.
[6] 閆沫.ZigBee協(xié)議棧的分析與設(shè)計[D].廈門:廈門大學(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].計算機技術(shù)與發(fā)展,,2012,22(11):197-200.
[9] 紀(jì)麗猛.基于ZigBee技術(shù)的無線數(shù)據(jù)采集系統(tǒng)研究與設(shè)計[D].秦皇島:燕山大學(xué),,2013.
[10] 王娟.基于ZigBee無線傳感網(wǎng)絡(luò)的智能家居系統(tǒng)設(shè)計與實現(xiàn)[D].南昌:東華理工大學(xué),,2013.
[11] 王小強,歐陽俊,,黃寧淋.ZigBee無線傳感器網(wǎng)絡(luò)設(shè)計與實現(xiàn)[M].北京:化學(xué)工業(yè)出版社,,2012:180-212.
[12] 黃真.基于ZStack的WSN節(jié)點中斷程序設(shè)計[J].單片機與嵌入式系統(tǒng)應(yīng)用,2011(7):79-81.