ZigBee溫室環境監控系統設計

1 引言 html

在溫室農業生產過程當中,溫度與溼度等環境參數直接影響到做物的生長。所以,環境的監測與控制是保證溫室生產優質高效的重要手段。而大部分的溫室監控系統採用PLC溫室控制和現場總線控制系統,這些系統具備佈線費時、抗干擾性差和成本高的缺點,制約了其推廣應用。再加上目前針對特定地區(如我國最北部地區)氣候存在着溫度低、晝夜溫差大、光照強度大等條件研究較少,使得環境監測的可靠性、穩定性成爲急需解決的問題。 編程

結合實地考察與測量,引入ZigBee數傳技術到溫室栽培中,創建溫室環境監控系統,能夠極大的節省勞動力,再加上低功耗、低成本等優點,可普遍應用於現代工農業自動控制,是信息技術在農業應用中的極佳選擇。 網絡

2 系統整體方案 架構

爲保證在監測過程當中數據穩定,避免局部數據表明溫室數據,因此在每一個溫室中將安裝多個ZigBee無線模塊傳感器節點,每一個ZigBee無線模塊節點採集2種環境參數。整體系統架構如圖1所示。 併發

clip_image002

l 溫溼度監測系統 函數

每一個溫室的不一樣地方都有ZigBee數據採集終端節點,做爲移動數據檢測節點,每一個ZigBee數據採集節點具備採集環境數據併發送給路由的功能。且在每一個溫室包括一個路由器,用來轉發數據,並識別和自組網絡節點。 測試

路由器將本溫室的傳感節點數據接收後併發送給協調器。協調器負責整個ZigBee無線網絡的創建和維護,收集ZigBee網絡中各個ZigBee無線模塊節點發出的信息,經過RS232接口把數據傳到上位機。PC主要負責處理數據並顯示,同時經過發送指令控制整個系統的運行。(若是監測節點距離太遠時還能夠考慮增長一個Router節點用於路由轉發) spa

3 系統硬件設計 .net

整個系統硬件設計主要包括ZigBee網關(協調器)和終端節點2部分。 設計

31 ZigBee網關節點

模塊網關節點包括CC2530模塊、電源模塊、串口模塊、USB接口、調試接口和3350V電源轉換模塊。其中電源模塊經過電壓轉換盒給節點提供33V工做電壓。採用的是可;即聯科技的JL13 ZigBee2530模塊,選取支持最新的ZigBee協議,移植Z-Stack協議棧較爲方便的CC2530射頻芯片。該溫溼度監測系統的硬件構成如圖2所示。

clip_image004

2 ZigBee網關硬件

32 ZigBee終端節點模塊

在終端傳感器節點中,除了網關節點原有模塊以外,只需在CC2530I0 增長一個傳感器。採用溫溼度傳感器SHT10。根據須要,終端傳感器節點分佈在監測環境中,經過SHT10實時進行環境參數的ZigBee數據採集,經CC2530處理後由射頻芯片發送。電路如圖3所示。

clip_image006

3 SHT10鏈接

P123引腳對應CC25301312引腳。爲了確保芯片和電源系統工做的穩定性,採用BL8555低壓差線性穩壓器,在12V50V輸出電壓範圍內給電路提供多種固定電壓。

4 系統軟件設計

整個監控系統軟件設計由ZigBee網關軟件和終端節點軟件2部分組成。協議棧的設計直接關係到整個網絡系統的運行。根據ZigBee星型網絡,協調器與終端設備在網絡中的功能、地位有所不一樣。ZigBee網關軟件和終端節點軟件這2部分都須要向其ZigBee無線模塊移植ZigBee協議棧(Z-Stack),尤爲是與硬件底層密切相關的PHY層和MAC層的實現,它爲上層通訊應用提供API接口函數。溫溼度採集系統程序設計是基於Z-Stack協議棧的SampleApp實驗進行的,在協議棧的基礎上,實現無線網絡的組網及通訊。在節點軟件設計中,爲了方便下載與調試,加入了ISP編程接口,能夠對採集的數據信息進行處理。

41 網關節點程序設計

ZigBee的通訊方式主要有點播、組播和廣播3種。

    在本設計中採用了週期定時廣播發送的方式。其主要負責將終端節點採集到的數據發送給網關節點(協調器),再由協調器經過RS232串口上傳到PC串口調試助手上。

協調器節點啓動後,根據自身的IEEE地址隨機肯定一個PAN ID,並自動造成網絡,同時容許其餘節點加入到該網絡,並負責給加入網絡的設備分配一個16位短地址、配置網絡參數、維護網絡正常運行、接收路由器和終端節點發送來的數據。協調器做爲整個網絡的核心,主要任務便是搭建ZigBee數傳網絡,實現數據的發送與接收。發送部分協調器在創建網絡過程當中,須要登記事件、定義任務ID、設置事件編號和設定發送週期。接收部分須要完成2個任務:讀取接收到的數據;把數據經過串口發送給PC。協調器節點工做流程如圖4所示。

clip_image008

4 協調器節點工做流程

42 傳感器SHT10程序設計

終端節點主要功能是加入已經存在的ZigBee數傳網絡,接收命令發送數據,可是不能轉發數據。溫溼度信息採集通常分爲自動採集和手動採集。將終端定時器設定一個初值,而後啓動定時器,每次到達定時設定值時觸發中斷,開始測量溫溼度,測量結束後由CC2530將數據發送出去,此後終端進入低功耗模式,定時器從新裝載,計時繼續,周而復始,實現自動採集;手動採集是由PC發指令給指定終端,終端識別出該指令後啓動傳感器,開始溫溼度採集,將數據處理後再傳給PC。下面對傳感器節點主要代碼進行說明。

    1)傳感器的啓動傳輸程序傳感器上電後,進入11 ms的「休眠」狀態。首先採用一個延時命令來完成系統初始化延時,而後由CC2530SHTl0發送「啓動傳輸」時序,喚醒芯片。隨後,SHTl0接收由CC2530的微控制器發送的命令。

    數據傳輸初始化由一組「啓動傳輸」時序來表示。用0表示低電平,l表示高電平時,當SCK時鐘爲1DATA翻轉爲0,緊接着SCK變爲0,在下一個SCK時鐘爲1DATA翻轉爲1。這部分主要由void s_transstart(void)函數完成。

    2)SHTlO寫數據時序系統採用按位寫的方式改變控制線SCKDATA的狀態。對於SHT10DATA在每一個SCK時鐘降低沿以後寫入一位數據來改變狀態,並僅在SCK時鐘上升沿有效。數據傳輸期間,在SCK時鐘爲高電平時,DATA必須維持穩定。不然可能出現寫數據時序的錯誤。寫數據時序主要由char s_write_byte(unsigned char value)函數來完成。

    3)SHTl0讀數據時序讀數據程序主要由函數char s_read_byte(unsignedchar aek)完成。ack爲讀數據確認控制字,初始變量i=0x80val=0。當向SHTl0傳感器寫入測溫控制字0x03這個8位數時,系統將進行溫度的測量工做,當寫入0x05時,系統將進行相對溼度的測量。

    4)通訊復位程序假如與傳感器SHT10的通訊發生中斷,能夠經過隨後的信號序列將串口復位,保持DATA1,觸發SCK時鐘9次或更多。在下1次指令執行前,發送1組「啓動傳輸」序列。這些程序序列只對復位串口有效,而狀態寄存器內容仍然保留。該復位程序由void s_connectionreset(void)函數來完成。

    5)SHTl0溫溼度信息處理該程序讀取指針p_shiduzhip_wenduzhi中的溼度值和溫度值。該部分由void calc_shtl0(float *p_shiduzhifloat *p_wenduzhi)函數來完成。信息處理中設置SHTl0的工做精度爲14位溫度和12位溼度測量,進行相對溼度計算。

    至此,ZigBee數據採集傳感器節點程序設計完成。ZigBee數據採集傳感器節點做爲溫室監測系統的基本組成單元,須要具有環境的參數採集、數據收發、數據處理、無線通訊等功能。在實際的應用中只需將CC2530模塊+傳感器便可組成EndDevice節點或者Router節點。這2種節點都可與Coordinator直接通訊進行數據採集,故將以上2種節點統稱爲傳感器節點。

5 系統測試與分析

本測試階段是在實驗室環境中完成的。在實驗室內部署了3ZigBee無線模塊,包括1個主節點,2個子節點。

首先須要按圖5所示將硬件系統鏈接起來,接着須要作的就是把源程序下載到無線ZigBee開發系統中並檢驗系統是否正常工做。

clip_image010

5 無線ZigBee開發系統下載鏈接示意

而後,採用星型網絡拓撲結構組成一個簡單的ZigBee網絡。這3ZigBee數傳節點(協調器與PC鏈接,路由器增長ZigBee數傳網絡的傳輸距離,終端節點採集溫溼度信息)的短地址隨機分配。節點之間的通訊距離爲 10 m ,系統啓動後自動造成網絡。打開串口終端COM5(串口號根據硬件驅動接口的差異而有所不一樣),設置波特率爲38 400 bs、無奇偶校驗、8位數據位、1位中止位、無硬件流模式,終端節點發送來的溫溼度數據如圖6所示。

clip_image012

6 終端節點溫溼度數據

6是一個終端節點接入網絡時的通訊狀況。文中所採集的數據均爲空氣中的溫、溼度信息,從圖中能夠看出,終端設備的短地址爲0x 796F ,溫溼度的精確度達到小數點的後4位。定時器週期爲5000 ms,溫溼度間隔5 S採集數據一次,該系統實現了環境溫溼度數據採集功能。與系統採集數據時的實際狀況相比較,其實際溫度測量偏差爲0 8,相對溼度測量偏差爲4RH。因爲在測試過程當中會有一些硬件電路的內部因素存在,因此該系統測得的溫度比實際溫度值高071 2。這與SHTl0溫溼度傳感器技術指標吻合,能夠實現系統溫溼度數據採集的功能。

6 結論

結合實地考察的溫室環境,採用ZigBee無線模塊技術應用於溫室監控系統。利用無線ZigBee數據採集傳感器網絡對溫室溫溼度等信息進行採集,設計了無線傳感器組網方案,完成了傳感器節點軟硬件設計,從而實現無線ZigBee數據數據採集與傳輸功能。測試試驗代表:採用ZigBee數傳模塊進行組網和數據採集,有較好的穩定性和良好的實用性。對不一樣規模的溫室,該系統能夠靈活改變網絡規模,可以知足溫室監測系統的須要。由此能夠得出:將ZigBee數傳技術爲基礎的監測和控制系統引入到現代農業溫室監測系統是一個很好的解決方案。

相關文章
相關標籤/搜索