江煜+楊忠+許飛云



【摘要】農業物聯網是物聯網技術在農業領域的綜合應用。ZigBee技術作為一種新興的短距離、低速率、低功耗、低成本的無線通信技術是農業物聯網發展中不可或缺的關鍵技術之一。本文采用ZigBee技術,結合農業塑料大棚溫濕度控制系統設計的特點,通過系統組網、溫濕度采集和上位機可視化顯示,實現了點對點通信,并通過試驗測試,該系統可以很好地實現農業塑料大棚的溫濕度控制。
引言
物聯網是新一代信息技術的高度集中和綜合運用,被稱為繼計算機、互聯網之后信息產業發展的第3次浪潮[1]。農業物聯網是物聯網技術在農業領域的綜合應用,推動粗放型、分散式的傳統農業向規模化、集約化、智能化的現代農業轉變。隨著智慧農業的發展,基于物聯網技術的塑料大棚控制系統是其研究的最新熱點之一[2]。本文結合塑料大棚實際控制的需求,采用ZigBee通信技術實現傳感器的組網和對塑料大棚內環境參數進行數據采集和傳輸,并結合組態技術實現數據界面的可視化,實現對塑料大棚采集的數據進行實時監控。該技術代替了傳統塑料大棚采用的有線設備,不僅降低了系統成本和維護難度,也極大提高了塑料大棚系統和用戶的工作效率。
ZigBee技術
ZigBee又稱IEEE802.15.4標準,是一種無線通信技術,其目標是實現低功耗、低復雜度、低傳輸速率、自組織能力強的短距離無線通信網絡,為短距離低速通信提供統一的標準[3]。ZigBee有3個工作頻段,分別為2.4 GHz(全球范圍內通用)、868 MHz(歐洲地區使用)和915 MHz(美國地區使用),分別具有最高250、20、40 Kbps的傳輸速率,傳輸距離在10~180 m。
ZigBee協議棧結構
ZigBee協議棧(圖1)是由物理層(PHY)、媒體訪問控制子層(MAC)、網絡層(NWK)和應用層(APL)四層模塊構成,每一層為它的上一層執行一組特定服務,即數據實體提供數據傳輸服務,管理實體提供的服務。
物理層(PHY)運行在2個不同的頻率范圍:868/915 MHz和2.4 GHz,前者在歐美等國家使用,后者全球通用。媒體訪問控制層(MAC)負責相鄰節點間的可靠通信,防止碰撞和提高工作效率,同時也負責解析和打包數據。應用層(APL)是由用戶自定義功能程序、ZigBee設備對象(ZDO)和應用支持子層(APS)組成;網絡層(NWK)是由NWK負責啟動網絡,由連接設備、存儲路由信息、執行路由選擇、分配IEEE地址等組成。
ZigBee網絡拓撲結構
ZigBee網絡層(NWK)有星型、樹型和網狀網絡3種拓撲結構[4](圖2)。
星型網絡拓撲結構是一個單跳網絡,有若干終端節點和唯一一個協調器。如果2個節點想要互相通信,必須將數據轉發到協調器,協調器可以充當路由器使用。
樹型網絡拓撲結構是一個多跳網絡,有唯一一個協調器、若干路由器和終端節點。節點之間相互通信時,必須沿著樹型網絡在建立時形成的路由路徑進行消息傳遞,子節點必須通過父節點才能同其他節點進行通信。如果有一個路由器節點功能失效,那么以它為父節點的子節點使命也就終結。由此可見,這種拓撲結構耗資大、安全性低。
網狀型網絡拓撲結構與樹形拓撲結構相似,屬于多跳網絡,有一個協調器、多個路由器和多個終端節點。只要在節點的覆蓋范圍內,路由器與路由器之間、路由器與協調器之間就可以通信,與節點加入網絡時形成的網絡結構無關。進行數據轉發時,如果其中一個路由器不能繼續工作,那么發出消息的節點會重新搜索覆蓋范圍內的其他路由器進行數據轉發,該拓撲結構具有一定的容錯性。這種拓撲結構以降低數據的傳輸速率為代價,提高了數據可靠性。
系統總體設計
塑料大棚溫濕度控制系統設計包含硬件部分和軟件部分(圖3)。硬件部分主要包含溫度傳感器、濕度傳感器、協調器、終端節點的整體方案設計。軟件部分包括Z-Stack協議棧的設計、ZigBee設備間的通信、溫濕度數據采集、上位機軟件串口讀寫和塑料大棚溫濕度監控系統界面的設計。
硬件系統設計
塑料大棚控制系統的硬件設計主要采用基于TI公司提出的SoC解決方案,核心芯片選用CC2530[9]。CC2530是增強型的8051CPU內核,有18個中斷源且分為4組;有4個不同的存儲空間用于程序存儲和數據存儲;有4組寄存器;有21個I/O口,可配置為通用I/O或外部設備,輸入口具有上拉或下拉能力,同時還有外部中斷能力;有2個串行通信接口,能運行于異步UART模式或同步SPI模式。同時,CC2530具有良好的數據收發功能,其內部集成RF收發器,繼承了RF的優良性能,能夠兼容ZigBee2007協議棧,是一個真正的片上系統解決方案[6-9]。
◆ 協調器節點設備
硬件設計包含協調器和終端節點設備。協調器功能主要是建立網絡,當網絡建立好,終端節點發出入網請求,識別后就能進入網絡,此時終端節點都會被賦予一個唯一16位短地址,作為該網絡節點的唯一標識(ID號)。考慮塑料大棚溫濕度系統主要有ZigBee協調器和ZigBee終端節點2個設備,本系統采用星型拓撲結構完成網絡組網。ZigBee協調器負責控制網絡,且由它進行維護網絡中的設備通信,終端設備只有擁有與協調器相同的ID號,才能入網直接與ZigBee協調器互相通信。
◆ 終端節點電路
在溫濕度監控系統中,終端節點負責數據采集、處理,分布在塑料大棚中,把采集到的溫濕度數據通過無線的方式發送給協調器節點。
本系統采用DHT11數字式溫濕度傳感器(圖4)作為采集單元,傳感器是由電阻式感濕元件和NTC測溫元件組成的,并連接了一個高性能8位單片機。DHT11響應快、抗干擾強、性價比高、體積小、信號傳輸距離長。相對于基于模擬信號測量的模擬式溫濕度傳感器,DHT11具有更好的穩定性,不易受外界環境影響,誤差小。
軟件系統設計
本系統軟件主要采用2006Z-Stack協議棧進行設計[10-11]。軟件主要包含3個模塊:溫濕度采集模塊、ZigBee無線通信模塊、上位機顯示模塊。溫濕度采集模塊DHT11主要負責實時采集溫濕度數據;ZigBee無線通信是由Z-Stack實現,其中通信單元中網絡層、物理層是由協議棧程序封裝,應用層的軟件是通過用戶自定義完成;上位機顯示模塊主要采用java程序編寫界面和讀寫串口程序。
◆ 溫濕度控制系統軟件設計
DHT11溫濕度傳感器的DATA引腳是用于與CC2530單片機進行通信和同步,采用單總線數據格式,單次通信時間大約為4 ms,數據有小數和整數2個部分,該系統沒有讀取小數部分即為零。當用戶發送1次開始信號后,DHT11從低速模式轉換到高速模式,在主機發送開始信號后,DHT11返回響應信號,并發送40 bit的數據,進行1次信號采集,讀取整數部分。當總線空閑時為高電平,主機需把總線拉低直到DHT11來響應,必須保證拉低時間長于18 ms,從而保證DHT11檢測到主機發來的起始信號。DHT11接收到開始信號后,延時等待20~40 μs左右,讀到DHT11的80 μs低電平響應信號。DHT11這時可變到輸入模式或由上拉電阻把總線拉高。DHT11發送的數據中,數據位是由高電平的時間長短來決定是數字0信號還是數字1信號(圖5)。
◆ Z-Stack協議棧
ZigBee協議棧的每一層都是一個任務,每個任務又劃分為多個事件,它們之間有可能同時操作。當有多個事件同時被觸發,通過進程調度程序來判斷各個事件的優先級,然后根據優先級通知相應層的事件處理函數來處理優先級[5-6]。
Z-Stack協議棧封裝了物理層和網絡層,其應用程序在Z-Stack中的調用過程如下:
main()--->osal_init_system()--->osalInitTasks()---> SerialApp_Init()。main函數初始化所有硬件設備和檢驗設備是否運行正常,為初始化操作系統和啟動操作系統做準備,完成ZigBee設備通信工作。應用層(SerialApp_Init)實現了溫濕度數據收發、事件處理、按鍵處理等功能。
◆ 上位機軟件設計
本系統的上位機顯示界面和串口通信是使用Eclipse進行設計,屬于java語言編程環境。協調器根據從終端接收到的數據通過串口上傳給PC機。步驟如下:①進行系統調試之前,先進行串口配置,設置波特率為38400,數據位為8位。②使用開源java類庫RXTX串口通信,其兼容windows,Linux等操作系統。上位機程序設計包含串口程序(主程序)和界面程序。
主程序 該類實現了線程Runnable接口以及串口事件監聽接口,用于監聽系統中可用端口的收發數據。程序首先初始化串口,然后實現接口SerialPortEventListener中的方法,該方法可以讀取由協調器通過串口發送給上位機的字節數據。同時outputStream流可以發送信息給協調器。
界面程序 界面采用swing編程。該類實現了線程Runnable接口以及事件監聽接口。界面可以顯示溫濕度的大小并實時刷新(圖6)。
系統測試
為了驗證該系統設計的可行性,對該系統進行可靠性和穩定性檢測。首先對網絡的組網能力進行測試。該網絡包括1個協調器和1個終端節點,它們之間通過PC機USB轉串口線供電,測試距離室外50 m、室內10 m。協調器結點端口為COM1,波特率為38400 bps,8位數據位,1位停止位,無奇偶校驗和流量控制。首先使用IRA分別將生成好的Coordinator.hex和EndDevice.hex下載到協調器和終端設備;其次,通過串口線將協調器和終端連接到PC機USB接口,再打開協調器開關上電,接著啟動Eclipse環境,運行serialport工程。上電后協調器D3燈常亮,終端D1燈不停的閃爍,則表示終端入網成功(圖7)。此時,在設備管理器中配置好串口,按下終端S1按鍵就能夠上傳傳感器數據,同時上位機顯示界面能夠實時監測到終端傳輸的溫濕度數據。如果想停止數據上傳,再次按下S1按鍵。上位機監測圖如圖8所示,當前溫度為24℃,濕度為44%。
經測試,在有效傳輸距離范圍內移動終端節點,終端節點有時會暫時脫離網絡,不能上傳數據,但很快又能重新加入網絡。此外,隨著節點間障礙物的增加,信號穿透能力逐漸減弱,節點在數據傳輸中可能出現短暫的中斷,但網絡中的節點能夠自組織并自我修復重新加入網絡。所以系統穩定性測試存在2種情況:①在無障礙環境中將協調器位置固定,終端節點在有效傳輸范圍內移動,丟包率隨著距離的增加而增大。在50 m之內,協調器能準確收到終端數據,數據傳輸可靠,但超過50 m,丟包率呈上升趨勢,數據傳輸變得不可靠。②在有障礙環境下測試,傳輸可靠距離較之無障礙有所縮短,超過40 m就開始出現嚴重丟包。
結論
本文以塑料大棚溫濕度參數為監控目標,通過以CC2530為核心的單片機和ZigBee無線通信技術實現塑料大棚溫濕度監控。當該系統運行時,DHT11數字溫濕度傳感器負責采集大棚內溫濕度參數;ZigBee終端節點將溫濕度傳感器采集的數據進行處理后傳給協調器;ZigBee協調器接收終端節點上傳的數據并通過串口通信將數據發送給上位機顯示并存儲。同時,上位機可以判斷溫濕度范圍,當超出預設范圍,將通過協調器向終端發送指令,開啟水泵或加熱器等設備,來實施溫濕度實時控制。最后通過運行測試,證實系統具有良好的可靠性和穩定性。
致謝
感謝金陵科技學院于進月同學的硬件支持!
參考文獻
[1] 蔡長安.基于物聯網技術的大棚溫濕度監控系統的設計[J].長沙大學學報,2016(02):70-72.
[2] 鄒世鵬,郭盼盼,秦樂,等.基于ZigBee技術的大棚溫濕度無線監控系統研究[J].電子設計工程,2015(4):92-95.
[3] 郭東平.基于單片機的大棚溫濕度監測報警裝置的研究與開發[D].楊凌:西北農林科技大學,2015.
[4] 楊浩,朱立才,蔡長安,等.計算機網絡在物聯網工程專業中的教學改革與教學資源平臺建設[J].計算機教育,2015(02):56-59.
[5] 張震宇,王潔偉,華群輝,等.基于物聯網技術的設備溫濕度遠程監測系統研究[J].浙江科技學院學報,2013,25(03):194-199.
[6] 周紅偉.基于ZigBee技術的葡萄大棚遠程監測系統的研究[D].上海:東華大學,2014.
[7] 沈建明.基于ZigBee的溫室大棚的溫濕度檢測系統[D].西安:西安工業大學,2013.
[8] 張健,杜佳星.基于ZigBee無線傳感網絡的溫濕度監控系統設計[J].科技信息,2013(20):48.
[9] 張濤.基于CC2530的溫度監測模塊設計與應用[D].南昌:南昌大學,2012.
[10] Yuan Z Q.The design of greenhouse cultivation wireless monitoring system based on ZigBee technology[J].Jiangsu AgriculturalSciences,2012,40(11):396-397.
[11] Gao S W,Wu C Y.ZigBee Technology Practice Tutorials[M]. Beijing:Beijing University Press,2009.
*項目支持:金陵科技學院高層次人才引進基金(JIT-6-201623,JITFHXN201608);國家自然科學基金(51575101,51305176)。
作者簡介:江煜(1975-),博士,研究方向:物聯網工程、農業物聯網、聲發射結構健康監測。