張 鋒 曾俊林 李凱亮
(廣東石油化工學院,廣東 茂名 525000)
傳統的環境監測系統多由人工操控,由于人力和物力的限制,監測面僅限于幾個斷面和點,監測頻率也是每月數次,不能保證所測數據的準確性和時效性,難以實現對環境要素全時段和全方位的動態監測[1]。近年來,環境在線監測方面的相關設備和軟件的研發成果也比較多,國內的諸如中國環境科學研究院、華南理工大學及湖南力合科技等科研院所、高校和高新技術企業相繼研發了環境在線監測系統,都取得了一定的成果[2]。但是這些產品大都存在一些缺陷,如只具備個別的監測功能、監測數據類型單一、數據采集傳輸速度慢、智能化程度低、界面不直觀、不符合相關的國家標準及綜合性差等[3]。針對這些問題,筆者以廣東茂名石化廠區的實際環境監測需求為背景,設計其遠程環境在線監測系統,以期科學管理廢氣的排放,為生活在廠區和周邊的人們營造良好的生活環境。
根據廣東茂名石化廠區的實際環境監測目標,要求遠程環境在線監測系統具有以下功能:解決現場電源布線困難的問題;低成本,并能在線實時監測環境參數的功能;實現數據以曲線形式進行對比分析,并且至少存儲一年,便于歷史數據的查詢和補足;固定式與便攜式相結合,以實現隨時隨地網絡在線查看環境數據,根據監測數據對廢氣排放進行科學管理。
廣東茂名石化廠區的遠程環境在線監測系統的系統架構如圖1所示,包括傳感器節點、匯聚節點和監測中心。傳感器節點分別放置在待檢測區域周邊,通過自組織方式構成網絡(即子站),各子站之間相互獨立,互不通信,只有子站內部節點可以相互交換數據,子站內的傳感器節點負責數據的采集,數據沿著其他傳感器節點逐跳傳輸,在傳輸過程中監測數據可能被多個節點處理,經多跳路由后到達匯聚節點(各子站網關);匯聚節點對收集到的數據進行處理分析并通過以太網將結果傳送到監測中心,監測中心的管理員對收集到的數據做出判斷或者決策后[4]轉發給環保局和用戶。

圖1 遠程環境在線監測系統網絡構架簡圖
遠程環境在線監測系統的核心設備無線傳感器節點通過購買芯片和自主設計完成制作。該節點的硬件設計框圖如圖2所示。

圖2 系統硬件框圖
每個傳感節點自動采集環境信息,并結合預設的環境參數上下限進行分析,判斷是否需要執行動作以及何時停止。傳感器網絡分布于監測區域內,將采集到的數據發送給就近的無線路由節點,路由節點根據路由算法選擇最佳路由,建立相應的路由列表(列表中包括自身的信息和鄰居網關的信息)。無線網關負責無線傳感器節點的管理。通過網關把數據傳給遠程監測中心,監測中心可以通過PC機、智能手機或者任何具有瀏覽器功能的設備對Web服務器發布的數據進行查看[5]。
濕度傳感器采用DHT11,全稱為數字溫濕度傳感器,是一款含有已校準數字信號輸出的溫濕度復合式傳感器,適合應用于各種條件苛刻的工作環境中。
溫度傳感器選用DS18B20,其供電電壓范圍3.0~5.5V,無需備用電源,性能穩定,應用范圍廣泛,適用于工業系統等各種場所。
二氧化碳濃度測量采用MG811模塊,MG811傳感器對CO2具有良好的靈敏度和選擇性,同時具有良好的穩定性和再現性[6],受溫濕度變化的影響較小,輸出方式可采用電平輸出方式和模擬量輸出方式。
風速測量采用HL-FS2電壓型模擬輸出風速傳感器,供電電壓12V,輸出電壓0~5V,測量范圍0.0~30.0m/s,測量精度0.5m/s,抗干擾能力強,性能穩定,制作材料為防腐合金,適用于環境惡劣的工業環境。
風向傳感器采用HL-FX2電壓型模擬輸出風向傳感器,供電電壓12~24V,啟動風速0.5m/s,分辨率0.1m/s,可指示16個方位。
考慮到網關數據較大,因而選用Tiny6410開發板為硬件平臺,此嵌入式網關連接內外信息傳輸通道皆采用無線方式,外部網絡以基于IP網絡技術并提供通用分組無線業務的GPRS通信網絡為基礎[7]。內部網絡采用短距離和低功率的ZigBee無線通信技術,結合現場采用專業傳感器對空分裝置環境中的CO2、溫濕度及氣象參數等數據進行采集和傳輸。
為使節點適應石化工業環境并長期而穩定地工作,選用雙電源系統供電,并利用太陽能電池板對電池進行充電。電池電量由節點的主處理芯片CC2530實時跟蹤,使用的是CC2530提供的ADC模數轉換功能。在CC2530芯片中先設定好某一閾值,當到達這一閾值時主處理芯片便對電池進行切換,使供電系統穩定工作。切換之后,備用電池接入節點的核心系統進行供電,而原供電電池開始充電,這樣便實現了節點的穩定持續工作。
為滿足不同傳感器的供電需求,電池采用標準電壓輸出12V的大容量進口原廠鋰離子電池。本模塊使用的穩壓芯片分別是L7805CV和L7806CV,分別提供穩定的5V和6V電壓,雙電源由CC2530控制的兩個繼電器實現電路切換。
便攜式監測平臺由ARM11,S3C6410的核心板、ZigBee、7寸觸摸屏驅動電路和串口驅動電路組成。由ZigBee無線接收模塊接收來自終端節點的數據,經串口驅動電路并送往6410處理器處理數據,數據經過相應處理后在觸摸屏顯示。同時當觸摸屏被點擊時,也會觸發相應的操作。便攜式監測平臺的硬件框圖如圖3所示。

圖3 便攜式監測平臺硬件框圖
該環境監測系統的軟件設計是基于Z-Stack-CC2530-2.3.1-1.4.0協議棧進行設計的。首先,選用GenricApp例程,新建工程,修改底層以適應硬件電路;其次,在工程中添加新建的任務ID,任務中添加的事件主要包括按鍵事件、無線接收事件、串口接收事件和定時器觸發的事件,其中利用定時器分時來產生的事件有二氧化碳濃度采集事件、溫度采集事件、濕度采集事件、風速采集事件、風向采集事件、數據發送事件、休眠事件和電源的檢測與控制事件,另外接收節點還要添加一個串口發送事件。在接收節點添加串口發送事件,每接收一次終端節點發來的數據就完成一次串口發送事件。采集節點和接收節點的流程如圖4所示。

圖4 采集和接收流程
然后在終端節點的HAL層添加DS18B20溫度傳感器、DHT11濕度傳感器和CC2530的ADC驅動程序。二氧化碳濃度、風速和風向的輸出采集信號采用的是電壓型模擬信號,故可利用CC2530芯片提供的8路獨立ADC模數轉換器對它們進行數據采集。
完成底層和任務ID的添加之后,在APP層初始化串口、初始化定時器、初始化電源檢測和控制程序,并完成串口和定時器的設置。串口采用串口0,其中不選用流控制,波特率則選擇默認的38 400bit/s。定時器采用8位的定時器3,操作模式采用Clear Timer on Compare,通道模式采用Output_Compare比較輸出模式,設置每1ms產生一次定時中斷,中斷中實現Count變量的累加,當累加到設定的值時便產生一個任務事件,實現定時采集數據、定時發送數據、定時進入休眠及定時喚醒等一系列有序的工作。
上位機使用Qt平臺編寫程序,Qt是一個跨平臺C++圖形用戶界面應用程序開發框架,具有優良的跨平臺特性、面向對象、豐富的API、拓展性強及控件多等優點。
運行本監測平臺應用軟件時,當有數據從接收數據的協調器上行至PC機串口,觸發串口接收信號槽,就會執行串口讀取數據的操作。接收完數據后校驗數據的完整性和正確性,如果數據正確則執行數據分類存儲與分析,并將數據在圖表上繪制成曲線;如果校驗接收的數據是錯誤的則丟棄數據。其軟件工作流程如圖5所示。
采用PHP+MYSQL+Apache編寫的網站程序,支持數據通信原理,基于B/S架構通信方式實現了網頁端與服務器之間的交流。采用Ajax無刷新頁面技術,管理者就可以看到石化廠區實時的信息,同時還可以在網頁上看到各個時期的數據變化,對于統計和分析數據提供了數據支撐。在網頁上,用戶還可以進行石化廠的易燃易爆氣體、有毒氣體和粉塵的實時在線監測分析,形成直觀結果以便了解石化廠環境參數的最新情況。

圖5 Qt軟件工作流程
串口接收截取的部分原始數據見表1。

表1 串口接收截取的部分原始數據
注:第1幀數據為沒有任何操作時測得的;第2~7幀數據是通過人為改變傳感器所處的環境狀況,以獲得不同參數。
由表1中的數據可以看出:二氧化碳濃度采用ADC模數轉換進行檢測,由第一幀數據可以看出電壓值VCO2=value×3.3/32767=0x0C93×3.3/32767=324mV;同樣可以計算出第2~7幀的數據電壓值分別為314、310、308、308、305、305mV。對照MG811靈敏度特性曲線,可知二氧化碳濃度值分別為0.4‰、0.6‰、0.7‰、0.8‰、0.8‰、1.0‰、1.0‰。可見數據逐漸增大,即二氧化碳濃度逐漸增大,說明傳感器工作正常,變化靈敏。
溫度計算公式為T=tem×0.0625。即以上7幀數據的溫度分別為:29.625 0、31.062 5、32.250 0、32.250 0、32.625 0、32.875 0、33.062 5℃。溫度值逐漸上升,和溫度計測量數據一致,可見溫度傳感器工作正常,數據接收也正常。
濕度為相對值,由原始數據轉換為十進制的數據即可,即相對濕度分別為46%、47%、51%、52%、54%、56%、55%。數據和濕度計測量值一致,測試正常。
風向和風速的都是通過ADC模數轉換獲得的。風向電壓計算公式V=value×3.3/128。故風向對應采集到的電壓值為3.17、3.17、2.93、2.52、2.37、2.11、1.67V。風向的數據接收范圍為0x00~0x7F,共16個方向,每個方向的數據間隔為8(7F/16),則WD_Num=(WD_Data-3)/8,WD_Num的范圍為0~15,分別代表16個方向:北、東偏北72.5°、東北、東偏北27.5°、東、東偏南27.5°、東南、東偏南72.5°、南、西偏南72.5°、西南、西偏南27.5°、西、西偏北27.5°、西北、西偏北72.5°。因此表1的數據分別代表的風向是:西偏北72.5°、西偏北72.5°、西偏北27.5°、西偏南27.5°、西偏南27.5°、西偏南72.5°、東偏南72.5°。測試結果均與轉動的角度相符合,即指向可正常采集。風速電壓計算公式V=value×3.3/32767,故風向對應采集到的電壓值為0.000、0.810、0.488、0.379、0.337、0.325、0.307V。而風速傳感器的檢測范圍是0~30,則對應0~0x7FFF的電壓范圍,即風速公式WS=30/0x7FFF·WS_Data。故表1對應的風速分別為0.00、7.37、4.44、3.44、3.06、2.96、2.79m/s,第一個數據到第二個數據的突變是因為手動轉動風速傳感器,風速傳感器瞬間獲得轉速引起的;然后由于存在摩擦阻力而逐漸減慢,直到最后停止轉動轉速接近0,可見測試結果也正常,可以正常進行風速檢測。
將ZigBee接收設備(協調器)通過USB串口連接上計算機,并開啟設備的電源開關,可看見節點LED燈開始閃爍,節點開始組建網絡;將采集節點設備上的傳感器等各個模塊組裝好,開啟電源開關,節點開始初始化并準備加入網絡,指示LED燈由快閃變為慢閃,表示節點已經加入網絡并定時向接收節點發送數據。
開啟上位機,設置COM口和波特率,選擇COM1,波特率38 400bit/s。監測界面顯示各個節點實時監測數據,其中節點1數據的分析結果如圖6所示。

圖6 節點1數據分析
基于物聯網技術的石化廠區環境在線監測系統可以在石化廠區空分裝置空氣吸入口布置節點,用于監測大氣CO2濃度,分析CO2來源,并提供控制措施;實時測量氣象參數,監視風向變化帶來空氣質量的變化。在石化廠區內,經過多次的測試和長時間的觀察與改進,系統已經能夠正常持續而又穩定地工作了。同時,也可以在其他石化設備附近設置節點,有效預防有毒氣體的泄漏和擴散;在不同的場所,只需添加不同的傳感器即可采集到不同的環境參數,系統的升級和功能的擴展更加簡單、方便快捷,不僅在石化廠區可以推廣應用,在其他遠程監測領域也有一定的借鑒價值。
[1] 賈立明.污染源自動監測系統國內外研究進展[J].環境科學與治理,2013,38(3):129~133.
[2] 李琳.環境在線監測信息系統研究分析[J].知識經濟,2010,(18):105.
[3] 吳銀芳.基于.NET的化工園區環境在線監測系統的研究[J].電腦編程與維護,2012,(22):59~60.
[4] 侯培國,雷巧玲.基于無線傳感器網絡的空氣質量檢測系統[J].工業儀表與自動化裝置,2009,(3):109~112.
[5] 張鋒,黃樹州,林繼良.基于物聯網技術的設施農業在線監控系統[J].物聯網技術,2014,4(2):34~37.
[6] 殷松遷,郭培源,王建華.基于嵌入式及ZigBee技術的居室環境監測系統[J].電子技術應用,2012,38(8):23~25,29.
[7] 丁欣,孫智卿,郭鵬舉.基于ARM的智能溫室遠程監測系統設計[J].山西農業大學學報,2012,34(2):56~60.