陳章龍,馬 俊,李紅飛
(青海師范大學 計算機學院,西寧 810008)
基于太陽能光伏的無線戶外環境監測系統設計
陳章龍,馬 俊,李紅飛
(青海師范大學 計算機學院,西寧 810008)
設計了一種采用太陽能供電模式的無線戶外環境監測系統;該系統由終端節點,ZigBee-GSM網關和上位機數據存儲中心組成,集成ZigBee和GSM無線通信,根據用戶發送的短信指令控制終端節點數據采集的通斷,同時用戶發送短信指令遠程查詢戶外環境的重要信息;針對戶外環境因子的特點,選用工業級、靈敏度高的傳感器,對戶外不同位置的PM2.5濃度和紫外線指數進行測量,測量結果既可在上位機實時顯示和存儲,也可以由ZigBee-GSM網關通過SIM900A模塊發送至移動終端;戶外測試結果表明,該系統運行穩定,數據傳輸可靠,能快速地實現遠程遙測功能,為戶外環境遠程監測提供了一種技術手段。
CC2530;SIM900A;無線傳感器網絡;遠程遙測
近年來,霧霾頻發,臭氧層的破壞程度日益加劇,PM2.5和紫外線所造成的污染,是繼噪聲等污染之后的兩種新的環境污染源,當前正在威脅著人們的健康。PM2.5在大氣中停留時間長、輸送距離遠,富含大量有毒物質,且能進入人體的肺泡、血液系統中[1];過強的紫外線,是引起皮膚癌、白內障的主要原因之一,這兩種污染源都對人體健康有很大影響。由于PM2.5粒徑小和紫外線的波長處于100 nm到400 nm,人們不僅看不見這兩種污染源,而且也無法用肉眼辨別出PM2.5的濃度以及紫外線強度的大小,因此,遠程實時地查詢PM2.5濃度以及紫外線強度指數的大小對提高生活質量,保障人們的戶外活動安全,都有著重要的意義。
本文將ZigBee和GSM技術相結合,設計一種控制簡單,查詢便捷的無線戶外PM2.5濃度和紫外線指數實時監測系統,系統融合ZigBee無線傳感器網絡與GSM網絡,根據實際監測的需求,ZigBee網絡采用星型拓撲結構,由一個中心節點和多個終端節點組成。終端節點負責采集PM2.5濃度和紫外線指數的數據信息,并通過ZigBee網絡把采集的數據信息發送到中心節點,中心節點通過USB通信方式將數據傳送到上位機進行顯示和存儲,并且通過GSM模塊接收用戶的控制和查詢命令,將數據以短信形式發送至遠端手機,實現對戶外不同位置環境信息的遠程查詢和本地存儲。
系統由終端節點,ZigBee-GSM網關和上位機數據存儲中心3部分組成。其系統結構如圖1所示。分布于監測區的終端節點和協調器節點間通過自主組網[2],形成ZigBee無線傳感器網絡。ZigBee終端節點由PM2.5傳感器、紫外線傳感器、ZigBee通信模塊和電源管理模塊組成,PM2.5傳感器負責實時采集戶外PM2.5濃度的數據信息,也接收主控制器提供的輸入脈沖,紫外線傳感器負責實時采集戶外紫外線強度的數據信息,然后再由ZigBee通信模塊通過無線方式發送給協調器節點,終端節點也接收協調器節點下發的控制命令。協調器節點匯集接收分散在不同位置的終端節點發來的數據信息,通過串口0轉USB接口把收到的數據傳送到上位機進行顯示和存儲。上位機將協調器節點發來的數據信息以圖表形式在由LabVIEW開發的界面中顯示,同時將數據存儲以便查詢。通過協調器和SIM900A之間的串口通信來實現兩種網絡互聯的ZigBee-GSM網關,負責接收短信指令并將所查詢的數據反饋給SIM900A通信模塊,由SIM900A模塊將此數據信息以短信方式發送到用戶手機,用戶可以隨時隨地查詢戶外環境信息。

圖1 系統結構框圖
ZigBee終端節點主要由數據測量單元、主控制器、數據傳輸單元和電源管理模塊四部分組成,數據測量單元包括PM2.5傳感器模塊和紫外線傳感器模塊兩部分。主控制器和數據傳輸單元通過繼電器電路與數據測量單元的電源管理模塊連接,當數據傳輸單元接收到協調器節點發送過來的open命令時,主控制器通過程序打開繼電器,使數據測量單元被供電進入工作狀態。當數據傳輸單元接收到協調器節點發來的停止采集命令時,主控制器關閉繼電器,斷開數據測量單元的電源供應,使數據測量單元停止工作,實現了遠程對戶外環境監測的控制。
2.1.1 PM2.5傳感器模塊
該模塊選用模擬式傳感器GP2Y1014AU0F,利用光敏原理來工作,內部的光電晶體管能夠感應粉塵的散射光并輸出相應的電信號[3],傳感器內置有信號調理電路。該傳感器與主控制器的接口電路如圖2所示,圖2中P1.2引腳經過偏置電阻R5后,利用NPN晶體管Q1驅動傳感器;傳感器的輸出5腳通過三個阻值分別為0.7 k 、1 k 和3.3 k 的平衡電阻所起的分壓作用,實現主控制器和本模塊的電平匹配。主控制器的P1.2引腳用作定時器1的通道0,工作在比較模式,并且設置為輸出方式,P1.2引腳作為給傳感器提供啟動脈沖的輸出腳,通過定時器1的比較通道0輸出周期為10 ms,高電平脈寬為0.32ms的周期性矩形脈沖,為傳感器提供輸入信號,利用定時器3自由運行模式實現定時9.95 ms,通過定時器3中斷服務程序啟動片內的ADC進行采樣,由ADC第5個通道輸入的模擬信號通過片內的12位A/D轉換器轉換結束后,使用DMA傳送,讀取數據,得到數字量,再結合標度變換公式計算出對應的粉塵濃度值。

圖2 PM2.5傳感器與主控制器接口電路
2.1.2 紫外線傳感器模塊
本模塊采用只對紫外線敏感的模擬式傳感器GUVA-S12GD測量戶外的紫外線強度,探測響應的波長范圍為240 nm到370 nm[4],涵蓋對人體有危害的波段,該傳感器利用光電效應原理,在太陽光照射下傳感器產生的微弱光電流,不僅與紫外線強度呈線性變化,而且與世界衛生組織分級標準的紫外線指數呈線性變化,產生的微弱光電流經過信號調理電路,輸出對應紫外線指數的線性電壓,再輸入到主控制器的模擬口,經過內置的A/D轉換電路轉換成數字量,進行標度變換。在信號調理電路設計過程中采取微弱光電流經過RC積分網絡放大后,再經過一個電阻R8輸出,利用三個阻值分別為0.7 k、1 k 和3.3 k 的平衡電阻所起的分壓作用,實現主控制器和傳感器模塊的電平匹配后,送入主控制器的P0.0模擬口進行A/D采集。信號調理電路如圖3所示。

圖3 信號調理電路
2.1.3 主控制器
ZigBee終端節點主控制器選用ZigBee硬件開發平臺CC2530射頻模塊,主控芯片CC2530F256是TI公司推出的8位增強型高速8051內核微處理器,片內集成8通道12位A/D轉換器,具有捕獲/比較通道的定時器,2個串行通信接口USART0和USART1以及21個通用I/O引腳,運行溫度范圍為-40~125 ℃[5]。
2.1.4 數據傳輸單元
終端節點采用ZigBee雙向無線通信技術傳輸數據,ZigBee是一種高可靠的無線傳輸協議,ZigBee網絡傳輸模塊類似于移動網絡基站,傳輸距離近300米,并支持無限擴展[6]。終端節點硬件平臺采用核心板與擴展底板結合的設計方式,核心板引出全部IO口,擴展底板使用CC2530最小系統未使用的GPIO口,在擴展底板上實現I2C總線接口,傳感器接口等外部應用電路。數據傳輸單元的功能是負責上傳節點編號、戶外PM2.5濃度值和紫外線指數值的數據信息,同時接收協調器的控制命令。
2.1.5 電源管理模塊
終端節點的電源管理模塊主要由太陽能光伏模塊、繼電器電路模塊、LM7805和MCP1700電壓轉換芯片組成。太陽能電源模塊的輸出電壓為12 V,由于終端節點需要的是5 V和3.3 V電源,所以需要通過不同的電壓轉換芯片以滿足不同模塊的電壓要求,12 V電壓經過7805芯片轉換后,能夠為傳感器模塊和繼電器模塊提供5 V穩定電壓。5 V電壓通過MCP1700得到3.3 V電壓以供主控制器使用。終端節點的電源分為兩部分,中間選用繼電器模塊連接,從而可由主控芯片控制傳感器采集通斷。第一部分用電系統由繼電器模塊和CC230最小系統組成,該部分電源為常通狀態,為該部分持續提供電源是為了時刻接收協調節點發送過來的控制命令,并由主控制器完成該命令指示的操作。第二部分用電系統由PM2.5傳感器和紫外線傳感器組成,該部分電源的通斷受主控芯片控制。電源分為兩部分實現了節能環保的目的。數據測量單元的電源控制原理如圖4所示。

圖4 數據測量單元的電源控制原理

圖5 ZigBee-GSM網關程序流程圖
ZigBee-GSM網關由ZigBee協調器模塊、SIM900A模塊和電源管理模塊組成。根據上位機在數據處理和存儲能力方面強大的特點,結合戶外環境多點分布式傳感網絡數據量大的需求,系統需要借助于上位機進行數據存儲,協調器模塊通過在串口0端增加PL2303芯片,以串口0轉USB接口串行通信方式,實現與上位機進行有效通信,把終端節點采集的數據通過USB接口上傳到上位機。同時,協調器模塊通過串口1與SIM900A模塊3.3 V的TTL串口交叉互連,在檢測收到用戶手機發來的查詢與控制命令時,借助SIM900A,把戶外環境的實時PM2.5濃度和紫外線指數的數據,以短信方式發送給移動終端。
由ZigBee協調器和SIM900A模塊構成的ZigBee-GSM網關節點,其核心控制芯片仍是CC2530,ZigBee-GSM網關的軟件設計以Z-Stack協議棧為基礎,通過在協調器節點的ZigBee協議棧的APP層添加模塊化代碼,實現無線通信與網絡管理。如圖5所示為ZigBee-GSM網關程序流程圖。ZigBee-GSM網關軟件設計分為2大部分:ZigBee協調器節點軟件設計和SIM900A模塊軟件設計。
3.1.1 ZigBee協調器節點軟件設計
協調器是本星型網絡的中心,協調器節點上電后,從ZMain.c文件中的main()函數開始執行[7],進行協議棧及SIM900A等硬件初始化操作,網絡層利用物理層提供的信道能量檢測結果選擇可用的信道,根據已固化的8字節MAC地址給協調器配置網絡地址和網絡ID來建立并啟動網絡。ZigBee網絡建立后,終端節點發送加入網絡的請求,協調器收到網絡請求綁定信息后,作出響應,并將所分配的網絡地址發送給終端節點。本系統設計3條短信命令,分別為open采集命令,close控制命令與inquire短信查詢命令,利用標志變量flag的兩種取值,將短信命令分為兩大類,當協調器接收到close命令時,變量flag為0;當協調器收到open命令或者inquire命令時,變量flag為1。協調器始終處于監聽狀態,若協調器串口1傳來open命令時,協調器將open命令以廣播方式發送給所有的終端節點,等待一段時間,當接收到終端節點發過來的數據信息時,就會觸發SYS_EVENT_MSG事件,并處理AF_INCOMING_MSG_CMD消息,調用函數MYApp_MessageMSGCB( afIncomingMSGPacket_t *pkt )將無線數據包解包[8],得到傳感數據和節點編號,同時把得到的數據通過串口0上傳給上位機,但協調器此時并不將得到的數據轉發給SIM900A模塊。只有當串口1在傳來open命令后,又傳來inquire命令時,協調器就將此時得到的數據反饋給SIM900A模塊,通過相關的AT指令控制SIM900A模塊,由SIM900A將傳感數據和節點編號以短信方式發送給用戶。若串口1傳來的是close命令,協調器將close命令以廣播方式發送給所有的終端節點,由終端節點完成相應的控制功能。經過手機端多次發送和接收短信的時間測試,系統均在13秒內完成短消息處理。
3.1.2 SIM900A模塊軟件設計

圖6 終端節點工作流程圖
本模塊軟件設計采用模塊化程序設計思想,在SIM900A.c和uart.c文件中定義SIM900A初始化等功能函數,Z-Stack協議棧的應用層移植模塊化文件SIM900A.c和uart.c。MYApp工程目錄中的MYApp.c和ZMain.c文件通過調用各功能函數,以實現串口初始化設置、短消息循環處理等功能。當協調器設備的網絡狀態發生改變時,調用定期觸發事件函數,定期13s觸發MYApp_MY_EVT事件,每隔13 s執行1次SIM900A.c文件中的短消息處理函數send(),從而實現協調器始終處于偵聽狀態,周期性地檢測來自用戶手機的3條短信命令。
3.2.1 紫外線傳感器的標度變換
根據傳感器GUVA-S12GD的資料說明書[9],可得到傳感器的輸出電壓值與紫外線指數的關系對照表,將傳感器的輸出電壓值作為橫坐標,紫外線指數作為縱坐標,對數據采用Matlab進行最小二乘法線性擬合處理,擬合結果圖略。
3.2.2 終端節點主程序設計
終端節點的啟動過程和協調器類似,但兩者協議棧的編譯選項不同[10]。本設計中終端節點加入網絡后則是時時偵聽信道,負責接收來自協調器下發的open采集命令和close控制命令,并執行命令,控制繼電器的通斷。當終端節點接收到open字符串時,就會打開繼電器,接通傳感器和信號調理電路的供電電源,啟動傳感器工作,等待1 s后,調用API函數Osal_start_timerEx(MYApp_TaskID, MYApp_SEND_PERIODIC_MSG_EVT,2000),通過PM2.5()和UV()函數每隔2s讀取PM2.5濃度值和紫外線指數值,并將所讀取的傳感數據和節點編號一并打包后,通過點播函數MYApp_SendPointToPointMessage()內部的數據發送函數AF_DataRequest()將數據發送給協調器節點,若終端節點接收的是close字符串,就會關閉繼電器,斷開傳感器和信號調理電路的電源供應,不再采集數據。終端節點工作流程圖如圖6所示。終端節點接收到協調器下發的open命令和close命令時,MYApp.c文件中與執行命令有關的代碼如下給出:
void MYApp_MessageMSGCB(afIncomingMSGPacket_t *pkt)
{
switch(pkt->clusterId)
{
case MYApp_CLUSTERID: //讀取協調器節點發來的簇ID
if(examine("open"))//終端節點檢測接收到open字符串時,執行open命令的代碼 {
P1DIR|=0x01;
P1_0=1; //打開繼電器,接通供電電源
delay_1s();
Osal_start_timerEx(MYApp_TaskID,MYApp_SEND_PERIODIC_MSG_EVT,2000);
}
else if(examine("close"))//終端節點檢測接收到close字符串時,執行close命令的代碼
{
P1DIR|=0x01;
P1_0=0; //關閉繼電器,斷開電源供應
delay_1s();
}
break;
...
}
}
基于LabVIEW2012平臺設計上位機數據存儲中心,LabVIEW又稱做圖形化編程語言,對照其他常規編程語言,該語言使用圖形方式編程[11],以“數據流”作為本語言的核心編程思想。本上位機界面分為三個終端界面,除了終端1界面多了串口通信子界面外,每個終端界面都包含有傳感器數據顯示子界面和文件保存子界面。通過運用輸入輸出控件,使用四種程序運行結構和調用庫函數完成上位機的設計。
該系統在西寧人流密集的城中區中心廣場進行了為期30 d的試驗,各節點均采用光伏便攜電源供電,電池板功率為25 W,鋰電池總量為11 A,ZigBee-GSM網關部署在廣場的中央花圃位置,三個終端節點分別部署在與中央花圃相連的三條人行道,ZigBee-GSM網關與三個終端節點距地面高度均為40 cm,對ZigBee網絡的數據丟包率和有效通信距離進行測試和評估,以驗證系統的性能指標滿足實際應用要求。試驗從2017年4月21日開始,上位機主界面監測的環境信息顯示如圖7,移動終端的遠程遙測界面如圖8所示。

圖7 上位機主界面監測的環境信息顯示圖

圖8 移動終端的遠程遙測結果
測試前,設置各終端節點和協調器節點的發射功率均為4 dBm,載波頻率均選用與WiFi信道不重疊的2.405 GHz,測試過程中,于晴天在距協調器節點不同通信距離的人行道放置終端節點,選定的測試距離分別為160 m、180 m、200 m、220 m、240 m、260 m,在每個距離上,當各終端節點接收到open命令后,每2 s發送1個數據包,連續發送1 h,總共發送3 600個數據包,由于協調器節點接收到的數據包數量與上位機接收到記錄數量相等,可根據上位機接收到的記錄數量與3 600的比值,得出本通信距離的丟包率,試驗測得節點1到節點3的數據丟包率與通信距離的關系如表1所示。

表1 數據丟包率與通信距離的關系
由表1測試結果可知,當通信距離在200 m范圍內,各終端節點的丟包率均小于5%,當通信距離達220 m時,各終端節點的丟包率均超過了5%,當通信距離在240~260 m之間,各終端節點的丟包率大幅上升,呈指數增長的趨勢,信號傳輸不穩定。結合浙江省無線局域網建設及服務規范數據丟包率不大于5%的要求,本系統ZigBee網絡的最大有效通信距離范圍為200~220 m之間,傳感數據基本能被有效地傳輸,針對西寧大多數戶外活動場所人行道的長度情況,最大有效通信距離能滿足設計要求。
通過太陽能光伏供電技術、ZigBee網絡、GSM網絡和LabVIEW虛擬儀器技術,以PM2.5傳感器、紫外線傳感器、CC2530各功能節點、SIM900A模塊為硬件基礎,設計了一種基于太陽能光伏的無線戶外環境監測系統,具有監測點多、覆蓋范圍廣和遠程查詢靈活等優點,實現了對戶外環境信息的遠程查詢。在終端節點的電源管理設計中采用以CC2530為核心的繼電器控制電路的設計方法,達到節能環保的目的。基于LabVIEW語言開發的上位機應用軟件,實現了戶外環境參數的存儲處理功能。測試結果表明:用戶能快速地對戶外環境因子進行遠程查詢,系統運行效果良好,具有一定的推廣應用價值。下一步工作是增加監測參數,為戶外活動場所環境質量改善工作提供精細的數據支撐。
[1]常 青. 大氣PM2.5與急性心肌梗死入院人數的時間序列研究[D]. 石家莊:河北醫科大學,2014.
[2] 葛廣英, 葛 青, 趙云龍. ZigBee原理、實踐及綜合應用[M]. 北京: 清華大學出版社,2015.9.
[3] 吳東東. 低功耗室內空氣質量檢測系統的設計與研究[D].上海:上海師范大學,2016.
[4] Genicom.Datasheet GUVA-S12SD[EB/OL]. [2017-2].http://www.geni-uv.com/chn/download/eng/UV-A_Sensor/GUVA-S12SD.pdf.
[5] Texas Instruments. CC2530F32, CC2530F64, CC2530F128, CC2530F256[EB/OL]. [2017-2]. http://www.ti.com.cn/cn/lit/ds/symlink/cc2530.pdf.
[6] 蘇 倩. 基于ZigBee的多智能機器人無線通信系統的硬件平臺研究 [D].西安:西安電子科技大學,2012.
[7] 孫 博. 無線傳感器網絡與Internet融合關鍵技術研究與應用 [D].成都:電子科技大學,2015.
[8] 王素青, 吳 超. 基于CC2530的環境監測系統的設計與實現[J]. 計算機測量與控制,2015,23(8):2650-2653.
[9] DFRobot.Datasheet GUVA-S12GD[EB/OL]. [2017-2]. http://wiki.dfrobot.com.cn/index.php/ (SKU:SEN016 2)_UV_Sensor.
[10] 武 一, 包春蘭. 基于GSM和ZigBee技術的智能家居系統設計[J]. 河北工業大學學報,2014,43(1):15-18.
[11] 陳樹學, 劉 萱. LabVIEW寶典[M]. 北京:電子工業出版社, 2016.5.
Design of Wireless Outdoor Environment Monitoring System Based on Solar Photovoltaic Power
Chen Zhanglong,Ma Jun,Li Hongfei
(College of Computer Science,QingHai Normal University,Xining 810008, China)
A wireless outdoor environment monitoring system that uses solar power mode is designed. The system consists of terminal nodes, ZigBee-GSM gateway and PC data storage center. It integrates ZigBee and GSM wireless communication technology. It can control the on-off of terminal node data acquisition, and be requested the important information of the outdoor environment remotely according to SMS command. Based on the traits of outdoor environment factors, the concentration of PM2.5 and ultraviolet index of different locations of outdoor areas are measured by the use of sensors of industrial-grade and high sensitivity. The measured results can be not only displayed and stored in the upper machine in real-time, but also it can be sent to the mobile terminal by SIM900A module of ZigBee-GSM gateway. The outdoor test results show that the system can run stably, data transmission is reliable, and it can realize the remote telemetry function fast. It provides a technical means for the remote monitoring of outdoor environment.
CC2530; SIM900A; wireless sensor networks; remote telemetry
2017-05-10;
2017-06-07。
國家自然科學基金項目(51167016);教育部春暉計劃(Z2011019,Z2015062);青海師范大學成果轉化項目。
陳章龍(1988-),男,廣東茂名人,碩士研究生,主要從事電子信息技術方向的研究。
馬 俊(1973-),男,青海民和人,教授,博士研究生導師,主要從事電子信息技術、無線電與智能系統方向的研究。
1671-4598(2017)12-0025-05
10.16526/j.cnki.11-4762/tp.2017.12.007
TP271
A