jlinkcn

          ZigBee溫室環(huán)境監(jiān)控系統(tǒng)設(shè)計(jì)

          1 引言

          在溫室農(nóng)業(yè)生產(chǎn)過(guò)程中,溫度與濕度等環(huán)境參數(shù)直接影響到作物的生長(zhǎng)。因此,環(huán)境的監(jiān)測(cè)與控制是保證溫室生產(chǎn)優(yōu)質(zhì)高效的重要手段。而大部分的溫室監(jiān)控系統(tǒng)采用PLC溫室控制和現(xiàn)場(chǎng)總線(xiàn)控制系統(tǒng),這些系統(tǒng)具有布線(xiàn)費(fèi)時(shí)、抗干擾性差和成本高的缺點(diǎn),制約了其推廣應(yīng)用。再加上目前針對(duì)特定地區(qū)(如我國(guó)最北部地區(qū))氣候存在著溫度低、晝夜溫差大、光照強(qiáng)度大等條件研究較少,使得環(huán)境監(jiān)測(cè)的可靠性、穩(wěn)定性成為急需解決的問(wèn)題。

          結(jié)合實(shí)地考察與測(cè)量,引入ZigBee數(shù)傳技術(shù)到溫室栽培中,建立溫室環(huán)境監(jiān)控系統(tǒng),可以極大的節(jié)省勞動(dòng)力,再加上低功耗、低成本等優(yōu)勢(shì),可廣泛應(yīng)用于現(xiàn)代工農(nóng)業(yè)自動(dòng)控制,是信息技術(shù)在農(nóng)業(yè)應(yīng)用中的極佳選擇。

          2 系統(tǒng)總體方案

          為保證在監(jiān)測(cè)過(guò)程中數(shù)據(jù)穩(wěn)定,避免局部數(shù)據(jù)代表溫室數(shù)據(jù),所以在每個(gè)溫室中將安裝多個(gè)ZigBee無(wú)線(xiàn)模塊傳感器節(jié)點(diǎn),每個(gè)ZigBee無(wú)線(xiàn)模塊節(jié)點(diǎn)采集2種環(huán)境參數(shù)。總體系統(tǒng)架構(gòu)如圖1所示。

          clip_image002

          l 溫濕度監(jiān)測(cè)系統(tǒng)

          每個(gè)溫室的不同地方都有ZigBee數(shù)據(jù)采集終端節(jié)點(diǎn),作為移動(dòng)數(shù)據(jù)檢測(cè)節(jié)點(diǎn),每個(gè)ZigBee數(shù)據(jù)采集節(jié)點(diǎn)具有采集環(huán)境數(shù)據(jù)并發(fā)送給路由的功能。且在每個(gè)溫室包括一個(gè)路由器,用來(lái)轉(zhuǎn)發(fā)數(shù)據(jù),并識(shí)別和自組網(wǎng)絡(luò)節(jié)點(diǎn)。

          路由器將本溫室的傳感節(jié)點(diǎn)數(shù)據(jù)接收后并發(fā)送給協(xié)調(diào)器。協(xié)調(diào)器負(fù)責(zé)整個(gè)ZigBee無(wú)線(xiàn)網(wǎng)絡(luò)的建立和維護(hù),收集ZigBee網(wǎng)絡(luò)中各個(gè)ZigBee無(wú)線(xiàn)模塊節(jié)點(diǎn)發(fā)出的信息,通過(guò)RS232接口把數(shù)據(jù)傳到上位機(jī)。PC主要負(fù)責(zé)處理數(shù)據(jù)并顯示,同時(shí)通過(guò)發(fā)送指令控制整個(gè)系統(tǒng)的運(yùn)行。(如果監(jiān)測(cè)節(jié)點(diǎn)距離太遠(yuǎn)時(shí)還可以考慮增加一個(gè)Router節(jié)點(diǎn)用于路由轉(zhuǎn)發(fā))

          3 系統(tǒng)硬件設(shè)計(jì)

          整個(gè)系統(tǒng)硬件設(shè)計(jì)主要包括ZigBee網(wǎng)關(guān)(協(xié)調(diào)器)和終端節(jié)點(diǎn)2部分。

          31 ZigBee網(wǎng)關(guān)節(jié)點(diǎn)

          模塊網(wǎng)關(guān)節(jié)點(diǎn)包括CC2530模塊、電源模塊、串口模塊、USB接口、調(diào)試接口和3350V電源轉(zhuǎn)換模塊。其中電源模塊通過(guò)電壓轉(zhuǎn)換盒給節(jié)點(diǎn)提供33V工作電壓。采用的是可;即聯(lián)科技的JL13 ZigBee2530模塊,選取支持最新的ZigBee協(xié)議,移植Z-Stack協(xié)議棧較為方便的CC2530射頻芯片。該溫濕度監(jiān)測(cè)系統(tǒng)的硬件構(gòu)成如圖2所示。

          clip_image004

          2 ZigBee網(wǎng)關(guān)硬件

          32 ZigBee終端節(jié)點(diǎn)模塊

          在終端傳感器節(jié)點(diǎn)中,除了網(wǎng)關(guān)節(jié)點(diǎn)原有模塊之外,只需在CC2530I0 增加一個(gè)傳感器。采用溫濕度傳感器SHT10。根據(jù)需要,終端傳感器節(jié)點(diǎn)分布在監(jiān)測(cè)環(huán)境中,通過(guò)SHT10實(shí)時(shí)進(jìn)行環(huán)境參數(shù)的ZigBee數(shù)據(jù)采集,經(jīng)CC2530處理后由射頻芯片發(fā)送。電路如圖3所示。

          clip_image006

          3 SHT10連接

          P123引腳對(duì)應(yīng)CC25301312引腳。為了確保芯片和電源系統(tǒng)工作的穩(wěn)定性,采用BL8555低壓差線(xiàn)性穩(wěn)壓器,在12V50V輸出電壓范圍內(nèi)給電路提供多種固定電壓。

          4 系統(tǒng)軟件設(shè)計(jì)

          整個(gè)監(jiān)控系統(tǒng)軟件設(shè)計(jì)由ZigBee網(wǎng)關(guān)軟件和終端節(jié)點(diǎn)軟件2部分組成。協(xié)議棧的設(shè)計(jì)直接關(guān)系到整個(gè)網(wǎng)絡(luò)系統(tǒng)的運(yùn)行。根據(jù)ZigBee星型網(wǎng)絡(luò),協(xié)調(diào)器與終端設(shè)備在網(wǎng)絡(luò)中的功能、地位有所不同。ZigBee網(wǎng)關(guān)軟件和終端節(jié)點(diǎn)軟件這2部分都需要向其ZigBee無(wú)線(xiàn)模塊移植ZigBee協(xié)議棧(Z-Stack),尤其是與硬件底層密切相關(guān)的PHY層和MAC層的實(shí)現(xiàn),它為上層通信應(yīng)用提供API接口函數(shù)。溫濕度采集系統(tǒng)程序設(shè)計(jì)是基于Z-Stack協(xié)議棧的SampleApp實(shí)驗(yàn)進(jìn)行的,在協(xié)議棧的基礎(chǔ)上,實(shí)現(xiàn)無(wú)線(xiàn)網(wǎng)絡(luò)的組網(wǎng)及通信。在節(jié)點(diǎn)軟件設(shè)計(jì)中,為了方便下載與調(diào)試,加入了ISP編程接口,可以對(duì)采集的數(shù)據(jù)信息進(jìn)行處理。

          41 網(wǎng)關(guān)節(jié)點(diǎn)程序設(shè)計(jì)

          ZigBee的通信方式主要有點(diǎn)播、組播和廣播3種。

              在本設(shè)計(jì)中采用了周期定時(shí)廣播發(fā)送的方式。其主要負(fù)責(zé)將終端節(jié)點(diǎn)采集到的數(shù)據(jù)發(fā)送給網(wǎng)關(guān)節(jié)點(diǎn)(協(xié)調(diào)器),再由協(xié)調(diào)器通過(guò)RS232串口上傳到PC串口調(diào)試助手上。

          協(xié)調(diào)器節(jié)點(diǎn)啟動(dòng)后,根據(jù)自身的IEEE地址隨機(jī)確定一個(gè)PAN ID,并自動(dòng)形成網(wǎng)絡(luò),同時(shí)允許其他節(jié)點(diǎn)加入到該網(wǎng)絡(luò),并負(fù)責(zé)給加入網(wǎng)絡(luò)的設(shè)備分配一個(gè)16位短地址、配置網(wǎng)絡(luò)參數(shù)、維護(hù)網(wǎng)絡(luò)正常運(yùn)行、接收路由器和終端節(jié)點(diǎn)發(fā)送來(lái)的數(shù)據(jù)。協(xié)調(diào)器作為整個(gè)網(wǎng)絡(luò)的核心,主要任務(wù)即是搭建ZigBee數(shù)傳網(wǎng)絡(luò),實(shí)現(xiàn)數(shù)據(jù)的發(fā)送與接收。發(fā)送部分協(xié)調(diào)器在建立網(wǎng)絡(luò)過(guò)程中,需要登記事件、定義任務(wù)ID、設(shè)置事件編號(hào)和設(shè)定發(fā)送周期。接收部分需要完成2個(gè)任務(wù):讀取接收到的數(shù)據(jù);把數(shù)據(jù)通過(guò)串口發(fā)送給PC。協(xié)調(diào)器節(jié)點(diǎn)工作流程如圖4所示。

          clip_image008

          4 協(xié)調(diào)器節(jié)點(diǎn)工作流程

          42 傳感器SHT10程序設(shè)計(jì)

          終端節(jié)點(diǎn)主要功能是加入已經(jīng)存在的ZigBee數(shù)傳網(wǎng)絡(luò),接收命令發(fā)送數(shù)據(jù),但是不能轉(zhuǎn)發(fā)數(shù)據(jù)。溫濕度信息采集一般分為自動(dòng)采集和手動(dòng)采集。將終端定時(shí)器設(shè)定一個(gè)初值,然后啟動(dòng)定時(shí)器,每次到達(dá)定時(shí)設(shè)定值時(shí)觸發(fā)中斷,開(kāi)始測(cè)量溫濕度,測(cè)量結(jié)束后由CC2530將數(shù)據(jù)發(fā)送出去,此后終端進(jìn)入低功耗模式,定時(shí)器重新裝載,計(jì)時(shí)繼續(xù),周而復(fù)始,實(shí)現(xiàn)自動(dòng)采集;手動(dòng)采集是由PC發(fā)指令給指定終端,終端識(shí)別出該指令后啟動(dòng)傳感器,開(kāi)始溫濕度采集,將數(shù)據(jù)處理后再傳給PC。下面對(duì)傳感器節(jié)點(diǎn)主要代碼進(jìn)行說(shuō)明。

              1)傳感器的啟動(dòng)傳輸程序傳感器上電后,進(jìn)入11 ms的“休眠”狀態(tài)。首先采用一個(gè)延時(shí)命令來(lái)完成系統(tǒng)初始化延時(shí),然后由CC2530SHTl0發(fā)送“啟動(dòng)傳輸”時(shí)序,喚醒芯片。隨后,SHTl0接收由CC2530的微控制器發(fā)送的命令。

              數(shù)據(jù)傳輸初始化由一組“啟動(dòng)傳輸”時(shí)序來(lái)表示。用0表示低電平,l表示高電平時(shí),當(dāng)SCK時(shí)鐘為1時(shí)DATA翻轉(zhuǎn)為0,緊接著SCK變?yōu)?span lang="EN-US">0,在下一個(gè)SCK時(shí)鐘為1時(shí)DATA翻轉(zhuǎn)為1。這部分主要由void s_transstart(void)函數(shù)完成。

              2)SHTlO寫(xiě)數(shù)據(jù)時(shí)序系統(tǒng)采用按位寫(xiě)的方式改變控制線(xiàn)SCKDATA的狀態(tài)。對(duì)于SHT10,DATA在每個(gè)SCK時(shí)鐘下降沿之后寫(xiě)入一位數(shù)據(jù)來(lái)改變狀態(tài),并僅在SCK時(shí)鐘上升沿有效。數(shù)據(jù)傳輸期間,在SCK時(shí)鐘為高電平時(shí),DATA必須維持穩(wěn)定。否則可能出現(xiàn)寫(xiě)數(shù)據(jù)時(shí)序的錯(cuò)誤。寫(xiě)數(shù)據(jù)時(shí)序主要由char s_write_byte(unsigned char value)函數(shù)來(lái)完成。

              3)SHTl0讀數(shù)據(jù)時(shí)序讀數(shù)據(jù)程序主要由函數(shù)char s_read_byte(unsignedchar aek)完成。ack為讀數(shù)據(jù)確認(rèn)控制字,初始變量i=0x80,val=0。當(dāng)向SHTl0傳感器寫(xiě)入測(cè)溫控制字0x03這個(gè)8位數(shù)時(shí),系統(tǒng)將進(jìn)行溫度的測(cè)量工作,當(dāng)寫(xiě)入0x05時(shí),系統(tǒng)將進(jìn)行相對(duì)濕度的測(cè)量。

              4)通信復(fù)位程序假如與傳感器SHT10的通信發(fā)生中斷,可以通過(guò)隨后的信號(hào)序列將串口復(fù)位,保持DATA1,觸發(fā)SCK時(shí)鐘9次或更多。在下1次指令執(zhí)行前,發(fā)送1組“啟動(dòng)傳輸”序列。這些程序序列只對(duì)復(fù)位串口有效,而狀態(tài)寄存器內(nèi)容仍然保留。該復(fù)位程序由void s_connectionreset(void)函數(shù)來(lái)完成。

              5)SHTl0溫濕度信息處理該程序讀取指針p_shiduzhi、p_wenduzhi中的濕度值和溫度值。該部分由void calc_shtl0(float *p_shiduzhifloat *p_wenduzhi)函數(shù)來(lái)完成。信息處理中設(shè)置SHTl0的工作精度為14位溫度和12位濕度測(cè)量,進(jìn)行相對(duì)濕度計(jì)算。

              至此,ZigBee數(shù)據(jù)采集傳感器節(jié)點(diǎn)程序設(shè)計(jì)完成。ZigBee數(shù)據(jù)采集傳感器節(jié)點(diǎn)作為溫室監(jiān)測(cè)系統(tǒng)的基本組成單元,需要具備環(huán)境的參數(shù)采集、數(shù)據(jù)收發(fā)、數(shù)據(jù)處理、無(wú)線(xiàn)通信等功能。在實(shí)際的應(yīng)用中只需將CC2530模塊+傳感器即可組成EndDevice節(jié)點(diǎn)或者Router節(jié)點(diǎn)。這2種節(jié)點(diǎn)均可與Coordinator直接通信進(jìn)行數(shù)據(jù)采集,故將以上2種節(jié)點(diǎn)統(tǒng)稱(chēng)為傳感器節(jié)點(diǎn)。

          5 系統(tǒng)測(cè)試與分析

          本測(cè)試階段是在實(shí)驗(yàn)室環(huán)境中完成的。在實(shí)驗(yàn)室內(nèi)部署了3個(gè)ZigBee無(wú)線(xiàn)模塊,包括1個(gè)主節(jié)點(diǎn),2個(gè)子節(jié)點(diǎn)。

          首先需要按圖5所示將硬件系統(tǒng)連接起來(lái),接著需要做的就是把源程序下載到無(wú)線(xiàn)ZigBee開(kāi)發(fā)系統(tǒng)中并檢驗(yàn)系統(tǒng)是否正常工作。

          clip_image010

          5 無(wú)線(xiàn)ZigBee開(kāi)發(fā)系統(tǒng)下載連接示意

          然后,采用星型網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)組成一個(gè)簡(jiǎn)單的ZigBee網(wǎng)絡(luò)。這3個(gè)ZigBee數(shù)傳節(jié)點(diǎn)(協(xié)調(diào)器與PC連接,路由器增加ZigBee數(shù)傳網(wǎng)絡(luò)的傳輸距離,終端節(jié)點(diǎn)采集溫濕度信息)的短地址隨機(jī)分配。節(jié)點(diǎn)之間的通信距離為10 m,系統(tǒng)啟動(dòng)后自動(dòng)形成網(wǎng)絡(luò)。打開(kāi)串口終端COM5(串口號(hào)根據(jù)硬件驅(qū)動(dòng)接口的差別而有所不同),設(shè)置波特率為38 400 bs、無(wú)奇偶校驗(yàn)、8位數(shù)據(jù)位、1位停止位、無(wú)硬件流模式,終端節(jié)點(diǎn)發(fā)送來(lái)的溫濕度數(shù)據(jù)如圖6所示。

          clip_image012

          6 終端節(jié)點(diǎn)溫濕度數(shù)據(jù)

          6是一個(gè)終端節(jié)點(diǎn)接入網(wǎng)絡(luò)時(shí)的通信情況。文中所采集的數(shù)據(jù)均為空氣中的溫、濕度信息,從圖中可以看出,終端設(shè)備的短地址為0x796F,溫濕度的精確度達(dá)到小數(shù)點(diǎn)的后4位。定時(shí)器周期為5000 ms,溫濕度間隔5 S采集數(shù)據(jù)一次,該系統(tǒng)實(shí)現(xiàn)了環(huán)境溫濕度數(shù)據(jù)采集功能。與系統(tǒng)采集數(shù)據(jù)時(shí)的實(shí)際情況相比較,其實(shí)際溫度測(cè)量誤差為08,相對(duì)濕度測(cè)量誤差為4RH。由于在測(cè)試過(guò)程中會(huì)有一些硬件電路的內(nèi)部因素存在,所以該系統(tǒng)測(cè)得的溫度比實(shí)際溫度值高0712。這與SHTl0溫濕度傳感器技術(shù)指標(biāo)吻合,可以實(shí)現(xiàn)系統(tǒng)溫濕度數(shù)據(jù)采集的功能。

          6 結(jié)論

          結(jié)合實(shí)地考察的溫室環(huán)境,采用ZigBee無(wú)線(xiàn)模塊技術(shù)應(yīng)用于溫室監(jiān)控系統(tǒng)。利用無(wú)線(xiàn)ZigBee數(shù)據(jù)采集傳感器網(wǎng)絡(luò)對(duì)溫室溫濕度等信息進(jìn)行采集,設(shè)計(jì)了無(wú)線(xiàn)傳感器組網(wǎng)方案,完成了傳感器節(jié)點(diǎn)軟硬件設(shè)計(jì),從而實(shí)現(xiàn)無(wú)線(xiàn)ZigBee數(shù)據(jù)數(shù)據(jù)采集與傳輸功能。測(cè)試試驗(yàn)表明:采用ZigBee數(shù)傳模塊進(jìn)行組網(wǎng)和數(shù)據(jù)采集,有較好的穩(wěn)定性和良好的實(shí)用性。對(duì)不同規(guī)模的溫室,該系統(tǒng)可以靈活改變網(wǎng)絡(luò)規(guī)模,能夠滿(mǎn)足溫室監(jiān)測(cè)系統(tǒng)的需要。由此可以得出:將ZigBee數(shù)傳技術(shù)為基礎(chǔ)的監(jiān)測(cè)和控制系統(tǒng)引入到現(xiàn)代農(nóng)業(yè)溫室監(jiān)測(cè)系統(tǒng)是一個(gè)很好的解決方案。

             

          posted on 2015-04-06 22:11 小王王 閱讀(171) 評(píng)論(0)  編輯  收藏


          只有注冊(cè)用戶(hù)登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 周口市| 汝南县| 新乡县| 洮南市| 永仁县| 岗巴县| 黄平县| 贺州市| 同江市| 武强县| 桑植县| 南昌市| 左贡县| 象州县| 南宫市| 穆棱市| 南昌县| 莱州市| 重庆市| 兴仁县| 石家庄市| 长武县| 内黄县| 南靖县| 隆回县| 宿州市| 长子县| 长武县| 罗江县| 瑞昌市| 灵武市| 镇巴县| 井陉县| 白城市| 布拖县| 青河县| 年辖:市辖区| 中方县| 玛多县| 德令哈市| 建始县|