高慶云
(杭州職業(yè)技術(shù)學(xué)院機(jī)電系,浙江 杭州310018)
環(huán)境監(jiān)測(cè)是為保護(hù)環(huán)境和保障人群健康,運(yùn)用化學(xué)、生物學(xué)、物理學(xué)和公共衛(wèi)生學(xué)等方法間斷或連續(xù)地測(cè)定環(huán)境中污染物的濃度,觀察、分析其變化和對(duì)環(huán)境影響的過程[1]。隨著社會(huì)進(jìn)步與經(jīng)濟(jì)快速發(fā)展,環(huán)境保護(hù)問題越來越受到人們的關(guān)注。世界各國(guó)都致力于控制和減少環(huán)境污染,研究環(huán)境可持續(xù)發(fā)展的綠色方案,我國(guó)也提出了發(fā)展低碳經(jīng)濟(jì)的戰(zhàn)略目標(biāo),并對(duì)環(huán)境自動(dòng)監(jiān)控提出了更高的要求。
大氣環(huán)境監(jiān)測(cè)系統(tǒng)所獲得的環(huán)境數(shù)據(jù)應(yīng)能夠準(zhǔn)確、及時(shí)、全面地反映特定區(qū)域環(huán)境的質(zhì)量現(xiàn)狀及其變化趨勢(shì),要求覆蓋面廣,監(jiān)測(cè)點(diǎn)布設(shè)靈活,從而為環(huán)境管理、污染源控制和環(huán)境規(guī)劃等提供科學(xué)依據(jù)。基于無線傳感器網(wǎng)絡(luò)的大氣環(huán)境監(jiān)測(cè)系統(tǒng)可以實(shí)現(xiàn)特定區(qū)域環(huán)境信息的實(shí)時(shí)采集、無線傳輸和集中處理,是實(shí)現(xiàn)大氣環(huán)境網(wǎng)絡(luò)化監(jiān)測(cè)的一種先進(jìn)解決方案。
基于無線傳感器網(wǎng)絡(luò)的大氣環(huán)境監(jiān)測(cè)網(wǎng)絡(luò)結(jié)構(gòu)如圖1所示。嵌入式網(wǎng)關(guān)和若干傳感器網(wǎng)絡(luò)節(jié)點(diǎn)組成星形拓?fù)浣Y(jié)構(gòu)的無線傳感器網(wǎng)絡(luò)。由隨機(jī)部署在感興趣區(qū)域內(nèi)的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)時(shí)采集大氣環(huán)境信息和氣象參數(shù),經(jīng)過預(yù)處理之后,以ZigBee無線通信方式發(fā)送到嵌入式網(wǎng)關(guān);嵌入式網(wǎng)關(guān)也具有環(huán)境數(shù)據(jù)采集能力,還配置了LCD觸摸屏人機(jī)界面,其主要功能是將各監(jiān)測(cè)點(diǎn)的環(huán)境數(shù)據(jù)匯總之后,通過Internet傳送給大氣環(huán)境監(jiān)測(cè)中心 (PC),即實(shí)現(xiàn)無線傳感器網(wǎng)絡(luò)的Internet接入。環(huán)境監(jiān)測(cè)中心對(duì)特定區(qū)域的大量環(huán)境數(shù)據(jù)和氣象參數(shù)進(jìn)行檢查分析之后,存儲(chǔ)到Access數(shù)據(jù)庫中,以便統(tǒng)計(jì)處理和數(shù)據(jù)查詢。
圖1 大氣環(huán)境監(jiān)測(cè)網(wǎng)絡(luò)結(jié)構(gòu)
大氣環(huán)境質(zhì)量監(jiān)測(cè)(air quality monitoring)是指對(duì)一個(gè)地區(qū)大氣中的主要污染物進(jìn)行布點(diǎn)觀測(cè),并由此評(píng)價(jià)大氣環(huán)境質(zhì)量的過程[2]。國(guó)務(wù)院環(huán)境保護(hù)領(lǐng)導(dǎo)小組發(fā)布的《環(huán)境空氣質(zhì)量標(biāo)準(zhǔn)》規(guī)定了環(huán)境空氣質(zhì)量功能區(qū)劃分、標(biāo)準(zhǔn)分級(jí)、污染物項(xiàng)目、取值時(shí)間及濃度限值。選擇《環(huán)境空氣質(zhì)量標(biāo)準(zhǔn)》中規(guī)定的二氧化硫(SO2)、二氧化氮(NO2)、一氧化碳(CO)、臭氧(O3)等可用傳感器測(cè)量的幾種大氣污染物作為系統(tǒng)監(jiān)測(cè)對(duì)象。由于大氣污染與氣象條件密切相關(guān),因而在大氣污染監(jiān)測(cè)中應(yīng)包括風(fēng)向、風(fēng)速、溫度、相對(duì)濕度、氣壓等氣象參數(shù)的測(cè)定[3]。此外,CO2是反映碳排放的重要指標(biāo),所以將其列為監(jiān)測(cè)項(xiàng)目之一,故基于無線傳感器網(wǎng)絡(luò)的大氣環(huán)境監(jiān)測(cè)系統(tǒng)的監(jiān)測(cè)變量共有10種。遵循低成本、高可靠性、適當(dāng)精度、使用方便等原則,為大氣環(huán)境監(jiān)測(cè)系統(tǒng)配置了以下8種傳感器模塊:
(1)SO2傳感器:選擇模擬輸出型二氧化硫傳感器模塊 SMCCDX,它采用雙光束非分光紅外線(NDIR)檢測(cè)技術(shù),具有抗其它氣體干擾、穩(wěn)定性好、自帶溫度補(bǔ)償?shù)忍攸c(diǎn),輸出符合Modbus協(xié)議的模擬信號(hào)4~20mA,經(jīng)過信號(hào)變送器產(chǎn)生0~5VDC的模擬信號(hào)。
(2)NO2傳感器:選用深圳市富安達(dá)智能科技有限公司研發(fā)的NO2/S-500-S傳感器(量程:0~500ppm,分辨率:0.5ppm,工作溫度范圍:-20°C-45°C,工作濕度范圍:15-90%),無需偏執(zhí)電壓,具有良好的重復(fù)再現(xiàn)性和長(zhǎng)期穩(wěn)定性,經(jīng)信號(hào)放大電路及信號(hào)變送器輸出0~5VDC的模擬信號(hào)。
(3)CO傳感器:選用英國(guó)Alphasense公司的一氧化碳傳感器COBF(量程:0-1000ppm,分辨率:0.5ppm,工作溫度:-30~50℃,工作濕度:15~90%RH),經(jīng)信號(hào)放大及變送后產(chǎn)生0~5VDC模擬信號(hào)。
(4)O3傳感器:選用MQ131臭氧氣體檢測(cè)模塊(工作電壓:5VDC),它具有模擬量輸出及TTL電平輸出的雙路信號(hào)輸出,TTL低電平輸出有效,可直接與單片機(jī)I/O口相連。
(5)風(fēng)速風(fēng)向傳感器:配置的M288865包括了風(fēng)速傳感器和風(fēng)向傳感器。風(fēng)速傳感器(量程:0~40m/s,精度:±0.3m/s)可以產(chǎn)生TTL電平頻率信號(hào),風(fēng)向傳感器(量程:0~360o,精度:0.1%)在精密導(dǎo)電塑料電位器的活動(dòng)端產(chǎn)生變化的電阻信號(hào)輸出,可經(jīng)過變換電路產(chǎn)生0~5VDC模擬輸出信號(hào)。
(6)溫濕度傳感器:選用含有校準(zhǔn)數(shù)字信號(hào)輸出的數(shù)字溫濕度傳感器SHT11(溫度量程:-40~123.8℃,濕度量程:0~100%RH,溫度測(cè)量精度:±0.3℃,濕度測(cè)量精度:1.8%),它采用準(zhǔn)IIC方式傳輸數(shù)據(jù)。
(7)氣壓傳感器:選擇德國(guó)BOSCH氣壓傳感器系列的BMP085(量程:300~1100mbar,精度:0.03mbar,工作溫度范圍:-40℃~85℃),用8-Pin陶瓷無引線芯片承載(LCC)超薄封裝,可以通過IIC總線直接與各種微處理器相連。
(8)CO2傳感器:選擇采用固體電解質(zhì)電池原理的MG811型CO2氣體傳感器。該傳感器受溫濕度變化的影響較小,具有良好的穩(wěn)定性、再現(xiàn)性,經(jīng)信號(hào)放大及調(diào)理后產(chǎn)生0~5VDC的模擬輸出信號(hào)。
傳感器網(wǎng)絡(luò)節(jié)點(diǎn)是一個(gè)由傳感單元、處理單元、無線收發(fā)單元和電源單元4個(gè)功能模塊組成的微型嵌入式系統(tǒng)[4],其硬件組成如圖2所示。它的控制能力、數(shù)據(jù)存儲(chǔ)能力、分析計(jì)算能力和通信能力相對(duì)嵌入式網(wǎng)關(guān)較弱。傳感單元分為模擬和數(shù)據(jù)兩部分,SO2傳感器 (SMCCDX)、NO2傳感器 (NO2/S-500-S)、CO傳感器 (CO-BF)、CO2傳感器(MG811)和風(fēng)向傳感器(M288865/DIR)的輸出信號(hào)經(jīng)過放大和調(diào)理之后,輸出0~5V模擬信號(hào),可接入MCU的ADC通道;O3傳感器(MQ131)、風(fēng)速傳感器(M288865/SPEED)輸出TTL電平脈沖信號(hào),可接入MCU的計(jì)數(shù)通道。溫濕度傳感器(SHT11)采用準(zhǔn)IIC方式向MCU發(fā)送數(shù)據(jù),DATA和SCK信號(hào)可直接與MCU的I/O引腳連接;氣壓傳感器(BMP085)使用標(biāo)準(zhǔn)IIC總線向MCU發(fā)送數(shù)據(jù)。處理單元主要協(xié)調(diào)、控制整個(gè)傳感器節(jié)點(diǎn)的操作,存儲(chǔ)和處理采集數(shù)據(jù),并與其它節(jié)點(diǎn)合作完成被指派的感知、監(jiān)測(cè)任務(wù),是傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的核心,從節(jié)約成本、提高可靠性等方面考慮,選用ATmega16單片機(jī)。無線收發(fā)單元將傳感器網(wǎng)絡(luò)節(jié)點(diǎn)接入傳感器網(wǎng)絡(luò),采用TI公司的系統(tǒng)芯片(SoC)CC2530F256,運(yùn)行ZigBee2007/PRO協(xié)議,通過USART與MCU傳輸數(shù)據(jù),滿足以Zigbee為基礎(chǔ)的2.4GHz的ISM頻段應(yīng)用。電源單元?jiǎng)t為傳感器節(jié)點(diǎn)提供維持正常運(yùn)行所必須的能量。
圖2 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)硬件組成
嵌入式網(wǎng)關(guān)以ARM微處理器為核心,包括傳感單元、基本外圍電路、存儲(chǔ)單元、ZigBee通信、Internet通信和觸屏顯示6部分,其硬件組成如圖3所示。選擇SamSung公司的基于ARM920T架構(gòu)的16/32位RISC處理器S3C2440A作為控制核心,協(xié)調(diào)其它所有工作單元有序運(yùn)行,實(shí)現(xiàn)大氣環(huán)境信息和氣象參數(shù)的數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、數(shù)據(jù)存儲(chǔ)、數(shù)據(jù)轉(zhuǎn)發(fā)等全部功能。嵌入式網(wǎng)關(guān)的傳感單元組成及功能與傳感器節(jié)點(diǎn)的傳感單元相同?;就鈬娐钒娫措娐贰r(shí)鐘電路和復(fù)位電路,為S3C2440A正常運(yùn)行以及嵌入式網(wǎng)關(guān)中所有外圍電路正常工作提供基本保障。存儲(chǔ)單元擴(kuò)展了SDRAM和FLASH兩種存儲(chǔ)器,分別為程序代碼和各種數(shù)據(jù)提供存儲(chǔ)空間。ZigBee通信模塊負(fù)責(zé)與WSN內(nèi)的各傳感器節(jié)點(diǎn)通信,搜集監(jiān)測(cè)區(qū)域的環(huán)境信息。觸屏顯示單元采用Toppoly 3.5寸LCD模塊,移植了Qt界面,便于用戶在現(xiàn)場(chǎng)進(jìn)行傳感器網(wǎng)絡(luò)運(yùn)行參數(shù)配置,查詢?nèi)我鈺r(shí)刻采集的環(huán)境數(shù)據(jù)等。Internet通信模塊將匯總的環(huán)境數(shù)據(jù)傳輸至監(jiān)測(cè)中心,并與ZigBee模塊聯(lián)合實(shí)現(xiàn)ZigBee和TCP/IP兩種網(wǎng)絡(luò)協(xié)議的轉(zhuǎn)換。
圖3 嵌入式網(wǎng)關(guān)硬件組成
傳感器網(wǎng)絡(luò)節(jié)點(diǎn)實(shí)行被動(dòng)式數(shù)據(jù)采集行為,即僅當(dāng)接收到嵌入式網(wǎng)關(guān)下發(fā)的數(shù)據(jù)采集命令時(shí)才執(zhí)行采集數(shù)據(jù)的任務(wù),其它時(shí)間則進(jìn)入休眠模式以降低電能消耗。
傳感器節(jié)點(diǎn)應(yīng)用軟件的設(shè)計(jì)過程相對(duì)簡(jiǎn)單,其程序流程如圖4所示。上電復(fù)位后首先初始化硬件,向嵌入式網(wǎng)關(guān)報(bào)告自己的ID信息,加入WSN之后就進(jìn)入空閑模式。在此模式下,CPU停止運(yùn)行,而SPI、USART、ADC、定時(shí)器/計(jì)數(shù)器、看門狗和中斷系統(tǒng)繼續(xù)工作。諸如定時(shí)器溢出與USART傳輸完成等內(nèi)外部中斷都可以喚醒MCU[5]。因此,當(dāng)接收到嵌入式網(wǎng)關(guān)的數(shù)據(jù)采集命令后,USART接收中斷會(huì)將MCU喚醒,即刻采集大氣污染物數(shù)據(jù),再通過ZigBee通信模塊將其傳輸至嵌入式網(wǎng)關(guān)。
圖4 傳感器網(wǎng)絡(luò)節(jié)點(diǎn)軟件流程
基于S3C2440A微處理運(yùn)行Linux操作系統(tǒng)的嵌入式系統(tǒng),其軟件部分包括啟動(dòng)引導(dǎo)程序、操作系統(tǒng)內(nèi)核、根文件系統(tǒng)、設(shè)備驅(qū)動(dòng)程序和應(yīng)用程序,前3部分是系統(tǒng)運(yùn)行的基礎(chǔ)部分,目前已有相對(duì)較為成熟的版本出現(xiàn),只需要針對(duì)具體硬件平臺(tái)進(jìn)行修改、裁減即可完成移植工作,不必重新開發(fā)。
4.2.1 驅(qū)動(dòng)程序
驅(qū)動(dòng)程序是應(yīng)用程序和實(shí)際設(shè)備之間的一個(gè)軟件層[6]。分為字符設(shè)備驅(qū)動(dòng)程序、塊設(shè)備驅(qū)動(dòng)程序和網(wǎng)絡(luò)驅(qū)動(dòng)程序。大氣環(huán)境監(jiān)測(cè)系統(tǒng)中的傳感器都是簡(jiǎn)單的硬件設(shè)備,因此,全部被抽象為字符設(shè)備。字符設(shè)備驅(qū)動(dòng)程序完成的主要工作是初始化硬件設(shè)備、添加和刪除設(shè)備結(jié)構(gòu)體, 申請(qǐng)和釋放設(shè)備號(hào)以及填充 file_operations結(jié)構(gòu)體。file_operations結(jié)構(gòu)體用來建立設(shè)備編號(hào)與驅(qū)動(dòng)程序操作的連接,實(shí)現(xiàn)該結(jié)構(gòu)體中的read()、write()、ioctl()等函數(shù)是驅(qū)動(dòng)程序設(shè)計(jì)的主題工作。
傳感器設(shè)備驅(qū)動(dòng)程序所實(shí)現(xiàn)的只是最重要的設(shè)備方法,比如SHT11和CO2的file_operations結(jié)構(gòu)被初始化為如下形式:
4.2.2 應(yīng)用程序
嵌入式網(wǎng)關(guān)應(yīng)用程序主要包括兩個(gè)線程和一個(gè)中斷服務(wù)程序,其執(zhí)行流程如圖5所示。上電后,首先進(jìn)入main函數(shù)(主線程)初始化并設(shè)置系統(tǒng)參數(shù),調(diào)用signal函數(shù)設(shè)置SIGALRM信號(hào)的信號(hào)處理程序用以完成嵌入式網(wǎng)關(guān)與監(jiān)測(cè)中心的TCP/IP通信任務(wù),然后設(shè)置定時(shí)器,再調(diào)用pthread_create函數(shù)創(chuàng)建Data_Collection線程負(fù)責(zé)數(shù)據(jù)采集任務(wù),之后運(yùn)行基于事件驅(qū)動(dòng)的Qt程序,在這段代碼中將程序控制權(quán)交給用戶,用戶通過操作界面可以設(shè)置嵌入式網(wǎng)關(guān)系統(tǒng)參數(shù)或查看實(shí)時(shí)采集的環(huán)境數(shù)據(jù)。
圖5 嵌入式網(wǎng)關(guān)應(yīng)用程序流程
圖6 顯示歷史數(shù)據(jù)的VC界面
使用Access2007創(chuàng)建大氣環(huán)境信息數(shù)據(jù)庫,利用visual c++提供的ADO(ActiveX Data Object)訪問數(shù)據(jù)庫,實(shí)現(xiàn)環(huán)境數(shù)據(jù)分析處理、越限報(bào)警和數(shù)據(jù)顯示查詢等功能。當(dāng)鍵入主鍵值 (ID)時(shí),程序訪問access數(shù)據(jù)庫進(jìn)行查詢,并顯示出該ID對(duì)應(yīng)的各字段數(shù)據(jù)值;還可以時(shí)間為橫軸,參數(shù)值為縱軸顯示某一時(shí)間段的變化曲線。如圖6所示。
系統(tǒng)綜合測(cè)試表明,環(huán)境監(jiān)測(cè)網(wǎng)絡(luò)中的傳感器網(wǎng)絡(luò)節(jié)點(diǎn)可按照設(shè)計(jì)要求采集數(shù)據(jù),并能正確接收、執(zhí)行嵌入式網(wǎng)關(guān)下發(fā)的各種命令;嵌入式網(wǎng)關(guān)可實(shí)現(xiàn)WSN自組網(wǎng)功能,并支持傳感器節(jié)點(diǎn)動(dòng)態(tài)加入或離開網(wǎng)絡(luò),且人機(jī)界面簡(jiǎn)單易用;大氣環(huán)境監(jiān)測(cè)中心可顯示環(huán)境信息歷史數(shù)據(jù)和變化曲線,支持各種查詢。傳感器網(wǎng)絡(luò)節(jié)點(diǎn)、嵌入式網(wǎng)關(guān)和監(jiān)測(cè)中心的數(shù)據(jù)通信良好,可協(xié)同完成特定區(qū)域的大氣環(huán)境監(jiān)測(cè)網(wǎng)絡(luò)化任務(wù)。
[1]陳玲,趙建夫.環(huán)境監(jiān)測(cè)[M].北京∶化學(xué)工業(yè)出版社,2008∶10-11.
[2]孫春寶.環(huán)境監(jiān)測(cè)原理與技術(shù)[M].北京∶機(jī)械工業(yè)出版社,2007∶7.
[3]國(guó)家環(huán)保部.HJ/T 193-2005,環(huán)境空氣質(zhì)量自動(dòng)監(jiān)測(cè)技術(shù)規(guī)范[S].北京∶中國(guó)環(huán)境科學(xué)出版社,2006-1-1.
[4]I.F.Akyildiz,W.Su,Y.Sankarasubramaniam,E.Cayirci.A Survey on Sensor Networks[J].IEEE Communications Magazine.2002∶102-114.
[5]Atmel Corporation.ATmega16 Datasheet[EB/OL].[2006-11-16].http∶//www.atmel.com/avr
[6]Jonathan Corbet,Alessandro Rubini,Greg Kroah-Hartman.LINUX設(shè)備驅(qū)動(dòng)程序[M].魏永明,耿岳,鐘書毅,譯.北京∶中國(guó)電力出版社,2005∶11.