孔 寧,劉統(tǒng)帥,閆永存,王 碩,劉 博
(河南牧業(yè)經(jīng)濟(jì)學(xué)院 能源與智能工程學(xué)院,河南 鄭州 450000)
近年來,禽畜健康養(yǎng)殖的理念越來越受到行業(yè)重視。養(yǎng)殖環(huán)境是影響畜禽健康的重要因素之一,畜場內(nèi)的溫濕度及氨氣等有害氣體濃度直接決定了養(yǎng)殖的生產(chǎn)水平和產(chǎn)品質(zhì)量。現(xiàn)有環(huán)境參數(shù)監(jiān)測方法可分為人工、有線和無線傳輸三種[1]。人工監(jiān)測需要管理人員每天定時手持檢測設(shè)備在畜場內(nèi)預(yù)設(shè)點采集數(shù)據(jù),工作量大、繁瑣且隨機(jī)誤差較大。有線傳輸則需布設(shè)線纜,成本和功耗較高,可擴(kuò)展性差。環(huán)境參數(shù)監(jiān)測的無線傳輸主要是近距離通信,主流技術(shù)有Bluetooth、Zigbee、Wi-Fi[2,3]。Bluetooth功耗較低,但通信距離相對較短,且組網(wǎng)能力有限[4]。ZigBee組網(wǎng)功能強(qiáng)大,但數(shù)據(jù)傳輸速率不高[5,6]。Wi-Fi技術(shù)數(shù)據(jù)傳輸速率高,組網(wǎng)方便,但同時功耗較大[7]。其他無線環(huán)境監(jiān)測技術(shù)有移動通信(4G)和LoRa等,4G技術(shù)實時高速,但需要支付通信費(fèi)用,信號質(zhì)量受環(huán)境影響較大[8]。LoRa技術(shù)具有低功耗、傳輸距離長、帶寬大的優(yōu)點,但系統(tǒng)應(yīng)用起來相對繁瑣[9]。因此,有必要開發(fā)一種更加智能的環(huán)境監(jiān)測系統(tǒng),實現(xiàn)精準(zhǔn)、便捷、輕量化的畜場環(huán)境參數(shù)感知。
隨著嵌入式技術(shù)的飛速發(fā)展和畜場中無線網(wǎng)絡(luò)的普及,基于無線網(wǎng)絡(luò)的嵌入式環(huán)境檢測系統(tǒng)越來越受到研究人員的重視,其操作便捷,結(jié)果反饋及時準(zhǔn)確,綜合成本低,經(jīng)濟(jì)效益高[10]。侯靜云等[11]采用ZigBee和GPRS混合組網(wǎng)的方式實現(xiàn)了對于溫濕度、煙霧濃度等室內(nèi)環(huán)境參數(shù)的實時監(jiān)測,具有較好的穩(wěn)定性和可擴(kuò)展性。牛海春等[12]采用ESP8266無線傳輸模塊實現(xiàn)了對于畜禽養(yǎng)殖環(huán)境的遠(yuǎn)程監(jiān)測和調(diào)控,具有精度高、功耗低等特點。聶琿等[13]基于NB-IoT技術(shù)實現(xiàn)了對于溫度、濕度、甲醛、粉塵(PM2.5)和總揮發(fā)有機(jī)化合物(TVOC)等多傳感器數(shù)據(jù)的融合,通過模糊算法有效提高了環(huán)境檢測的準(zhǔn)確性。
ESP32是一款專為嵌入式開發(fā)和物聯(lián)網(wǎng)(IoT)應(yīng)用而研發(fā)的低功耗芯片,因其完備的WiFi、藍(lán)牙通信功能以及較高的集成度和高穩(wěn)定性、可靠性和可擴(kuò)展性,使其在環(huán)境參數(shù)無線監(jiān)控系統(tǒng)領(lǐng)域應(yīng)用廣泛[14,15]。本設(shè)計以ESP32模塊和智能傳感器為主要硬件,通過自主印制電路板(PCB)實現(xiàn)對于畜場多個重要環(huán)境參數(shù)的監(jiān)測,同時依托Grafana平臺,開發(fā)了PC端的監(jiān)控UI界面。使用該系統(tǒng)畜場管理人員可不受時間、場合約束地對畜場內(nèi)環(huán)境參數(shù)進(jìn)行監(jiān)控。
系統(tǒng)主要包含環(huán)境參數(shù)感知模塊、ESP32中央處理模塊、LCD顯示模塊和輸出控制模塊。系統(tǒng)架構(gòu)如圖1所示。
圖1 系統(tǒng)架構(gòu)簡圖
ESP32模塊通過Wi-Fi網(wǎng)絡(luò)將采集到的傳感器數(shù)據(jù)上傳至InfluxDB數(shù)據(jù)平臺,在InfluxDB平臺可以實現(xiàn)對于畜場環(huán)境參數(shù)的遠(yuǎn)程監(jiān)控和歷史數(shù)據(jù)查詢。利用Grafana可視化平臺(圖2),在后臺獲取InfluxDB的傳感器數(shù)據(jù),用戶界面通過Grafana提供的組件進(jìn)行UI設(shè)計,可使環(huán)境監(jiān)控更加美觀、人性化。當(dāng)環(huán)境參數(shù)超過預(yù)設(shè)的閾值范圍時,中央處理模塊會通過繼電器等設(shè)備控制濕簾、風(fēng)機(jī)運(yùn)行,從而實現(xiàn)對于環(huán)境參數(shù)的調(diào)控。
圖2 數(shù)據(jù)上傳流圖
系統(tǒng)的中央處理模塊采用具有超高的穩(wěn)定性、可靠性和較低的功耗的ESP32,該模塊的CPU采用Xtensa?32位 LX6雙核處理器,運(yùn)算能力高達(dá)600 MIPS,理論上Wi-Fi最高速率150 Mbps,藍(lán)牙最大輸出功率+12 dBm。如圖3a所示,采用PCB設(shè)計,將ESP32與設(shè)計好的電路板結(jié)合,通過Type-C口給模塊供電,電路板上預(yù)留6個通用接口(4個三線制,2個四線制)。三線制接口連接環(huán)境參數(shù)傳感器,四線制接口連接LCD顯示模塊,負(fù)責(zé)溫濕度數(shù)據(jù)采集的傳感器接口固定焊接在電路板中央(圖3b)。
圖3 主控單元PCB設(shè)計圖
環(huán)境參數(shù)感知由多個智能傳感器實現(xiàn)。溫濕度數(shù)據(jù)采集選用奧松DHT11數(shù)字傳感器,溫度測量范圍為0~50 ℃,精度為±2.0 ℃,濕度測量范圍為20%~90% RH,精度為±5.0% RH,響應(yīng)時間小于5 s,尺寸僅為12 mm×15.5 mm×5.5 mm。氣體濃度傳感器中,氨氣濃度選用MQ-137氣敏傳感器,測量范圍5~200 ppm。硫化氫濃度選用MQ-136氣敏傳感器,測量范圍1~100 ppm。甲烷濃度選用MP-4氣敏傳感,測量范圍300~10000 ppm。二氧化碳濃度測量稍顯不同,選用MH-Z19紅外傳感器,尺寸為33 mm×20 mm×9 mm,測量范圍為0~2000 ppm。
2.2.1 溫濕度傳感器數(shù)據(jù)采集電路設(shè)計
DHT11有四個引腳,如圖4a所示,正面朝上從左往右依次是VCC電源引腳、DATA引腳、NC引腳和GND引腳。在實際測量場景中,連接電路如圖4b所示,VCC引腳連接3.3或5V直流電源,DATA引腳為傳感器采集數(shù)據(jù)的信號引腳,跟中央處理模塊上的GPIO引腳相連,NC引腳懸空,GND引腳接地。
圖4 溫濕度傳感器引腳及數(shù)據(jù)采集電路連接圖
2.2.2 氨氣、硫化氫濃度傳感器數(shù)據(jù)采集電路設(shè)計
氨氣、硫化氫濃度傳感器均采用MQ系列傳感器。MQ系列傳感器與傳統(tǒng)的傳感器稍有區(qū)別,引腳共有6個,分為A、B、H三對(圖5)。使用時需要將兩個A、兩個B連接在一塊,其中一組連接到5V直流電源,另一組為模擬輸出,兩個H引腳一個接直流電源,一個接地。數(shù)據(jù)采集電路如圖6所示。
圖5 MQ系列傳感器引腳連接圖
2.2.3 甲烷濃度傳感器數(shù)據(jù)采集電路設(shè)計
甲烷濃度傳感器采用MP-4傳感器,通過PCB電路設(shè)計采集電路。該型號傳感器共有4個引腳,俯視圖角度4個引腳編號如圖7a所示,測量電路中4個引腳連接電路如圖7b,施加兩種直流電壓,即加熱電壓Vh和電路電壓Vc,Rs即為跟甲烷氣體濃度呈線性關(guān)系的阻抗電訊號,通過給定的轉(zhuǎn)換公式即可得到單位為ppm的甲烷氣體濃度。
圖6 MQ系列傳感器數(shù)據(jù)采集電路設(shè)計圖
圖7 甲烷傳感器引腳與數(shù)據(jù)采集電路連接圖
2.2.4 二氧化碳濃度傳感器數(shù)據(jù)采集電路設(shè)計
二氧化碳濃度傳感器采用MH-Z19非色散紅外傳感器,如圖8所示,該型號傳感器底部有序排列共9個引腳。數(shù)據(jù)采集電路設(shè)計如圖9所示,6號引腳連接5V工作電壓,7號引腳接地,2號引腳為UART數(shù)字輸入,3號引腳為UART數(shù)字輸出。
圖8 二氧化碳傳感器引腳編號圖
在本地使用一個2.8英寸的Nextion彩色LCD電阻觸摸屏直觀顯示傳感器采集數(shù)據(jù)。顯示屏型號 NX3224T028_011R,5V直流電源供電,分辨率為320×240,自帶ARM 7 48MHz CPU,通過官方的Nextion Editor軟件,可以便捷地進(jìn)行用戶界面設(shè)計。該顯示屏的優(yōu)點是不占用系統(tǒng)資源,可通過SD卡下載界面顯示內(nèi)容,并保存于自帶的Flash中,要顯示的傳感器數(shù)據(jù)僅需通過串口以固定格式發(fā)送至連接顯示屏的引腳,給顯示屏供電,即可進(jìn)行直觀、優(yōu)美的數(shù)據(jù)展示。
圖9 二氧化碳傳感器數(shù)據(jù)采集電路連接圖
軟件設(shè)計整體上可以分成兩部分進(jìn)行:一是基于ESP32模塊的傳感器數(shù)據(jù)采集、本地顯示部分;二是上傳部分和PC端從云上獲取傳感器數(shù)據(jù)并顯示部分。
通過Arduino IDE進(jìn)行軟件開發(fā),采用C++語言實現(xiàn)。在編寫程序之前先對Arduino IDE進(jìn)行設(shè)置,將ESP32開發(fā)板的包索引地址填入附加開發(fā)板管理器網(wǎng)址,接著下載各個傳感器對應(yīng)的庫,選擇合適的開發(fā)板和端口等。
在完成IDE的配置后,進(jìn)行軟件運(yùn)行流程的設(shè)計,ESP32控制模塊軟件部分流程如圖10所示。其中關(guān)鍵步驟,首先是Wi-Fi網(wǎng)絡(luò)的連接,其次是InfluxDB(存儲傳感器數(shù)據(jù)的云平臺)的連接,連接成功后,每隔5 min進(jìn)行傳感器數(shù)據(jù)的讀取、保存和上傳。溫濕度數(shù)據(jù)可以直接通過傳感器與ESP32模塊相連的ADC串口讀取,有害氣體濃度數(shù)值通過傳感器引腳反饋的是與濃度線性相關(guān)的電訊號的值,通過相應(yīng)的數(shù)值換算即可得到有害氣體的實際濃度值。
為了充分挖掘Nextion觸摸屏的顯示能力,除了圖11所示的主界面之外,還設(shè)計了副界面,當(dāng)點擊主界面上的環(huán)境參數(shù)數(shù)值時,顯示屏?xí)D(zhuǎn)到第二界面,界面顯示過去24 h對應(yīng)環(huán)境參數(shù)數(shù)值曲線(圖12)。為此,在程序里創(chuàng)建若干個數(shù)組,用以保存?zhèn)鞲衅鞯男蛄兄怠?/p>
圖10 主控單元軟件設(shè)計流程圖
PC端顯示是畜場環(huán)境遠(yuǎn)程監(jiān)控系統(tǒng)的主要構(gòu)成部分?;贕rafana平臺在PC端設(shè)計了環(huán)境參數(shù)的監(jiān)控界面,其實現(xiàn)流程是:首先在PC端安裝Grafana平臺,注冊并登錄,設(shè)置Grafana數(shù)據(jù)源為Influx DB,查詢語言設(shè)置為Flux,數(shù)據(jù)URL為InfluxDB數(shù)據(jù)地址;然后填入Token等驗證信息,使用Flux語句從InfluxDB的數(shù)據(jù)塊中獲取傳感器數(shù)據(jù);最后使用Grafana提供的組件為傳感器數(shù)據(jù)設(shè)計直觀的可視化界面(圖13)。
圖11 監(jiān)測系統(tǒng)LCD顯示主頁面
圖12 系統(tǒng)LCD顯示副頁面
圖13 系統(tǒng)遠(yuǎn)程監(jiān)控UI設(shè)計
我們將制作的實際系統(tǒng)物理模型放置于實驗室環(huán)境下進(jìn)行測試,從Grafana平臺可以實時看到相關(guān)傳感器的測量值。系統(tǒng)的穩(wěn)定性可以通過InfluxDB數(shù)據(jù)平臺導(dǎo)出的傳感器數(shù)據(jù)記錄和Grafana平臺的傳感器曲線圖進(jìn)行分析??偟臏y試時間跨度5 d,每天一次,每次測試持續(xù)時間4 h,系統(tǒng)每隔5 min采集、打包并上傳傳感器數(shù)據(jù)至InfluxDB數(shù)據(jù)庫。通過InfluxDB數(shù)據(jù)平臺導(dǎo)出的數(shù)據(jù)記錄(CSV格式),分析每個數(shù)據(jù)包的時間戳和傳感器數(shù)值,正常情況下時間戳間隔為5 min,每個傳感器數(shù)據(jù)包里的傳感器數(shù)值不能為0。
由表1數(shù)據(jù)可得,系統(tǒng)數(shù)據(jù)的上傳平均成功率為97.3%,平均丟包率為2.7%。數(shù)據(jù)的上傳成功率與ESP32模塊連接的無線網(wǎng)絡(luò)質(zhì)量和連接InfluxDB數(shù)據(jù)庫的網(wǎng)絡(luò)延遲有很大關(guān)系。InfluxDB數(shù)據(jù)平臺使用的是亞馬遜的云服務(wù),因此國內(nèi)個人連接會有波動。整體上,系統(tǒng)的通信情況較為穩(wěn)定,完全滿足畜場環(huán)境監(jiān)測的場景需求。
表1 系統(tǒng)通信丟包率統(tǒng)計
本文設(shè)計了一種基于ESP32的畜場環(huán)境遠(yuǎn)程監(jiān)測系統(tǒng),依托InfluxDB數(shù)據(jù)庫和Grafana可視化平臺開發(fā)了PC端的監(jiān)控UI。系統(tǒng)能夠監(jiān)控畜場中溫濕度和氨氣、硫化氫、甲烷、二氧化碳等有害氣體濃度的數(shù)據(jù)信息,管理人員登錄指定界面,可實現(xiàn)對畜場內(nèi)環(huán)境參數(shù)的監(jiān)控,并可通過繼電器遠(yuǎn)程控制畜場內(nèi)的相關(guān)設(shè)備。
實驗測試表明,系統(tǒng)能夠有效地完成設(shè)計需求,實現(xiàn)可靠、穩(wěn)定的畜場環(huán)境監(jiān)控,為實現(xiàn)現(xiàn)代化畜牧業(yè)提供有益參考。