楊東軒,張建偉,張剛剛,侯堃
(1.北京工商大學(xué)農(nóng)產(chǎn)品質(zhì)量安全追溯技術(shù)及應(yīng)用國家工程實(shí)驗(yàn)室,北京市,100048;2.北京市畜牧總站,北京市,100107;3.首都師范大學(xué)數(shù)字校園建設(shè)中心,北京市,100048)
物聯(lián)網(wǎng)技術(shù)是現(xiàn)代農(nóng)業(yè)走向精細(xì)化和信息化的重要手段,已廣泛應(yīng)用于種植業(yè)、水產(chǎn)業(yè)以及畜牧業(yè)等領(lǐng)域。其中應(yīng)用于禽舍環(huán)境的監(jiān)控系統(tǒng)能夠有效提高肉禽或蛋禽的個(gè)體健康和生產(chǎn)效率[1]。盡管此類系統(tǒng)技術(shù)先進(jìn)且功能完善,但因其普遍的高造價(jià)和復(fù)雜的部署方式對于中小規(guī)模禽舍而言投入大、風(fēng)險(xiǎn)高,因此較難廣泛地落地推廣。沈翠鳳[2]基于LoRa技術(shù),提出了從感知層采集各項(xiàng)參數(shù)后傳輸給遠(yuǎn)程后端系統(tǒng)的方案,但該方案需在現(xiàn)場環(huán)境中部署多個(gè)LoRa匯聚節(jié)點(diǎn)以及互聯(lián)網(wǎng)網(wǎng)關(guān),且需租用云端服務(wù)器,一次性投入和長期維護(hù)成本均較高。張紅欣[3]采用多頻段無線模塊結(jié)合氣體傳感器的方案實(shí)現(xiàn)了禽舍環(huán)境的監(jiān)控,但沒有說明其系統(tǒng)性能和成本。任玲[4]和徐光[5]等提出了一種利用ZigBee技術(shù)設(shè)計(jì)的禽舍環(huán)境監(jiān)測系統(tǒng),但是該方案在網(wǎng)絡(luò)部署方面需要額外部署轉(zhuǎn)換網(wǎng)關(guān),提高了系統(tǒng)復(fù)雜度和成本。還有研究利用NB-IoT等窄帶技術(shù)實(shí)現(xiàn)監(jiān)測方案,但該類方案需要長期支付窄帶通信費(fèi)用[6]。陳羊陽等[7]設(shè)計(jì)的家禽管理系統(tǒng)具備完善的監(jiān)測方案,但其僅從管理層面提高了生產(chǎn)效率,未使用環(huán)境數(shù)據(jù)對環(huán)控裝置進(jìn)行管控。本文提出的環(huán)境監(jiān)控系統(tǒng)利用低功耗Wi-Fi技術(shù)設(shè)計(jì)了禽舍環(huán)境監(jiān)測器,使用子任務(wù)同時(shí)處理傳感器調(diào)零和網(wǎng)絡(luò)連接等耗時(shí)操作,提高了硬件運(yùn)行效率。系統(tǒng)采用低成本的樹莓派單板電腦作為業(yè)務(wù)服務(wù)器,基于Spring Boot框架實(shí)現(xiàn)了用戶服務(wù)接口和自動控制策略,采用Pi4J硬件接口庫實(shí)現(xiàn)對環(huán)控設(shè)備的實(shí)時(shí)控制。通過在實(shí)際禽舍環(huán)境中的長期試驗(yàn)運(yùn)行,驗(yàn)證了系統(tǒng)的有效性。
本文提出的禽舍監(jiān)控系統(tǒng)結(jié)構(gòu)方案基于物聯(lián)網(wǎng)體系架構(gòu),包含感知層、網(wǎng)絡(luò)層和應(yīng)用層[8]。系統(tǒng)的架構(gòu)如圖1所示,虛線框體代表了系統(tǒng)的三個(gè)主要組成部分。其中,感知層由本文設(shè)計(jì)的若干個(gè)低功耗Wi-Fi環(huán)境監(jiān)測器構(gòu)成,負(fù)責(zé)對禽舍內(nèi)的主要環(huán)境參數(shù)進(jìn)行采集,是整個(gè)系統(tǒng)的關(guān)鍵部分。盡管目前大部分規(guī)?;\(yùn)作的禽舍都具有環(huán)境監(jiān)測器等相關(guān)設(shè)備,但是其僅具有環(huán)境數(shù)據(jù)采集和展示的功能[9],不能直接應(yīng)用于本文設(shè)計(jì)的監(jiān)控系統(tǒng)。本文設(shè)計(jì)的監(jiān)測器,作為系統(tǒng)中的底層設(shè)備,僅需要實(shí)現(xiàn)低功耗無線傳輸和精準(zhǔn)的數(shù)據(jù)采集即可,無需實(shí)現(xiàn)數(shù)據(jù)的處理、運(yùn)算和展示等額外功能,因此其具有低功耗和低成本的優(yōu)勢。
圖1 系統(tǒng)架構(gòu)圖
網(wǎng)絡(luò)層是系統(tǒng)中數(shù)據(jù)傳輸和信息交換的中樞部分,傳統(tǒng)的物聯(lián)網(wǎng)體系架構(gòu)將網(wǎng)絡(luò)層的研究重點(diǎn)聚焦于范圍可擴(kuò)展、傳輸距離遠(yuǎn)和自組網(wǎng)等特點(diǎn)上[10]。而本系統(tǒng)針對中小規(guī)模禽舍的特定環(huán)境,提出了網(wǎng)絡(luò)層只要滿足低數(shù)據(jù)傳輸率、低功耗和易于組網(wǎng)等特性即可。因此在底層設(shè)備的網(wǎng)絡(luò)接入方面,采用了大部分養(yǎng)殖場已經(jīng)具備且更加成熟的2.4 GHz頻段Wi-Fi無線路由器進(jìn)行組網(wǎng)。在該網(wǎng)絡(luò)環(huán)境的基礎(chǔ)上,監(jiān)測器和服務(wù)器之間采用MQTT消息傳輸協(xié)議的發(fā)布和訂閱機(jī)制,實(shí)現(xiàn)采集數(shù)據(jù)和控制參數(shù)的傳輸。
應(yīng)用層位于系統(tǒng)的頂層,通過網(wǎng)絡(luò)層提供的MQTT服務(wù)與感知層的環(huán)境監(jiān)測器進(jìn)行信息交換。其中業(yè)務(wù)服務(wù)是核心部分,通過I/O接口控制禽舍內(nèi)環(huán)控設(shè)備的運(yùn)作,對禽舍外部通過以太網(wǎng)提供用戶接口服務(wù),禽舍管理員在養(yǎng)殖場內(nèi)部、外部均能查看和控制系統(tǒng)的運(yùn)行。
為了降低養(yǎng)殖場的使用成本和不影響正常的生產(chǎn)流程,本系統(tǒng)不對禽舍內(nèi)部現(xiàn)有的環(huán)境監(jiān)控設(shè)備進(jìn)行改造。如圖2所示,無線環(huán)境監(jiān)測器懸掛于養(yǎng)殖架首尾端等靠近底部糞坑的位置,采集并上報(bào)該位置的氨氣濃度、硫化氫濃度、二氧化碳濃度以及溫濕度等環(huán)境數(shù)據(jù)。由于該監(jiān)測器通過Wi-Fi進(jìn)行通訊,因此兼容大部分使用IEEE802.11標(biāo)準(zhǔn)的無線路由器,無需采購或定制開發(fā)基于其他物聯(lián)網(wǎng)通訊協(xié)議(ZigBee、6LoWPAN等)的專用網(wǎng)關(guān)。使用基于ARM架構(gòu)的樹莓派單板電腦作為系統(tǒng)的服務(wù)器,該設(shè)備可以運(yùn)行基于Linux系統(tǒng)的Raspberry Pi OS操作系統(tǒng)[11]。該設(shè)備相比于高性能的通用服務(wù)器而言雖然在處理性能上有一定的限制,但其優(yōu)點(diǎn)在于同時(shí)兼?zhèn)湟欢ǖ倪\(yùn)算能力和硬件接口控制能力,且設(shè)備具有能耗極低、成本低廉的特點(diǎn)。系統(tǒng)使用該設(shè)備運(yùn)行MQTT消息轉(zhuǎn)發(fā)服務(wù)器和監(jiān)控系統(tǒng)業(yè)務(wù)服務(wù)器等應(yīng)用層程序。將該單板電腦安裝部署于禽舍內(nèi)部的電源箱旁邊,通過板載的RJ45以太網(wǎng)接口接入禽舍內(nèi)部局域網(wǎng)實(shí)現(xiàn)網(wǎng)絡(luò)通信。應(yīng)用層程序根據(jù)感知層采集的環(huán)境參數(shù)計(jì)算控制模式,最終由樹莓派的硬件I/O接口控制繼電器模塊對禽舍內(nèi)的排風(fēng)扇、水簾和暖風(fēng)機(jī)等設(shè)備實(shí)施通斷電源的操作。由于整套系統(tǒng)可以實(shí)現(xiàn)PID閉環(huán)自動控制,因此用戶無需主動關(guān)注禽舍內(nèi)的環(huán)境情況。當(dāng)禽舍內(nèi)的環(huán)境情況達(dá)到預(yù)設(shè)報(bào)警值時(shí),服務(wù)器的接口服務(wù)會向禽舍管理員發(fā)送短信進(jìn)行告警。表1給出了本系統(tǒng)中監(jiān)測器所采用的主要傳感器硬件的相關(guān)性能參數(shù)。
圖2 系統(tǒng)部署示意圖
表1 傳感器性能參數(shù)
無線環(huán)境監(jiān)測器是禽舍環(huán)境監(jiān)控系統(tǒng)的關(guān)鍵組成部分,其中負(fù)責(zé)氣體濃度采集的信號處理電路和無線微控制器電路是硬件設(shè)計(jì)的重點(diǎn)。分別采用型號為ME3-NH3和ME3-H2S的傳感器采集氨氣和硫化氫濃度。二者同為3引腳結(jié)構(gòu)的電化學(xué)(EC)傳感器,其內(nèi)部通過與被測氣體發(fā)生氧化還原反應(yīng)而產(chǎn)生微弱電流,因此需要設(shè)計(jì)信號處理電路將該微弱信號轉(zhuǎn)換成電壓信號。由于傳統(tǒng)設(shè)計(jì)方案使用獨(dú)立元器件構(gòu)建信號處理電路的恒電位、I/V轉(zhuǎn)換和短路保護(hù)等模塊,因此電路的整體性能易受不同元器件的個(gè)體差異影響,對校準(zhǔn)時(shí)的調(diào)零操作帶來不便。本文使用先進(jìn)的AFE電路方案,選用型號為LMP91000的集成IC處理傳感器輸出的信號。通過其內(nèi)部的可編程偏置電壓和跨組增益模塊,將微弱電流信號放大至可識別的電壓信號,電路原理圖如圖3所示。
圖3 LMP91000電路原理圖
采用型號為CC3200的微控制器(MCU)作為監(jiān)測器的核心處理單元和無線收發(fā)單元。該控制器是基于SimpleLink技術(shù)實(shí)現(xiàn)的低功耗Wi-Fi微控制器,在具備ARM Cortex-M4內(nèi)核的同時(shí),還集成了負(fù)責(zé)無線通訊的2.4 GHz頻段收發(fā)器。相比獨(dú)立設(shè)計(jì)處理器和無線收發(fā)器的方案[12],本監(jiān)測器的核心電路可進(jìn)一步精簡,從而增加電路的穩(wěn)定性。
電路設(shè)計(jì)如圖4所示,除了用于射頻信號的帶通濾波電路,其優(yōu)勢還在于無需使用額外的元器件便可以直接通過I2C總線接口與傳感器模塊進(jìn)行通訊。其他用到的引腳還包括用于采集氣體濃度和電池電壓等模擬信號的A/D輸入、用于控制監(jiān)測器換氣風(fēng)扇的PWM輸出以及控制I2C芯片使能的數(shù)字I/O。二氧化碳傳感器和溫濕度傳感器的型號分別為SGP30和SHT31,均使用I2C總線與微控制器進(jìn)行通訊,無需占用更多引腳。
圖4 微控制器電路原理圖
監(jiān)測器的軟件開發(fā)基于FreeRTOS實(shí)時(shí)操作系統(tǒng),如圖5所示。
(a)傳感器調(diào)零任務(wù)
為了提高運(yùn)行效率,軟件創(chuàng)建了兩個(gè)子任務(wù),分別執(zhí)行MQTT客戶端任務(wù)和傳感器調(diào)零任務(wù)。傳感器調(diào)零任務(wù)耗時(shí)較長,因此在硬件上電后只運(yùn)行一次,調(diào)零結(jié)束后將傳感器的相關(guān)調(diào)零參數(shù)存入Flash存儲器,以避免因意外重啟而造成的數(shù)據(jù)丟失。在運(yùn)行調(diào)零任務(wù)的同時(shí),MQTT客戶端任務(wù)并行處理網(wǎng)絡(luò)認(rèn)證和服務(wù)器連接操作,待成功連接至服務(wù)器后便進(jìn)入循環(huán)采集周期。至此監(jiān)測器開始循環(huán)執(zhí)行數(shù)據(jù)采集、消息發(fā)送及接收和系統(tǒng)休眠操作,在休眠期間大部分硬件電路停止運(yùn)行,只保留運(yùn)行微控制器的睡眠時(shí)鐘,因此可最大程度地降低硬件功耗。
服務(wù)器端的硬件載體為樹莓派單板電腦,在其系統(tǒng)中運(yùn)行多個(gè)服務(wù)程序。首先為監(jiān)控系統(tǒng)中監(jiān)測器和業(yè)務(wù)服務(wù)之間的通訊提供MQTT消息轉(zhuǎn)發(fā)服務(wù)??紤]到單板電腦的處理能力有限,選用輕量級的開源軟件Mosquitto作為MQTT通訊協(xié)議中的轉(zhuǎn)發(fā)服務(wù)器(Broker)。
其次,作為MQTT通訊協(xié)議中的訂閱者(Subscriber),該單板電腦中運(yùn)行的業(yè)務(wù)服務(wù)需要接收來自消息發(fā)布者(Publisher)環(huán)境監(jiān)測器的采集數(shù)據(jù),并將數(shù)據(jù)寫入到MySQL數(shù)據(jù)庫。然后,業(yè)務(wù)服務(wù)根據(jù)歷史和實(shí)時(shí)的禽舍環(huán)境數(shù)據(jù),使用多路PID控制模型分別將每種環(huán)境參數(shù)作為輸入變量,將計(jì)算得出的結(jié)果根據(jù)權(quán)重系數(shù)進(jìn)行加權(quán)平均處理,最終做出是否開啟或關(guān)閉排風(fēng)扇、水簾或暖風(fēng)機(jī)等設(shè)備的決策。若計(jì)算結(jié)果超出用戶設(shè)置的閾值,則通過短信平臺接口發(fā)送報(bào)警短信給用戶。業(yè)務(wù)服務(wù)基于Spring Boot框架設(shè)計(jì),使用跨平臺語言Java編寫。在定時(shí)執(zhí)行傳感器數(shù)據(jù)存儲和PID控制等業(yè)務(wù)服務(wù)的同時(shí),還通過RESTful風(fēng)格API為用戶提供HTTP接口。服務(wù)器端的程序結(jié)構(gòu)如圖6所示,用戶登錄及監(jiān)控界面如圖7所示。
圖6 服務(wù)器端業(yè)務(wù)流程
(a)監(jiān)測器節(jié)點(diǎn)列表界面
為了對禽舍內(nèi)現(xiàn)有設(shè)備的220 V交流電源進(jìn)行開關(guān)控制,需要使用繼電器模塊來實(shí)現(xiàn)小電流驅(qū)動大電流。樹莓派單板電腦對外提供多種I/O引腳,可用于控制各種硬件模塊,從而節(jié)約傳統(tǒng)控制系統(tǒng)中需要額外設(shè)計(jì)的微控制器硬件的成本。服務(wù)器的業(yè)務(wù)邏輯采用Java語言編寫,因此選取Pi4J庫函數(shù)對GPIO引腳進(jìn)行控制,該庫函數(shù)是針對樹莓派硬件以Java語言實(shí)現(xiàn)的,可直接由Spring Boot框架調(diào)用。排風(fēng)扇控制示意圖如圖8所示,從樹莓派的擴(kuò)展引腳分別引出5 V、GND以及I/O引腳至繼電器模塊的電源和信號輸入。再將繼電器的公共COM端接入排風(fēng)扇電源的火線端,在繼電器的常開NO端和排風(fēng)扇的電源零線接入端之間加入市電插頭并接至供電箱。使用Pi4J庫提供的GpioPinDigitalOutput類控制數(shù)字引腳輸出高低電平,從而實(shí)現(xiàn)排風(fēng)扇的啟動和關(guān)閉。
圖8 排風(fēng)扇控制示意圖
系統(tǒng)的測試運(yùn)行包含實(shí)驗(yàn)室環(huán)境中的監(jiān)測器硬件調(diào)試和禽舍現(xiàn)場環(huán)境進(jìn)行的實(shí)地長期測試,現(xiàn)場環(huán)境為位于北京市平谷區(qū)內(nèi)的某一小規(guī)模蛋雞養(yǎng)殖場。環(huán)境監(jiān)測器的性能決定系統(tǒng)感知層的可靠性,因此需要對系統(tǒng)中監(jiān)測器的運(yùn)行功耗和環(huán)境數(shù)據(jù)的采集準(zhǔn)確性進(jìn)行測試。首先在實(shí)驗(yàn)室環(huán)境運(yùn)行該設(shè)備,使用型號為RIGOL DM3058E的精密電流表實(shí)時(shí)記錄監(jiān)測器在周期性數(shù)據(jù)采集過程中的運(yùn)行電流,電流表可以將連續(xù)采集的電流值通過存儲設(shè)備導(dǎo)出為歷史記錄。如圖9所示,根據(jù)記錄繪制出監(jiān)測器在一個(gè)氣體濃度采集周期下的電流曲線,可知監(jiān)測器在睡眠模式時(shí)運(yùn)行功耗最低,電流僅為330 uA;以120 s為周期出現(xiàn)的65 mA 波峰是溫濕度傳感器運(yùn)行時(shí)的電流;氣體濃度的采集點(diǎn)出現(xiàn)在風(fēng)扇運(yùn)行結(jié)束之后,可明顯地看出在最高電流280 mA之后出現(xiàn)的68 mA波峰即為氣體濃度采集時(shí)的電流。試驗(yàn)表明,該設(shè)備的平均運(yùn)行電流為1.04 mA,通過延長監(jiān)測器的睡眠時(shí)間,可進(jìn)一步降低設(shè)備的平均運(yùn)行電流。根據(jù)電荷量庫倫算法t=Q/I可知,其中I為平均運(yùn)行電流,采用一塊電池容量為Q=22.4 Ah的鋰電池,可計(jì)算出監(jiān)測器以電池供電時(shí)可以連續(xù)運(yùn)行897 d。
圖9 采集周期電流曲線
為了驗(yàn)證監(jiān)測器采集數(shù)據(jù)的準(zhǔn)確性,在本文試驗(yàn)中使用了多種工業(yè)用途的手持檢測儀的檢測結(jié)果作為對照組,在實(shí)際環(huán)境中連續(xù)記錄環(huán)境數(shù)據(jù)并與監(jiān)測器采集的結(jié)果進(jìn)行對比。表2給出了同一試驗(yàn)環(huán)境下,本監(jiān)測器采集值與對照組的平均相對誤差,以及對照組手持檢測儀的具體型號。試驗(yàn)結(jié)果表明,本文設(shè)計(jì)方案的監(jiān)測結(jié)果符合《GB 12358—2006》國家標(biāo)準(zhǔn)中對于有毒氣體檢測誤差的要求。結(jié)合表1給出的該監(jiān)測器所用傳感器的硬件相關(guān)參數(shù),可見在采集性能接近的情況下本監(jiān)測器的實(shí)現(xiàn)更具性價(jià)比。
表2 采集值與真實(shí)值平均相對誤差對比
通過對比兩組蛋雞舍的長期運(yùn)行狀況來驗(yàn)證本禽舍環(huán)境監(jiān)控系統(tǒng)的總體運(yùn)行效果。如圖10所示,選定的該養(yǎng)殖場具有兩棟同等規(guī)模的雞舍,該雞舍大致呈東西走向,寬度約為15 m,長度約為75 m。其內(nèi)部布局也基本一致,分別具有4組養(yǎng)殖架、養(yǎng)殖架下面是裝有刮糞器的糞坑和5條過道。雞架西面盡頭的墻上裝有5組排風(fēng)扇,東面則是4組水簾分別正對每組雞架,除此之外還具有暖風(fēng)機(jī)、軌道式飼料喂撒器和藥水噴淋器等設(shè)備。
圖10 雞舍所在地衛(wèi)星地圖
兩組試驗(yàn)雞舍的飼養(yǎng)品種同為海蘭褐殼蛋雞,其中一組雞舍保持原有設(shè)備和人工操作方式不變,另一組雞舍部署本文設(shè)計(jì)的環(huán)境監(jiān)控系統(tǒng)。部署方式為分別在養(yǎng)殖架的首尾端懸掛無線監(jiān)測器,如圖2所示;對排風(fēng)扇、水簾、暖風(fēng)機(jī)等環(huán)境控制設(shè)備的供電箱加裝繼電器控制模塊,并由樹莓派服務(wù)器端的數(shù)字I/O引腳控制;服務(wù)器與監(jiān)測器間通過雞舍內(nèi)現(xiàn)有的Wi-Fi無線路由器實(shí)現(xiàn)數(shù)據(jù)通信。系統(tǒng)測試運(yùn)行始于2019年6月,數(shù)據(jù)統(tǒng)計(jì)結(jié)束于2020年7月,共計(jì)378個(gè)自然日。該品種蛋雞飼養(yǎng)周期一般為500 d左右,因此試驗(yàn)時(shí)間段覆蓋了飼養(yǎng)周期的大部分時(shí)間。表3給出了兩組試驗(yàn)蛋雞舍的對比數(shù)據(jù),分別對比了起始和結(jié)束時(shí)的總體耗電量以及雞只淘汰數(shù)量等參數(shù)。由耗電量對比可知,該養(yǎng)殖場在使用本環(huán)境監(jiān)控系統(tǒng)的情況下,單一雞舍可節(jié)約用電2 656 kW·h,節(jié)電率約為7.71%。由雞只淘汰率對比可知,由于系統(tǒng)可及時(shí)地自動啟動減排和控制溫控裝置,提高了禽類的生存率。
表3 雞舍的耗電與雞只存活數(shù)量對比
設(shè)計(jì)并實(shí)現(xiàn)的禽舍環(huán)境監(jiān)控系統(tǒng)包含低功耗W-Fi環(huán)境監(jiān)測器、低成本業(yè)務(wù)服務(wù)器以及相應(yīng)的監(jiān)控程序。
1)部署簡便,僅需要部署環(huán)境監(jiān)測器、樹莓派單板電腦和對應(yīng)環(huán)控設(shè)備的控制繼電器即可,禽舍內(nèi)其他已有的環(huán)控設(shè)備可直接利舊。硬件成本低,系統(tǒng)中的無線監(jiān)測器無需配置專用頻段和協(xié)議的網(wǎng)關(guān),可接入以太網(wǎng)環(huán)境,且服務(wù)器端硬件運(yùn)行于禽舍內(nèi)部從而不需要在云端托管,對于中小規(guī)模的禽舍來說一次性投入成本少,無需支付服務(wù)器托管費(fèi)。
2)高有效性,經(jīng)過長時(shí)間的運(yùn)行測試對比,由于禽舍的各種環(huán)境控制設(shè)備可以實(shí)現(xiàn)自動化運(yùn)行,因此能夠在節(jié)約人力成本的同時(shí)節(jié)約更多電力成本,年節(jié)電率為7.71%。由于系統(tǒng)可以持續(xù)改善禽舍內(nèi)的溫濕度和空氣質(zhì)量等環(huán)境,提升了禽類的動物福利,使得淘汰率降低0.8%。