牛海春,王樂林,宋海燕
(青島黃海學(xué)院,山東青島,266427)
目前,我國的經(jīng)濟實力快速提升,人民對美好生活的要求不斷提高,尤其是在食品安全上的問題受到人民群眾的高度關(guān)注。近幾年,對畜禽肉類食品安全的要求大大提高,要使畜禽肉類食品的質(zhì)量得到保證,就必須保證畜禽養(yǎng)殖階段是一種健康的環(huán)境。
畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)的研究以及推廣使用,可以監(jiān)測和調(diào)節(jié)畜禽養(yǎng)殖的環(huán)境,改善禽畜的生長環(huán)境,減少禽畜患疫病的風(fēng)險,保證禽畜能夠在健康的環(huán)境里成長,使畜禽肉類食品的原材料的質(zhì)量得到保證。同時,能夠減少勞動力、降低勞動強度、增加養(yǎng)殖戶的經(jīng)濟收入。所以畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)對養(yǎng)殖行業(yè)發(fā)展有積極影響,并且具有很高的應(yīng)用價值。
畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)的工作原理是通過環(huán)境檢測模塊對畜禽養(yǎng)殖環(huán)境中的因素進(jìn)行實時采集和監(jiān)控,之后由微控制器模塊集中處理,再由微處理器模塊將獲取的信息傳送到OLED顯示模塊顯示,同時由無線通訊模塊將數(shù)據(jù)上傳至云平臺,并能夠在手機上實時監(jiān)測,以實現(xiàn)遠(yuǎn)程監(jiān)控。該系統(tǒng)的整體方案設(shè)計如圖1所示[1]。

圖1 整體方案設(shè)計
畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)由硬件和軟件兩部分組成,在硬件設(shè)計方面由溫濕度檢測模塊、氨氣檢測模塊、顯示模塊、無線通訊模塊及排風(fēng)扇、加濕器等部分組成。
2.2.1 二氧化碳檢測模塊電路設(shè)計
二氧化碳檢測選用SGP30二氧化碳傳感器,SGP30易于集成,應(yīng)用于空氣質(zhì)量檢測儀、便攜式氣體檢測儀、智能家居、家電和物聯(lián)網(wǎng)等場合。SGP30二氧化碳傳感器檢測范圍最高能達(dá)到60000ppm,在0ppm-5144ppm檢測范圍時,測量誤差為1ppm-3ppm,精度較高,所檢測的二氧化碳濃度數(shù)值較為準(zhǔn)確。SGP30傳感器啟動時間短,響應(yīng)速度快,價格較為便宜。
2.2.2 溫濕度傳感器模塊電路設(shè)計
為保證測量范圍符合要求,并保證測量信息的準(zhǔn)確性以及抗干擾能力,選用SHT30溫濕度傳感器模塊。SHT30模塊濕度測量范圍為0-100%RH,測量誤差為±5%;溫度測量范圍為-40℃~125℃,測量誤差為±2℃;且SHT30靈敏度高、響應(yīng)速度快,上電3秒后即可輸出較為準(zhǔn)確數(shù)據(jù)。
2.2.3 氨氣傳感器模塊電路設(shè)計
在畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)中氨氣傳感器模塊采用MG812氣體傳感器模塊,氨氣濃度檢測范圍達(dá)到100ppm。MG812模塊上電后需要20秒左右的時間才能得到較為穩(wěn)定的數(shù)據(jù),MG812是模擬量輸出,需要通過單片機進(jìn)行模數(shù)轉(zhuǎn)換才能獲取氨氣的濃度值[2]。
在畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)中無線通訊模塊選用ESP8266 WIFI模塊,該模塊功耗低,體積小,穩(wěn)定性高,價格低,可以連接熱點或者路由器通過MQTT協(xié)議上傳至云平臺。可以通過AT指令進(jìn)行調(diào)試,方便測試以及程序的編寫。
畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)中外圍設(shè)備包括排風(fēng)扇、加濕器、濕簾、加熱器。選用220V交流電的六寸小型排風(fēng)扇、熱風(fēng)機、小型抽水泵以及裁剪的濕簾,繼電器選用PMN5D固態(tài)繼電器。PMN5D固態(tài)繼電器可用于沖擊大、振動和污染的惡劣工作環(huán)境,并且能夠?qū)崿F(xiàn)無火花導(dǎo)通,用于控制外圍設(shè)備。
在畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)中顯示模塊選用OLED作為顯示屏。OLED顯示模塊對比度高、厚度薄、功耗低,并且能適應(yīng)超廣可視角,具有自發(fā)光特性,不需要背光源。OLED顯示模塊的引腳只有四個,占用單片機資源較少。OLED顯示模塊反應(yīng)速度非常快,不需要等待,數(shù)據(jù)的傳輸采用的是IIC協(xié)議。但必須要正確配置各引腳,并且有數(shù)據(jù)傳輸才能夠使OLED顯示模塊工作。
畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)是將溫度數(shù)據(jù)、濕度數(shù)據(jù)、二氧化碳數(shù)據(jù)以及代表氨氣數(shù)據(jù)的電壓采集后,傳輸?shù)轿⒖刂破鬟M(jìn)行數(shù)據(jù)轉(zhuǎn)化的計算,并判斷是否在閾值范圍內(nèi),如果不在所設(shè)的閾值范圍內(nèi)則驅(qū)動對應(yīng)的外部設(shè)備對畜禽養(yǎng)殖舍中的溫度、濕度以及二氧化碳濃度、氨氣濃度含量進(jìn)行調(diào)節(jié),并使各環(huán)境因素調(diào)節(jié)至閾值范圍內(nèi)停止。但無論是否超出閾值范圍都必須將數(shù)據(jù)傳輸?shù)絆LED顯示屏顯示和上傳到云平臺[3]。其程序總體設(shè)計流程圖如圖2所示。

圖2 程序總體設(shè)計流程圖
采集模塊的程序設(shè)計分為三部分,分別是二氧化碳濃度監(jiān)測軟件設(shè)計、溫濕度監(jiān)測軟件設(shè)計以及氨氣濃度監(jiān)測軟件設(shè)計。其中溫濕度監(jiān)測軟件設(shè)計和二氧化碳濃度監(jiān)測軟件設(shè)計所使用的傳感器采用數(shù)字量輸出,氨氣濃度監(jiān)測設(shè)計使用的傳感器采用的是模擬量電壓輸出。
3.2.1 二氧化碳濃度監(jiān)測軟件設(shè)計
SGP30二氧化碳傳感器的輸出方式是數(shù)字量輸出器件,采用的是IIC協(xié)議通信。在編寫程序時,使用的是模擬IIC的方式進(jìn)行數(shù)據(jù)的傳輸,在每一次讀取數(shù)據(jù)時都需要發(fā)送從機地址和讀命令,只有應(yīng)答之后才能讀取到測量的數(shù)據(jù),并且還需要檢驗所讀取的數(shù)據(jù)是否正確,最后獲取高八位數(shù)值,取得二氧化碳濃度。
3.2.2 溫濕度監(jiān)測軟件設(shè)計
SHT30溫濕度傳感器輸出方式是數(shù)字量輸出,其采用的通信協(xié)議是IIC協(xié)議通信。在編寫程序時,使用的是模擬IIC的方式進(jìn)行溫濕度數(shù)據(jù)的傳輸,在每一次讀取溫濕度數(shù)據(jù)時都需要發(fā)送從機地址和讀命令,只有從機應(yīng)答之后才能讀取到測量的溫濕度數(shù)據(jù)。并且還需要檢驗所讀取的溫濕度數(shù)據(jù)是否正確,其中高16位表示溫度的原始值,第8位到第23位表示濕度原始值,最后還需要通過單片機計算才能得到實際的溫度值與實際的濕度值。
3.2.3 氨氣濃度監(jiān)測軟件設(shè)計
氨氣傳感器采用的是模擬量輸出,需要使用單片機內(nèi)部的ADC轉(zhuǎn)換功能才能獲取電壓值,并通過計算獲取實際的氨氣濃度。
外圍設(shè)備模塊軟件設(shè)計分為五部分,分別是OLED顯示模塊軟件設(shè)計,控制排風(fēng)扇軟件設(shè)計、控制熱風(fēng)機軟件設(shè)計、控制濕簾軟件設(shè)計、控制加濕器軟件設(shè)計,其作用是以所設(shè)閾值范圍為基礎(chǔ)對畜禽養(yǎng)殖環(huán)境進(jìn)行調(diào)整。
3.3.1 OLED顯示模塊軟件設(shè)計
OLED顯示模塊采用的是IIC通信。在編寫程序時,單片機需要對OLED顯示模塊發(fā)送寫指令,等待有響應(yīng)后,將單片機處理好的數(shù)據(jù)寫入OLED顯示模塊的存儲器,同時需要設(shè)置字體的大小,能夠?qū)囟取穸取⒍趸紳舛取睔鉂舛日o@示。
3.3.2 控制排風(fēng)扇軟件設(shè)計
控制排風(fēng)扇軟件設(shè)計是STM32F103RCT6單片機將溫濕度傳感器、二氧化碳傳感器、氨氣傳感器所檢測的溫度值、濕度值、二氧化碳濃度值、氨氣濃度值分別與所設(shè)的溫度最大閾值、濕度最大閾值、二氧化碳濃度最大閾值、氨氣濃度最大閾值進(jìn)行比較,若大于最大閾值則排風(fēng)扇工作,若低于最大閾值時則排風(fēng)扇停止。在進(jìn)行比較之前需要配置驅(qū)動排風(fēng)扇的引腳并初始化。
3.3.3 控制熱風(fēng)機軟件設(shè)計
控制熱風(fēng)機軟件設(shè)計是STM32F103RCT6單片機將溫濕度傳感器檢測的溫度值與所設(shè)的溫度最小閾值進(jìn)行比較,若大于溫度最小閾值時則熱風(fēng)機停止,若小于溫度最小閾值時則熱風(fēng)機工作。在進(jìn)行比較之前需要配置驅(qū)動熱風(fēng)機的引腳并初始化。
3.3.4 控制濕簾軟件設(shè)計
控制濕簾軟件設(shè)計是STM32F103RCT6單片機將溫濕度傳感器檢測的溫度值與所設(shè)的溫度最大閾值進(jìn)行比較,若大于溫度最大閾值時則濕簾的水泵工作,若小于溫度最大閾值時則濕簾的水泵停止。在進(jìn)行比較之前需要配置驅(qū)動濕簾水泵所使用的引腳并完成初始化。
3.3.5 控制加濕器軟件設(shè)計
控制加濕器軟件設(shè)計是STM32F103RCT6單片機將溫濕度傳感器檢測的濕度值與所設(shè)的濕度最大閾值進(jìn)行比較,若大于濕度最小閾值時則加濕器停止,若小于濕度最小閾值時則加濕器工作。所測實際濕度值與濕度最大閾值比較之前需要配置驅(qū)動加濕器所使用的引腳并初始化。
無線傳輸模塊用到ESP8266模塊,ESP8266模塊通電之后,單片機需要對ESP8266模塊初始化才能連接至云平臺和網(wǎng)絡(luò)。在接入云平臺和網(wǎng)絡(luò)的前提是必須要把熱點名稱和密碼以及云平臺設(shè)備的信息和服務(wù)器地址、端口才能完成數(shù)據(jù)的上傳。
畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)中遠(yuǎn)程監(jiān)控功能,實現(xiàn)方法是用ESP8266WIFI模塊將數(shù)據(jù)上傳至OneNET云平臺。在OneNET云平臺中需要配置顯示頁面以及匹配相應(yīng)的數(shù)據(jù)流才能在手機APP設(shè)備云中顯示。
將各傳感器模塊及外圍設(shè)備連接正確無誤后,接通電源開始配網(wǎng)、初始化。將溫度閾值設(shè)置為22℃-29℃,低于22℃熱風(fēng)機啟動,高于29℃時啟動排風(fēng)扇和濕簾;將濕度閾值設(shè)置為30%-65%,大于所設(shè)最大閾值時啟動排風(fēng)扇,小于最小閾值時啟動加濕器;將二氧化碳的最大閾值設(shè)置為2000ppm,濃度大于2000ppm時啟動排風(fēng)扇;將氨氣濃度的最大閾值設(shè)置為50ppm,濃度超過50ppm時啟動排風(fēng)扇。
在實物制作完成后對畜禽養(yǎng)殖監(jiān)測系統(tǒng)進(jìn)行測試。主要測試數(shù)據(jù)能否上傳至云平臺。測試時需要把ST-LINK與單片機和電腦相連,然后用KEIL5打開寫好的程序。在編譯沒有錯誤后下載至單片機。下載完成后,登錄云平臺后打開所創(chuàng)建的設(shè)備,顯示設(shè)備在線同時也有數(shù)據(jù)傳送,其結(jié)果圖如圖3所示。

圖3 測試結(jié)果圖
畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)是一種基于STM32F103RCT6微控制器的設(shè)計與制作。在綜合考慮了畜禽養(yǎng)殖舍中溫度、濕度、二氧化碳濃度、氨氣濃度對家禽的影響以及危害后,確定了畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)的總體設(shè)計方案,并詳細(xì)介紹了畜禽養(yǎng)殖環(huán)境監(jiān)測系統(tǒng)的設(shè)計思路和主要技術(shù)功能。最后在OneNET云平臺創(chuàng)建顯示界面,并且能夠通過手機觀看實時檢測數(shù)據(jù)。該設(shè)計對畜禽養(yǎng)殖環(huán)境的監(jiān)測有一定的借鑒意義,能有效改善畜禽養(yǎng)殖環(huán)境,提高養(yǎng)殖質(zhì)量。