袁玉卓 王卿璞 魯海瑞 盧忠花 袁帥 陳玉賢 趙玉杰
摘 要: 介紹了一種基于ZigBee與OpenWrt的植物生長環(huán)境監(jiān)測及控制系統(tǒng)的設(shè)計(jì)方法。該系統(tǒng)采用多個傳感器節(jié)點(diǎn)采集生長環(huán)境數(shù)據(jù)并進(jìn)行預(yù)處理后發(fā)給協(xié)調(diào)器節(jié)點(diǎn),由協(xié)調(diào)器節(jié)點(diǎn)經(jīng)I2C接口將數(shù)據(jù)發(fā)送給路由器單元進(jìn)行多數(shù)據(jù)融合,更客觀、真實(shí)地反映各個傳感器的測量數(shù)據(jù)。結(jié)果表明該系統(tǒng)具有實(shí)時視頻監(jiān)控、數(shù)據(jù)顯示、處理分析、記錄存儲以及遠(yuǎn)程控制等功能。
關(guān)鍵詞: ZigBee; OpenWrt; 數(shù)據(jù)融合; 植物生長環(huán)境
中圖分類號: TN911?34 文獻(xiàn)標(biāo)識碼: A 文章編號: 1004?373X(2016)04?0055?04
Abstract: A design method of plant growth environmental information monitoring and control system based on ZigBee and OpenWrt is introduced in this paper. The plant growth environmental data is collected by some sensor nodes in the system, then transmitted to coordinator node after data preprocessing, and finally sent to router unit by coordinator node through IIC bus to do multiple data fusion and reflect the data measured by each sensor. The test result shows this system has the functions of automatic collection of environment data, real?time video monitoring, real?time data display, processing analysis, record, storage, remote control, etc.
Keywords: ZigBee; OpenWrt; data fusion; plant growth environment
0 引 言
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,使得人們對家中的設(shè)備進(jìn)行監(jiān)測和控制變成現(xiàn)實(shí)。當(dāng)今高速度的生活節(jié)奏和高壓力的社會生存環(huán)境,使得人們喜歡在閑時養(yǎng)殖各類植物,但是時常疏于管理,使得植物沒有得到有利的生長環(huán)境。市面現(xiàn)有的裝置并不能實(shí)現(xiàn)真正的遠(yuǎn)程監(jiān)測和控制。為了能檢測多花盆內(nèi)及周圍環(huán)境多點(diǎn)數(shù)據(jù),設(shè)計(jì)一種基于ZigBee與OpenWrt的植物生長環(huán)境監(jiān)測及控制系統(tǒng)。在每個花盆上層和底層各放置一個土壤濕度傳感器和pH值檢測傳感器。在花盆外部放置溫濕度傳感器、光照傳感器和串口攝像頭等。傳感器節(jié)點(diǎn)將采集到的多傳感器數(shù)據(jù)進(jìn)行預(yù)處理,并通過ZigBee無線網(wǎng)絡(luò)發(fā)送給ZigBee協(xié)調(diào)器,然后ZigBee協(xié)調(diào)器通過I2C接口將數(shù)據(jù)傳送給RT5350路由單元。在PC機(jī)上用Web界面進(jìn)行監(jiān)測和進(jìn)一步控制。同時手機(jī)也可通過WiFi網(wǎng)絡(luò)接入系統(tǒng)進(jìn)行遠(yuǎn)程監(jiān)測和控制。實(shí)現(xiàn)了基于ZigBee與OpenWrt的多數(shù)據(jù)的采集、無線傳輸、顯示、處理和報警功能。系統(tǒng)整體結(jié)構(gòu)框圖,如圖1所示。
1 硬件設(shè)計(jì)
本系統(tǒng)協(xié)調(diào)器和傳感器節(jié)點(diǎn)均采用以CC2530芯片為核心的單元。TI(德州儀器)的CC2530芯片,是基于2.4 GHz IEEE 802.15.4,ZigBee和RF4CE的SoC(片上系統(tǒng))解決方案,并支持低功耗及安全可靠的無線通信[1]。
在本系統(tǒng)中傳感器節(jié)點(diǎn)主要負(fù)責(zé)協(xié)調(diào)控制傳感器單元進(jìn)行多參數(shù)綜合采集,實(shí)現(xiàn)對相關(guān)環(huán)境參數(shù)控制并進(jìn)行數(shù)據(jù)傳輸。傳感器單元是多數(shù)智能傳感終端的重要組成部分;本系統(tǒng)中的傳感器單元由AM2303溫濕度傳感器、TSL2561光照強(qiáng)度傳感器、SHT10土壤濕度傳感器和E?201?C土壤pH值傳感器構(gòu)成,以上傳感器可對植物生長所需的幾種關(guān)鍵環(huán)境參數(shù)進(jìn)行檢測。
由于ZigBee低速、低功耗等特點(diǎn)決定了其傳輸范圍有限,并不能實(shí)現(xiàn)真正有效的遠(yuǎn)程監(jiān)測管理。故本系統(tǒng)在協(xié)調(diào)器節(jié)點(diǎn)的I2C接口處外接了由支持OpenWrt系統(tǒng)RT5350構(gòu)成的路由器單元。當(dāng)前主流路由器固件有DD?Wrt,Tomato,OpenWrt三類。OpenWrt不同于其他兩類固件,它是一個從零開始編寫的、功能齊全的、容易修改的路由器操作系統(tǒng),其建立的不是一個單一的、靜態(tài)的系統(tǒng)[2]。OpenWrt是一個高度模塊化、高度自動化的嵌入式Linux系統(tǒng),擁有強(qiáng)大的網(wǎng)絡(luò)組件和擴(kuò)展性,它還提供了100 多個已編譯好的軟件,而且數(shù)量還在不斷增加,而OpenWrt SDK 更簡化了開發(fā)軟件的工序。RT5350兼容IEEE 802.11b/g/n標(biāo)準(zhǔn),內(nèi)置360 MHz的MIPS24KEs CPU、無線基帶和射頻前端以及多種外設(shè)總線,可以單芯片解決了終端設(shè)備的無線連接和控制功能,以其高集成度和低成本,易于二次開發(fā)[3]。
為了實(shí)現(xiàn)對植物生長更直觀的監(jiān)測,通過在RT5350路由器單元外接USB攝像頭,用戶可遠(yuǎn)程采集植物生長的圖像信息,為科學(xué)管理和決策提供更為直觀的資料。本節(jié)點(diǎn)及路由器單元硬件結(jié)構(gòu)連接如圖3所示。
2 軟件設(shè)計(jì)
根據(jù)功能設(shè)計(jì)要求,本系統(tǒng)的應(yīng)用軟件設(shè)計(jì)分別包括ZigBee協(xié)調(diào)器節(jié)點(diǎn)軟件設(shè)計(jì)、ZigBee傳感器節(jié)點(diǎn)軟件設(shè)計(jì)以及OpenWrt路由器單元設(shè)計(jì)。
節(jié)點(diǎn)程序開發(fā)主要是基于Z?Stack協(xié)議棧。ZigBee協(xié)議架構(gòu)主要由兩部分組成:物理層(PHY) 和媒介訪問控制層(MAC) ,其遵循成熟的IEEE 802.15. 4標(biāo)準(zhǔn);網(wǎng)絡(luò)層(NWK) 和應(yīng)用層(APL),則是由ZigBee 聯(lián)盟進(jìn)行定義。ZigBee設(shè)備主要分為三類:
(1) 協(xié)調(diào)器(Coordinator):整個ZigBee網(wǎng)絡(luò)只有一個協(xié)調(diào)器,它是整個網(wǎng)絡(luò)的核心,負(fù)責(zé)配置和協(xié)調(diào)整個網(wǎng)絡(luò)。
(2) 路由器(Rounter):主要為其他的采集節(jié)點(diǎn)轉(zhuǎn)發(fā)數(shù)據(jù)。
(3) 終端設(shè)備(EndDevice):主要負(fù)責(zé)采集相關(guān)數(shù)據(jù),然后發(fā)送給路由器或者協(xié)調(diào)器。
ZigBee協(xié)議棧的核心部分在網(wǎng)絡(luò)層。網(wǎng)絡(luò)層主要實(shí)現(xiàn)節(jié)點(diǎn)加入或離開網(wǎng)絡(luò)、接收或拋棄其他節(jié)點(diǎn)、路由查找及傳送數(shù)據(jù)等功能,支持Cluster?Tree 等多種路由算法,支持星形(Star)、族樹形(Cluster?Tree)、網(wǎng)格(Mesh)等多種拓?fù)浣Y(jié)構(gòu),如圖4所示[4?5]。
2.1 協(xié)調(diào)器節(jié)點(diǎn)的程序設(shè)計(jì)
Z?Stack協(xié)議棧由main函數(shù)開始執(zhí)行,首先初始化CC2530以及電路板上相應(yīng)的資源,然后開始執(zhí)行輪轉(zhuǎn)查詢式操作系統(tǒng)。程序流程圖如圖5所示,協(xié)議棧中的每一層都設(shè)計(jì)了一個事件處理函數(shù),用于處理該層操作相關(guān)的各種事件。各ZigBee傳感器節(jié)點(diǎn)周期性的向協(xié)調(diào)器發(fā)送采集的數(shù)據(jù),而協(xié)調(diào)器接收到數(shù)據(jù)后通過UART接口發(fā)送給RT5350路由器單元,路由器單元的主程序通過監(jiān)聽UART接口來接收數(shù)據(jù)并共享至Web客戶端進(jìn)行相關(guān)分析,進(jìn)一步給出控制指令。其部分監(jiān)聽UART代碼如下所示:
2.2 傳感器節(jié)點(diǎn)及各接口程序設(shè)計(jì)
在協(xié)調(diào)器建立好ZigBee網(wǎng)絡(luò)后,傳感器節(jié)點(diǎn)上電,各個傳感器節(jié)點(diǎn)與協(xié)調(diào)器節(jié)點(diǎn)之間會完成ZigBee自動組網(wǎng)。ZigBee網(wǎng)絡(luò)以網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)為基礎(chǔ)架構(gòu),在各個節(jié)點(diǎn)之間自動選擇最優(yōu)傳輸路徑,傳感器節(jié)點(diǎn)將采集到相關(guān)數(shù)據(jù)進(jìn)行融合,融合后經(jīng)路由器將傳感器節(jié)點(diǎn)采集的數(shù)據(jù)以最優(yōu)、最短、最快方式發(fā)送到協(xié)調(diào)器[6]。傳感器節(jié)點(diǎn)在此隨機(jī)配置為Rounter和Enddevice以組成網(wǎng)狀網(wǎng),增強(qiáng)ZigBee系統(tǒng)網(wǎng)絡(luò)結(jié)構(gòu)的魯棒性,并且當(dāng)需要反向控制時,傳感器控制對應(yīng)的外設(shè)進(jìn)行調(diào)節(jié),傳感器節(jié)點(diǎn)程序框圖如圖6所示。
2.3 RT5350路由節(jié)點(diǎn)程序設(shè)計(jì)
對RT5350芯片刷入對應(yīng)的OpenWrt固件可使其建立有線路由和無線路由通路以及USB攝像頭的初始化,并根據(jù)本項(xiàng)目要求進(jìn)行多傳感器數(shù)據(jù)的融合與分析,供用戶在Web頁面上進(jìn)行遠(yuǎn)程監(jiān)測和反向控制。本部分為設(shè)計(jì)的重點(diǎn)以及創(chuàng)新點(diǎn)。
由RT5350構(gòu)成的路由器單元在構(gòu)建有線和無線網(wǎng)絡(luò)通路回路的同時還作為主要的數(shù)據(jù)整合、分析和處理平臺。該系統(tǒng)通過把接收到的采集數(shù)據(jù)存到數(shù)據(jù)庫SQL Server中,以實(shí)現(xiàn)歷史數(shù)據(jù)查詢和當(dāng)前數(shù)據(jù)的實(shí)時查看。通過在系統(tǒng)中設(shè)置相應(yīng)的閾值,實(shí)現(xiàn)當(dāng)植物生長將某一點(diǎn)采集的數(shù)據(jù)超過閾值時就會發(fā)出報警消息及進(jìn)行反向控制。
當(dāng)OpenWrt系統(tǒng)接收到數(shù)據(jù)時,首先進(jìn)行解析數(shù)據(jù),判斷對應(yīng)花盆的各個傳感器數(shù)據(jù)信息,之后對數(shù)據(jù)進(jìn)行模糊算法處理,得出各個參數(shù)的語言變量值,最后將環(huán)境健康結(jié)果顯示在客戶終端上。
為了提高檢測精度及減少誤差,在數(shù)據(jù)處理時本系統(tǒng)采用OVA(OneVsAll)的多類分類支持向量機(jī)(Support Vector Machine,SVM)的多數(shù)據(jù)融合方法[7]。只需要訓(xùn)練k個標(biāo)準(zhǔn)的SVM,故其所得到的分類函數(shù)的個數(shù)較少,分類速度相對較快。對k類分類問題,OVA方法構(gòu)造k個分類器,第m個分類器[fmx=?mΦxi?bm]將第m類樣本與其他類別的所有樣本分開。對[fmx]進(jìn)行訓(xùn)練時,屬于m類的樣本標(biāo)記為+1,其他所有樣本都標(biāo)記為-1。采用OVA的多類分類支持向量機(jī),等同于求解k個二次優(yōu)化問題。通過以上數(shù)據(jù)融合技術(shù)可更客觀、真實(shí)地反映各個傳感器所測量數(shù)據(jù),來提供決策參考如圖7所示。且為了更加直觀遠(yuǎn)程監(jiān)測植物生長情況,通過RT5330的USB串口外接UVC驅(qū)動攝像頭。UVC攝像頭的驅(qū)動程序已經(jīng)固化在硬件的芯片里,因此不要需要在OpenWrt進(jìn)行驅(qū)動開發(fā),只需要進(jìn)行初始化即可,來實(shí)現(xiàn)在Web界面的實(shí)時監(jiān)測。Socket設(shè)計(jì)部分代碼及實(shí)現(xiàn)最終界面如下所示:
2.4 智能數(shù)據(jù)庫匹配
在植物實(shí)際生長過程中,以光照強(qiáng)度為例,分別經(jīng)歷光補(bǔ)償點(diǎn)、光飽和點(diǎn)和光抑制。在光補(bǔ)償點(diǎn)時植物自身光合作用,呼吸作用平衡;光飽和點(diǎn)時植物能最大化的進(jìn)行光合作用,光強(qiáng)繼續(xù)增加植物則會進(jìn)入光抑制,進(jìn)行自我保護(hù)的狀態(tài)。植物達(dá)到最佳的生長環(huán)境即達(dá)到光飽和點(diǎn)。以項(xiàng)目所用普通陽性綠色植物需要的光照為例,通過查閱相關(guān)資料,其需要的光照[8]為18 000~20 000 lx。即為此植物設(shè)置18 000的閾值,并與采集到的數(shù)據(jù)進(jìn)行比對分析,進(jìn)而進(jìn)行報警提醒或智能控制。
其他諸如濕度、pH等參數(shù)的控制原理類似。
3 結(jié) 語
本文設(shè)計(jì)的基于ZigBee與OpenWrt的植物生長環(huán)境監(jiān)測及控制系統(tǒng),實(shí)現(xiàn)了植物生長環(huán)境的多傳感器參數(shù)采集融合和處理、遠(yuǎn)程視頻監(jiān)控和智能反向控制等功能,其特點(diǎn)是實(shí)現(xiàn)了真正地遠(yuǎn)程控制以及多客戶端通用的Web接入,具有良好的可擴(kuò)展性及市場推廣性。
參考文獻(xiàn)
[1] GISLASON D. ZigBee wireless networking [M]. London: Newnes, 2008: 127?129.
[2] PALAZZI C E, BRUNATI M, ROCCETTI M. An OpenWRT solution for future wireless homes [C]// Proceedings of IEEE International Conference on Multimedia and Expo. Singapore: IEEE, 2010: 1701?1706.
[3] 閆巧,李保廣.嵌入式3G路由器實(shí)用功能的設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2014,35(5):1634?1638.
[4] FARAHANI S. ZigBee wireless networks and transceivers [M]. London: Newnes, 2011.
[5] 蔣挺,趙成林.紫蜂技術(shù)及其應(yīng)用[M].北京:北京郵電大學(xué)出版社,2006.
[6] 曾超,陳向東.基于WSN的高層建筑物地基沉降動態(tài)監(jiān)測系統(tǒng)的設(shè)計(jì)[J].現(xiàn)代電子技術(shù),2015,38(4):53?55.
[7] 王東.基于多傳感器融合的溫室環(huán)境智能控制系統(tǒng)研究與實(shí)現(xiàn)[D].楊凌:西北農(nóng)林科技大學(xué),2012.
[8] 張麗,張興昌.植物生長過程中水分、氮素、光照的互作效應(yīng)[J].干旱地區(qū)農(nóng)業(yè)研究,2003,21(1):43?46.