范慶宇,孫澤軍
(平頂山學院 信息工程學院,河南 平頂山 467000)
隨著科學技術與數字化水平的不斷發展和穩步提高,以大數據、人工智能為基石,網絡由虛擬走向現實,連接世間萬物,未來即是萬物互聯的智能時代,中國的養殖場也向著智能化、信息化的方向快速發展[1]。智能化養殖場能夠有效地減少環境對禽畜造成的影響,減少人為管理,降低經濟損失,提高產品的質量和生產效率,從而帶來更大的利潤[2]。以往養殖場存在需要的勞動力過多、人為經驗控制環境、異常情況處理滯后、成本高和效率低等缺點。為了實現養殖場更好地發展[3],本文提出了一種基于ZigBee的物聯網養殖場環境監測控制系統。
本系統結合現代物聯網技術和ZigBee無線通信技術建立養殖場環境智能監測控制系統,將物聯網智能化感知、無線通信和控制系統與禽畜養殖業結合起來,系統實時感知環境和禽畜活動的變化,并自動做出相應的措施來控制或調整養殖場內部環境[4]。系統主要由數據采集部分、控制部分、安全報警部分組成[5];由數據終端和多個數據采集點組成,采集點檢測養殖場內某處溫度、濕度、空氣質量、光照、沼氣濃度及相關參數。各采集點的數據通過基于ZigBee構建的網絡傳輸到ZigBee協調器節點,該協調器節點監視各個采集點參數數值,若超出預設的閾值則啟動對應控制模塊工作,若超出警告值則會報警并立即通知養殖戶[6]。另外,路由節點通過ESP8266模塊和TCP協議將實時數據傳到服務器,用戶可以遠程查看養殖場的各個環境參數并調節閾值,從而達到對養殖場環境的監測和智能控制的目的。
由于該系統的底層感知系統是由多個CC2530板構成的,所以終端節點與協調器節點之間的通信須使用ZigBee協議[7]。ZigBee 的網絡結構有星型網、樹狀網和網狀網。其中星型網絡是最簡單的一種,以一個協調器節點為組網核心,將周圍的終端節點連接到協調器節點上。在本系統中使用ZigBee的星型拓撲結構,各終端節點和協調器連接構成星型網絡結構。協調器與上位機之間的通信使用WiFi方式連接,選擇TCP協議作為協調器與上位機之間的通信協議[8]。將ESP8266配置為TCP Client模式,設置IP地址和端口號即可與云服務器建立鏈路進行數據傳輸,提高系統的便捷性。其系統整體的框架如圖1所示。

圖1 系統整體的框架圖
本系統主要是由上位機(智能終端設備和OneNET服務器)、下位機(ZigBee組網)兩個部分組成[9]。其中上位機利用OneNET作為數據信息的顯示、保存和處理的平臺;下位機由采用ZigBee的星型拓撲結構和其他一些專業傳感器組成,主要負責獲取、收集和傳輸養殖場環境的數據。下位機可以由上位機控制;上位機和下位機之間的通信采用即時通信協議TCP保證數據實時、穩定、高效地上傳到OneNET服務器。系統硬件結構設計如圖2所示。

圖2 系統硬件結構圖
各終端節點與協調器連接構成星型網絡結構,中心為協調器,周圍是終端節點。協調器負責數據上傳;而終端節點上連接相應的傳感器、繼電器和相關的控制模塊,負責養殖場內環境參數的采集。
(1)協調器節點結構
協調器節點在WSN中作用非常重要,是整個系統的核心,它的作用是在上位機和下位機之間進行數據交換,在網絡中起到紐帶的作用;并控制ZigBee網絡中其他終端節點的工作,收集各終端節點監測到的養殖場內的環境數據,將數據傳輸到上位機;同時也可以接收上位機的數據,將上位機的數據發送給終端節點,進而實現控制。在本系統中,協調器節點采用帶有ESP8266模塊的CC2530主板,與其他終端節點相比多了一個ESP8266模塊。本系統的協調器節點實物圖如圖3所示。

圖3 系統協調器節點實物圖
(2)終端節點結構
終端節點是WSN的最小單位,它的組成結構主要有傳感器模塊、無線收發器、電源模塊、射頻模塊和處理器。它有兩個功能:第一是負責將監測的環境數據傳遞給協調器;第二是接收協調器的數據,從而執行一些操作。結合本系統工作場景并考慮到成本,系統選擇CC2530芯片,它能為系統提供控制器和ZigBee射頻模塊,并且功耗非常低,也降低了后期維護成本。
系統設計時,在系統中不同設備之間要想實現理想的通信就必須設計出合理的通信協議。由于系統中ZigBee組網通信是本智能系統中最重要的紐帶環節,上連接協調器,下連接養殖場環境智能監測系統的終端數據采集傳感節點。因此,在ZigBee 組網協議中需設計的重要通信協議有:協調器與終端節點發出的指令數據結構見表1所列,其數據見表2所列;ZigBee返回指令數據結構見表3所列;協調器與養殖場環境傳感器之間的通信數據結構見表4所列;ZigBee網關與OneNET服務器之間的通信協議見表5所列。

表1 終端發出指令數據結構

表2 終端發出指令數據結構中功能位指令的詳解

表3 ZigBee返回指令數據結構

表4 ZigBee協調器與傳感器節點間通信數據結構

表5 ZigBee協調器與OneNET的通信協議
主控模塊是系統的核心部件,其使用的是CC2530芯片,CC2530結合了業界領先的RF收發器、標準的增強型8051 CPU、8 KB RAM,具有系統內可編程閃存以及許多其他強大的功能,其特點是近距離、低復雜度、自組織、低功耗、低數據速率、低成本。ZigBee的技術特性決定它將是無線傳感器網絡的最好選擇,可廣泛用于物聯網、自動控制和監視等諸多領域。CC2530具有不同的運行模式,使得它尤其適應超低功耗要求的系統,運行模式之間的轉換時間短,進一步確保了低能源消耗。其核心板原理如圖4所示。

圖4 ZigBee核心板原理圖
(1)WiFi無線通信模塊—ESP8266
ESP8266芯片是面向物聯網應用的高性價比、高集成度的WiFi MCU,內置超低功耗Tensilica L106 32位 RISC 處理器,CPU時鐘速度最高可達160 MHz,支持實時操作系統 (RTOS)和WiFi協議棧,可將高達80%的處理能力留給應用編程和開發。高集成度、性能穩定、工作溫度范圍大,且能夠保持穩定的性能;具有標準外設接口、天線開關、射頻BALUN、功率器、低噪放大器、過濾器和電源管理模塊;具有低功耗的特點,適用于可穿戴電子產品和物聯網應用。
(2)溫濕度傳感器—DHT11
DHT11是一款集溫度測量和濕度測量于一體的復合型傳感器。傳感器中測溫模塊使用了NTC測溫元件,測濕模塊采用了電阻式感濕元件,其內部還包括一個8位單片機;它的輸出為數字型,無須再進行A/D轉換,并且數字在輸出時已經修正過,可供用戶直接讀取。實驗證明,該產品有可靠性高、穩定性好、響應快、抗干擾能力強、功耗小等特點,滿足養殖場監控系統的要求。該產品體積小、價格便宜、連接方便,能夠降低室內環境監控系統的整體造價,便于市場推廣。
(3)光照傳感器—GY-302
GY-302模塊是一款基于I2C通信的16 b的數字型傳感器。模塊主要是以BH1750數字型光強感應芯片為核心,還包括一些外圍驅動電路。BH1750是一款內部集成了光電轉換、ADC轉換、I2C信號轉換等電路的芯片,BH1750內部簡要框圖如圖5所示,省去了復雜信號處理電路,又能保持良好的穩定性并節省空間。該芯片內部電路主要分為4部分:

圖5 BH1750內部結構圖
①光敏二極管:導通電流隨著光強的變化而變化。
②I/V轉換電路:主要是將電流信號轉換為電壓信號。
③ADC轉換電路:將電壓信號轉換為數字信號,分辨率為16 b。
④I2C邏輯電路:主要是將光強數據打包成I標準的I2C通信信號。
(4)甲烷傳感器模塊—MQ-4
MQ-4氣體傳感器所使用的氣敏材料是在清潔空氣中電導率較低的二氧化錫。當傳感器周圍存在可燃氣體時,傳感器的電導率隨著空氣中的可燃氣體濃度的增大而增大。該傳感器模塊對甲烷(沼氣的主要成分)的靈敏度高,對丙烷、丁烷也有較好的靈敏度,是一款低成本易用的傳感器。MQ-4靈敏度特征曲線[1]如圖6所示;MQ-4型元件溫度特征[2]如圖7所示。

圖6 MQ-4靈敏度特征曲線

圖7 MQ-4型元件溫度特征圖
圖中縱坐標是傳感器的電阻比(Rs/Ro);Rs表示在含1 000 ppm甲烷、不同溫/濕度下傳感器的電阻值;Ro表示在含1 000 ppm甲烷、20 ℃/65%RH環境下傳感器的電阻值。
養殖場環境監測系統可分為兩部分:ZigBee網絡和OneNET云服務器。ZigBee網絡是由協調器和終端節點兩部分組成。協調器負責收集、匯總和處理多個終端節點采集的養殖場環境數據,并將實時環境參數上傳到OneNET服務器以供遠程查看。此外,養殖場環境出現異常時,協調器的LCD屏上會顯示養殖場環境數據異常的警報信息;協調器還會向終端節點發送指令控制對應的功能模塊工作,實現主動控制養殖場環境。OneNET云服務器主要負責接收由ZigBee協調器上傳的數據,把接收的數據進行統計和保存并以人性化圖形進行顯示,以便于管理員觀察養殖場環境數據并管理養殖場環境。系統軟件總體流程如圖8所示。

圖8 系統軟件總體流程
傳感器節點程序設計如下:
(1)溫濕度傳感器程序設計
本系統采用DHT11作為溫濕度傳感器,通過單總線的通信方式進行數據傳輸。將主控模塊CC2530作為主機,DHT11 溫濕度傳感器模塊作為從機,系統將采用這種主從形式進行數據交換。采用DHT11進行溫濕度測量的步驟如圖9所示。

圖9 溫濕度傳感器模塊工作流程
(2)光照傳感器程序設計
GY-302數字光強模塊采用的芯片是BH1750,它支持I2C總線方式通信。首先在CC2530中定義兩個端口,分別為串行數據線和串行時鐘線;通過CC2530中的這兩個I/O端口模擬I2C總線的數據傳輸協議進行光照度信息數據的采集。GY-302光照傳感器模塊工作流程如圖10所示。

圖10 光照傳感器模塊工作流程
(3)沼氣傳感器程序設計
因本系統檢測的氣體對象是牲畜糞便發酵產生的沼氣,主要成分是甲烷,所以選用MQ-4氣體傳感器[10]。該傳感器輸出的信號都是原始的模擬電壓信號,須通過CC2530主控模塊的ADC模塊進行模數轉換并輸出模擬電壓對應的數字值。沼氣傳感器工作流程如圖11所示。

圖11 沼氣傳感器模塊工作流程
系統中的控制節點主要包括燈光控制、排氣扇控制和水泵控制。協調器將各個傳感器節點采集到的環境數據與養殖場管理員設定的范圍進行比較;當有某個環境條件不滿足要求時,將向控制節點發送控制指令。為了使控制節點能夠準確高效地解析所接收的消息,有效執行協調器發送的控制指令,使用表5針對ZigBee協調器與終端節點之間的通信設計的協議。控制節點的工作流程如圖12所示。

圖12 控制節點的工作流程
本系統的上位機使用OneNET服務器,通過該服務器系統可將從下位機獲取的數據進行數據保存和云端網頁顯示,實現養殖場相關環境信息數據的實時顯示、存儲和歷史查詢等功能。如圖13為養殖場環境數據瀏覽界面;圖14為可以直觀查詢到的某天某時的環境信息歷史曲線圖。同時,還可以對環境參數閾值范圍進行設定,當系統檢測到某一環境參數超出正常范圍時,會發出警報并自動向下位機發送相應的控制指令[11]。

圖13 養殖場環境數據瀏覽界面

圖14 養殖場環境濕度折線圖
協調器的主要任務是處理接收的數據并發送至OneNET服務器顯示和存儲。在系統中協調器通過ESP8266模塊利用WiFi與云服務器進行數據交互,所以在程序中需要利用TCP協議進行通信。因此,在程序中需配置ESP8266模塊的工作模式和連接協議,還需要將OneNET平臺產品的APIKE、OneNET平臺設備ID、本地無線局域網的SSID和PASSWORD一并寫入程序并燒錄到協調器節點中。
本系統通過模擬真實養殖場的環境,從對養殖場單一環境參數的機械式控制到多個環境參數的智能控制。力爭構建一個簡單便捷、穩定可靠的養殖場控制系統,以促進國家的養殖業向著高效率、智能化、信息化的方向快速發展為原則。系統設計過程嚴格按照軟件工程學的方法進行,最終實現物聯網智能家居監測控制系統的開發。通過對系統進行多種環境測試,了解和保證系統的質量,提升系統的可靠性。系統硬件測試如圖15所示。

圖15 系統硬件測試圖
針對傳統養殖場智能化程度不高和須根據人為經驗控制環境等問題,本文設計并實現了基于物聯網的養殖場環境智能監測控制系統, 系統由數據終端和多個數據采集點組成。采集點負責檢測養殖場內某處溫度、濕度、空氣質量、光照、沼氣濃度及相關參數[12]。各采集點的數據通過基于ZigBee構建的網絡傳輸到ZigBee協調器節點,該協調器節點監視各個采集點參數數值,若超出預設的閾值則啟動對應控制模塊工作,若超出警告值則會報警并立即通知養殖戶。
另外,路由節點通過ESP8266模塊接入互聯網,將實時數據通過TCP協議上傳到服務器,用戶可以遠程查看養殖場的各個環境參數并調節閾值,從而達到養殖場環境的監測和智能控制,有效地提高養殖效率,并且可以為研究智能化養殖提供重要的數據。