周鵬+燕斌+田晨
摘要:設(shè)計(jì)了智能畜禽養(yǎng)殖監(jiān)控系統(tǒng),采用ZigBee和以太網(wǎng)相結(jié)合的通信方式,在畜禽舍內(nèi)部署各類環(huán)境監(jiān)測傳感器,傳感器節(jié)點(diǎn)構(gòu)成監(jiān)控網(wǎng)絡(luò)。通過各種傳感器采集養(yǎng)殖場的相關(guān)環(huán)境因素,結(jié)合季節(jié)、養(yǎng)殖品種的生理特點(diǎn),編制有效的養(yǎng)殖環(huán)境信息采集及調(diào)控程序,達(dá)到自動完成禽舍環(huán)境控制的目的。
關(guān)鍵詞:無線傳感器網(wǎng)絡(luò);Zigbee;以太網(wǎng);畜禽養(yǎng)殖
中圖分類號:TP273 文獻(xiàn)標(biāo)識碼:A 文章編號:0439-8114(2018)01-0115-03
DOI:10.14088/j.cnki.issn0439-8114.2018.01.030
Abstract: Intelligent livestock breeding monitoring system deploys various types of monitoring sensors in livestock building.Large amount of sensor nodes constitute monitoring network. Through collecting related environment factors by various sensors,combining with physiological features of seasons and breeding species,it can form effective breeding environment information collection and regulation and control procedure,so to reach the target of automatically completing breed building environment control.
Key words: wireless sensor network; Zigbee; Ethernet; livestock breeding
溫濕度、光照等環(huán)境因素,對畜禽的健康和生長有重要影響。畜禽在低溫高濕環(huán)境比在低溫適宜濕度環(huán)境更容易患風(fēng)濕癥、腸炎等疾病。高溫環(huán)境中,高濕妨礙畜禽的蒸發(fā)散熱,很容易使畜禽體內(nèi)積熱過多,體溫升高而導(dǎo)致疾病。因此,需要對畜禽舍的溫濕度進(jìn)行有效地控制[1]。
智能畜禽養(yǎng)殖監(jiān)控系統(tǒng)應(yīng)能夠采集畜禽舍內(nèi)溫濕度、光照等數(shù)據(jù),并將采集到的數(shù)據(jù)通過無線及有線的方式進(jìn)行傳輸至后臺管理系統(tǒng)。僅獲取當(dāng)前的溫濕度值是不夠的,通常情況下,養(yǎng)殖者還希望能夠通過必要的干預(yù)手段,將禽舍內(nèi)的環(huán)境參數(shù)控制在合理的范圍,以提高畜禽養(yǎng)殖的質(zhì)量和效率。本研究設(shè)計(jì)了一套智能畜禽養(yǎng)殖監(jiān)控系統(tǒng),采用ZigBee和以太網(wǎng)相結(jié)合的通信方式在畜禽舍內(nèi)部署各類環(huán)境監(jiān)測傳感器,大量的傳感器節(jié)點(diǎn)構(gòu)成監(jiān)控網(wǎng)絡(luò)。通過各種傳感器采集養(yǎng)殖場的相關(guān)環(huán)境因素,結(jié)合季節(jié)、養(yǎng)殖品種的生理特點(diǎn),編制有效的養(yǎng)殖環(huán)境信息采集及調(diào)控程序,達(dá)到自動完成禽舍環(huán)境控制的目的。
1 智能畜禽養(yǎng)殖監(jiān)控系統(tǒng)體系結(jié)構(gòu)設(shè)計(jì)
智能畜禽養(yǎng)殖監(jiān)控系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu)遵循物聯(lián)網(wǎng)的3層基本結(jié)構(gòu)[2]。感知層通過傳感器采集節(jié)點(diǎn),實(shí)現(xiàn)畜禽養(yǎng)殖場所環(huán)境信息的采集,并將數(shù)據(jù)匯聚至協(xié)調(diào)器節(jié)點(diǎn)做必要處理,最后將數(shù)據(jù)發(fā)送至網(wǎng)關(guān)[3]。網(wǎng)關(guān)起到連接無線傳感器網(wǎng)絡(luò)[4]與局域網(wǎng)或廣域網(wǎng)的作用,通過網(wǎng)關(guān)可以將數(shù)據(jù)通過網(wǎng)卡模塊或GPRS模塊將數(shù)據(jù)傳輸至服務(wù)器供所有用戶訪問。用戶在應(yīng)用層實(shí)現(xiàn)養(yǎng)殖場環(huán)境信息的接收和發(fā)送控制命令[5]。
畜禽舍監(jiān)控系統(tǒng)分為3部分:Zigbee無線傳感器網(wǎng)絡(luò)、網(wǎng)關(guān)和計(jì)算機(jī)監(jiān)控軟件,整個系統(tǒng)的體系結(jié)構(gòu)如圖1所示。該系統(tǒng)的具體實(shí)施需要完成各種節(jié)點(diǎn)硬件平臺、節(jié)點(diǎn)應(yīng)用程序和PC端監(jiān)控軟件3個方面的設(shè)計(jì),其中硬件平臺的設(shè)計(jì)包括傳感器節(jié)點(diǎn)和網(wǎng)關(guān)節(jié)點(diǎn)的設(shè)計(jì)。
2 硬件設(shè)計(jì)
傳感器節(jié)點(diǎn)主要包含數(shù)據(jù)采集單元和數(shù)據(jù)傳輸單元。傳感器節(jié)點(diǎn)采用TI公司的CC2530片上系統(tǒng)為核心,濕度、光照等傳感器將采集的數(shù)據(jù)送至CC2530經(jīng)必要處理后以無線傳輸?shù)姆绞絺魉椭辆W(wǎng)關(guān)節(jié)點(diǎn)。
網(wǎng)關(guān)節(jié)點(diǎn)主要由數(shù)據(jù)傳輸單元、數(shù)據(jù)處理單元和網(wǎng)卡模塊組成,實(shí)現(xiàn)的功能主要包括接收無線傳感器網(wǎng)絡(luò)中傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù),將基于Zigbee協(xié)議的數(shù)據(jù)轉(zhuǎn)換成符合TCP/IP協(xié)議的數(shù)據(jù)。轉(zhuǎn)換完成后,通過網(wǎng)卡模塊把數(shù)據(jù)發(fā)送到計(jì)算機(jī)。
2.1 傳感器節(jié)點(diǎn)硬件平臺的設(shè)計(jì)
溫濕度傳感器節(jié)點(diǎn)主要由DHT11數(shù)字溫濕度傳感器及CC2530構(gòu)成,兩者間的數(shù)據(jù)傳輸采用單總線方式。DHT11負(fù)責(zé)禽舍內(nèi)溫度、濕度數(shù)據(jù)的采集,采集的數(shù)據(jù)經(jīng)CC2530做簡單處理后由其射頻部件以無線傳輸?shù)姆绞睫D(zhuǎn)發(fā)至網(wǎng)關(guān)節(jié)點(diǎn)。
光照傳感器節(jié)點(diǎn)主要由BH1750FVI光照傳感器及CC2530構(gòu)成,兩者采用IIC總線方式進(jìn)行數(shù)據(jù)傳輸。BH1750FVI光照傳感器負(fù)責(zé)采集禽舍內(nèi)的光照數(shù)據(jù)并將數(shù)據(jù)實(shí)時傳送至CC2530,CC2530對數(shù)據(jù)進(jìn)行濾波等處理后轉(zhuǎn)發(fā)至網(wǎng)關(guān)節(jié)點(diǎn)。
2.2 網(wǎng)關(guān)節(jié)點(diǎn)硬件平臺的設(shè)計(jì)
網(wǎng)關(guān)節(jié)點(diǎn)主要由ENC28J60網(wǎng)卡模塊及CC2530構(gòu)成,ENC28J60帶有SPI接口,通過該接口可以將其與CC2530進(jìn)行連接(圖2)。網(wǎng)關(guān)節(jié)點(diǎn)的CC2530芯片用于與其他傳感器節(jié)點(diǎn)組成Zigbee網(wǎng)絡(luò),對各傳感器節(jié)點(diǎn)轉(zhuǎn)發(fā)的數(shù)據(jù)做數(shù)據(jù)融合后,ENC28J60模塊將處理好的數(shù)據(jù)借助計(jì)算機(jī)網(wǎng)絡(luò)傳輸至計(jì)算機(jī)。
3 軟件設(shè)計(jì)
3.1 溫濕度傳感器程序設(shè)計(jì)
DHT11溫濕度傳感器采集的數(shù)據(jù)分為小數(shù)部分和整數(shù)部分,每次傳輸數(shù)據(jù)位數(shù)為40 bit,高位在前低位在后。具體數(shù)據(jù)格式:8 bit濕度整數(shù)數(shù)據(jù)、8 bit濕度小數(shù)數(shù)據(jù)、8 bit溫度整數(shù)數(shù)據(jù)、8 bit溫度小數(shù)數(shù)據(jù)及8 bit校驗(yàn)和。根據(jù)對該傳感器時序圖的詳細(xì)分析,繪制了操作該傳感器的流程,如圖3所示。endprint
3.2 Zigbee節(jié)點(diǎn)的程序設(shè)計(jì)
在Zigbee協(xié)議中規(guī)定了3種類型的節(jié)點(diǎn),分別是終端節(jié)點(diǎn)(傳感器節(jié)點(diǎn))、路由器節(jié)點(diǎn)、協(xié)調(diào)器節(jié)點(diǎn)(網(wǎng)關(guān)節(jié)點(diǎn))[6]。3種節(jié)點(diǎn)程序的設(shè)計(jì)都是在Z-Stack 2007 PRO協(xié)議棧的基礎(chǔ)上進(jìn)行,本系統(tǒng)主要涉及協(xié)調(diào)器節(jié)點(diǎn)和傳感器節(jié)點(diǎn)程序的設(shè)計(jì)[7]。
傳感器節(jié)點(diǎn)上電進(jìn)行初始化工作后,申請加入網(wǎng)絡(luò),并判斷是否加入成功。若沒有加入成功則繼續(xù)申請加入網(wǎng)絡(luò),如果成功加入某網(wǎng)絡(luò),節(jié)點(diǎn)建立綁定表。接著傳感器節(jié)點(diǎn)進(jìn)行網(wǎng)絡(luò)監(jiān)控,讀取傳感器數(shù)據(jù)后發(fā)送數(shù)據(jù)包給網(wǎng)關(guān)節(jié)點(diǎn)并判斷發(fā)送是否成功,沒有發(fā)送成功時節(jié)點(diǎn)將重新發(fā)送。
網(wǎng)關(guān)節(jié)點(diǎn)負(fù)責(zé)創(chuàng)建網(wǎng)絡(luò),MAC層掃描有效信道,判斷是否有節(jié)點(diǎn)加入網(wǎng)絡(luò)。如果有節(jié)點(diǎn)加入網(wǎng)絡(luò),將節(jié)點(diǎn)地址存入地址表綁定,沒有其他節(jié)點(diǎn)加入則繼續(xù)掃描有效信道。網(wǎng)關(guān)節(jié)點(diǎn)判斷是否收到數(shù)據(jù)包,收到則對數(shù)據(jù)進(jìn)行處理,然后調(diào)用ENC28J60模塊程序?qū)?shù)據(jù)傳輸給計(jì)算機(jī)。
3.3 基于uIP的網(wǎng)程序設(shè)計(jì)
TCP/IP協(xié)議棧的實(shí)現(xiàn)需要消耗較多的程序存儲空間,資源有限的嵌入式系統(tǒng)無法滿足這樣的需求[8]。經(jīng)過精簡后的uIP協(xié)議棧包含了TCP/IP里IP、TCP、uDP和ICMP協(xié)議等必要的部分[9]。編寫應(yīng)用程序?qū)崿F(xiàn)網(wǎng)絡(luò)通信功能時,可以直接調(diào)用uIP協(xié)議棧對用戶提供的API。本設(shè)計(jì)在網(wǎng)關(guān)節(jié)點(diǎn)和計(jì)算機(jī)之間建立客戶機(jī)-服務(wù)器模式的網(wǎng)絡(luò)通信機(jī)制,由CC2530組成的網(wǎng)關(guān)節(jié)點(diǎn)作為客戶機(jī),計(jì)算機(jī)為服務(wù)器[10]。
網(wǎng)關(guān)節(jié)點(diǎn)上電后,首先進(jìn)行系統(tǒng)的初始化工作,然后等待傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù)。當(dāng)接收到傳感器節(jié)點(diǎn)的數(shù)據(jù)時,uIP協(xié)議??蓪?shù)據(jù)封裝成以太網(wǎng)數(shù)據(jù)報(bào),最后調(diào)用硬件層的API將數(shù)據(jù)報(bào)發(fā)送至計(jì)算機(jī)。計(jì)算機(jī)有命令或數(shù)據(jù)發(fā)送到網(wǎng)關(guān)節(jié)點(diǎn)時,uIP協(xié)議棧將數(shù)據(jù)報(bào)中的有效載荷解析出來交給網(wǎng)關(guān)節(jié)點(diǎn)的應(yīng)用程序處理。網(wǎng)關(guān)節(jié)點(diǎn)工作流程如圖4所示。
為構(gòu)建良好的人機(jī)界面,計(jì)算機(jī)監(jiān)控軟件采用2種方式顯示有效數(shù)據(jù)。在界面的右側(cè)直觀的顯示各個時間點(diǎn)所測量的數(shù)據(jù),在界面的左側(cè)以曲線的方式顯示所測量數(shù)據(jù)的數(shù)值及變化趨勢。打開計(jì)算機(jī)上的監(jiān)測軟件,并點(diǎn)擊界面右下方的“開始服務(wù)”按鈕,啟動網(wǎng)關(guān)節(jié)點(diǎn)及傳感器節(jié)點(diǎn)后可在上位機(jī)上觀測禽舍內(nèi)的溫濕度數(shù)據(jù)。禽舍內(nèi)的溫度變化緩慢,為快速直觀的測試該系統(tǒng)的基本功能,采取將溫度傳感器靠近熱水和冰水的方式進(jìn)行觀測,測試結(jié)果如圖5所示。
4 結(jié)論
采用ZigBee和以太網(wǎng)相結(jié)合的通信方式,實(shí)現(xiàn)了畜禽舍環(huán)境的實(shí)時監(jiān)測和控制。結(jié)果表明,該智能畜禽養(yǎng)殖監(jiān)控系統(tǒng)能穩(wěn)定、可靠的運(yùn)行,實(shí)現(xiàn)了預(yù)期目標(biāo)。不僅適用于畜禽舍環(huán)境的監(jiān)控,還可用于其他眾多場合,具有廣泛的應(yīng)用前景。
參考文獻(xiàn):
[1] 高述文.淺談環(huán)境控制對北方地區(qū)養(yǎng)殖場豬病防控的重要性[J].國外畜牧學(xué)(豬與禽),2016,36(5):70-71.
[2] 鄭紀(jì)業(yè),阮懷軍,封文杰,等.農(nóng)業(yè)物聯(lián)網(wǎng)體系結(jié)構(gòu)與應(yīng)用領(lǐng)域研究進(jìn)展[J].中國農(nóng)業(yè)科學(xué),2017,50(4):657-668.
[3] 宋慶恒.基于多傳感器數(shù)據(jù)融合的蔬菜大棚控制系統(tǒng)設(shè)計(jì)[J].農(nóng)機(jī)化研究,2015(4):211-214.
[4] 周 鵬,燕 斌.TinyOS在MSP430F149上的移植與應(yīng)用[J].自動化儀表,2016(8):13-15,20.
[5] 李明河,郭建忠,王 健.基于GPRS的村鎮(zhèn)污水處理遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計(jì)[J].控制工程,2017,24(4):799-803.
[6] WANG R C,CHANG R S,YEN J H,et al.A dynamic topology reformation algorithm for power saving in ZigBee sensor networks[J].International Journal of Distributed Sensor Networks,2013(2):1-10.
[7] Z-Stack-Zigbee協(xié)議棧[EB/OL].http://www.ti.com.cn/tool/cn/z-stack,2017-08-09.
[8] 鄭愛宇.基于嵌入式接口的可擴(kuò)展TCP/IP協(xié)議棧的設(shè)計(jì)和實(shí)現(xiàn)[J].中北大學(xué)學(xué)報(bào)(自然科學(xué)版),2016,37(6):614-619.
[9] 蔣 萊.幾個主流TCP/IP協(xié)議棧介紹[J].計(jì)算機(jī)與網(wǎng)絡(luò),2016(8):46.
[10] 孫衛(wèi)佳,許永康.基于TCP/IP協(xié)議棧的數(shù)據(jù)包分片技術(shù)[J].長春工業(yè)大學(xué)學(xué)報(bào),2015,36(6):684-686.endprint