惠鵬飛,鄒立穎,袁琪,陳祥飛
(齊齊哈爾大學 通信與電子工程學院,黑龍江 齊齊哈爾 161006)
隨著我國物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,將互聯(lián)網(wǎng)、云計算、大數(shù)據(jù)、數(shù)據(jù)庫等新一代信息技術(shù)運用到傳統(tǒng)的養(yǎng)豬行業(yè),實現(xiàn)物聯(lián)網(wǎng)與養(yǎng)豬業(yè)深度融合是未來的發(fā)展趨勢,這包括生豬飼養(yǎng)繁殖、疾病防預、豬場管理,糞便處理,生豬屠宰、身份信息跟蹤、防預報警等各個環(huán)節(jié)[1-2],養(yǎng)豬業(yè)將進入高效、科學、節(jié)能、智能管理的現(xiàn)代養(yǎng)豬模式,企業(yè)的生產(chǎn)效率和競爭力將獲得明顯提高。
鑒于此,筆者將物聯(lián)網(wǎng)技術(shù)應用到傳統(tǒng)養(yǎng)豬場,設計了群體精細飼喂控制系統(tǒng)。該系統(tǒng)涵蓋ZigBee、ARM、傳感器、數(shù)據(jù)庫、Wi-Fi、C#程序設計等多項技術(shù),開發(fā)了系統(tǒng)的硬件電路和上位機軟件,并進行了功能測試。該系統(tǒng)應用于規(guī)模化養(yǎng)豬場,對于提高生豬養(yǎng)殖的智能化和自動化水平,具有重要意義。
生豬精細飼喂控制系統(tǒng)的組成主要由PC 機、數(shù)據(jù)采集節(jié)點、數(shù)據(jù)傳輸節(jié)點、通信線路、主控制芯片、電機裝置、舵機控制和電源供電模塊等組成。系統(tǒng)硬件按照功能可分為主控制器STM32、Wi-Fi 傳輸模塊、蜂鳴器報警模塊、精細化喂養(yǎng)模塊、排泄物處理模塊、環(huán)境信息采集和控制模塊、上位機顯示模塊,硬件整體構(gòu)成如圖1 所示。
圖1 系統(tǒng)硬件整體構(gòu)成圖
數(shù)據(jù)信息采集系統(tǒng)包括RFID 模塊、路由通信模塊、STM32 控制模塊、料槽、料斗、進料罐、溫度傳感器模塊、稱重秤、開關(guān),上述部件形成一個閉合裝置。通信模塊通過TCP/IP 協(xié)議路由器連接到PC 端,負責與PC 的數(shù)據(jù)傳輸和數(shù)據(jù)庫存儲??刂颇K主要通過STM32 驅(qū)動舵機的擺動,控制閘閥和料斗閥的開啟和關(guān)閉,控制好投食量。利用扣在生豬耳朵上的電子耳標,RFID 系統(tǒng)將生豬的基本信息采集發(fā)送到上位機和數(shù)據(jù)庫內(nèi),包括豬的出生日期、品種線、年齡、體重增加、疾病、免疫力等信息。為了保證生豬進食過程中不受其它豬的影響,確保精準喂養(yǎng),當?shù)搅宋故硶r間時,生豬會站在電動門外紅外感應區(qū)域內(nèi),氣動門就會自動打開,生豬通過自動門進入喂養(yǎng)間。當生豬進入后,電動門會自動關(guān)閉,其它生豬無法再進入。
1.2.1 處理器的選取
核心處理器選擇STM32,STM32 基于ARM Cortex-M3 內(nèi)核,其構(gòu)架有多項改進,依靠Thumb-2 指令集提升了性能和代碼密度,中斷響應和低功耗也滿足系統(tǒng)要求[3-4]。當生豬進入到喂養(yǎng)間后,蜂鳴器會發(fā)出提示音,表明有生豬進入,同時RFID 系統(tǒng)記下每頭豬的具體信息,根據(jù)豬的具體信息制定科學的投食方案,通過舵機來控制投食機孔的大小和投食時間的長短。
1.2.2 RFID 讀寫芯片
系統(tǒng)應用的RFID 讀卡器,采用MFRC522 集成射頻讀寫芯片,通信頻率13.56 MHz,通過RS232 串口實現(xiàn)了讀卡器與上位機的通信,達到了設計要求。STM32 微處理器與MFRC522 之間的通信接口為SPI 方式,PCB 天線和電子標簽內(nèi)的線圈以非接觸的方式耦合。
飼喂間使用的是全封閉式的空間結(jié)構(gòu),RFID 閱讀器將自動讀取豬的耳標信息。同時,將豬的基本信息傳送到PC 端,并與現(xiàn)有的數(shù)據(jù)庫既定規(guī)則進行比較。采用模糊控制技術(shù)對反饋信息進行反饋,得到最佳的食料配送方案。
1.2.3 A/D 轉(zhuǎn)換電路
A/D 轉(zhuǎn)換電路選擇HX711,HX711 以多位數(shù)據(jù)的串口傳輸形式輸送給單片機。該芯片與后端MCU 芯片的接口和編程非常簡單,所有控制信號由管腳驅(qū)動,無需對芯片內(nèi)部的寄存器編程[5-6]。
1.2.4 傳感器的選取
傳感器的選擇兼顧性能和成本,要適合養(yǎng)豬場的特殊環(huán)境。溫度測量傳感器利用DS18B20,它支持“一線總線”接口,內(nèi)部集成了傳感器件和轉(zhuǎn)換電路[7]。DHT11 數(shù)字溫濕度傳感器具有極高的可靠性和穩(wěn)定性,符合養(yǎng)豬場飼喂控制系統(tǒng)的要求。有害氣體檢測選擇MQ135 傳感器,MQ135 氣體傳感器對氨氣、硫化物、苯系蒸氣的靈敏度高,對煙霧和其他有害氣體的檢測也比較理想。考慮豬場的特殊環(huán)境,水位傳感器使用Water Sensor 水位/水滴傳感器,用來判斷水位。Water Sensor 水位/水滴傳感器輸出的模擬值可以直接被Arduino 開發(fā)板讀取,達到水位報警的功效[8-9]。系統(tǒng)主要的傳感器如圖2 所示。
圖2 系統(tǒng)選用的主要傳感器
分系統(tǒng)電路主要包括時鐘控制電路、系統(tǒng)復位電路和蜂鳴器驅(qū)動電路。STM32 內(nèi)部可以產(chǎn)生兩種時鐘信號,以滿足不同場合需要。內(nèi)部低速(LSI) RC 振蕩器典型的輸出頻率值是40 kHz,振蕩頻率最小值為30 kHz,最大值為60 kHz。內(nèi)部高速(HSI) RC 振蕩器典型的輸出值是8 MHz,精度值是10f0,最差值是2.5%。HIS 振蕩器如果要求高精度不能采用片內(nèi)HIS,一般都會選擇外部時鐘源。
要傳輸豬場內(nèi)采集到的信息,需通過串口-以太網(wǎng)-無線網(wǎng)的方式。這部分以符合網(wǎng)絡準則的通用串口為標準,包含TCP/IP 協(xié)議,它可完成用戶串口和Ethernet 及無線網(wǎng)(Wi-Fi)間的互相變換。通過無線傳輸模塊,傳統(tǒng)的串口設備在不用改變?nèi)魏闻渲玫那闆r下,就可以通過Internet 網(wǎng)絡進行傳輸數(shù)據(jù)[10]。
控制系統(tǒng)采用串口轉(zhuǎn)Wi-Fi AP 模式,在這個模式中,ETH1 和ETH2 運行終止。經(jīng)過合適的設置,串口數(shù)據(jù)和Wi-Fi 網(wǎng)絡數(shù)據(jù)轉(zhuǎn)換數(shù)據(jù)。在此模式下,在設計串口轉(zhuǎn)Wi-Fi 時使用HLK-RM04 模塊,工作頻段為2.4 GHz,電源適配器5 V、1 000 mA,挑選與之匹配的網(wǎng)線即可實現(xiàn)連接。
HLK-RM04 為嵌入式UART-ETH-WIFI(串口、以太網(wǎng)、無線網(wǎng))模塊,使用HLK-RM04 后,以前使用的串口設備可以不需改變?nèi)魏闻渲?,就可通過Internet 網(wǎng)絡通傳需要的數(shù)據(jù)。出廠默認值的無線以太網(wǎng)都是開放狀態(tài),功耗比較大,為了實現(xiàn)低功耗設計,可以通過串口配置。HLK-RM04 模塊及串口連接如圖3 所示。
圖3 HLK-RM04 模塊及串口連接圖
數(shù)據(jù)采集程序包括DHT11 程序、DS18B20 程序、豬體重信息檢測程序、氨氣濃度檢測程序等。在程序開發(fā)中,主要使用的軟件包括串口助手ScomAssistant V2.1 和MDK5。串口助手通過電腦串口(包括USB口)收發(fā)數(shù)據(jù)并顯示,借助于它來調(diào)試串口通訊或者系統(tǒng)的運行狀態(tài)。也可以用于采集其他系統(tǒng)的數(shù)據(jù),觀察系統(tǒng)的運行情況。
Wi-Fi 的收發(fā)和調(diào)試方式有很多種,本系統(tǒng)通過串口方式對其進行調(diào)試。設置好Wi-Fi 模塊的工作模式,通過STM32 串口傳輸?shù)姆绞綄i-Fi 模塊進行初始化操作,并執(zhí)行具體指令。上位機STM32 對接收到的Wi-Fi 的信息進行分析、提取,將監(jiān)測到的信息顯示到上位機界面上面。同時通過中斷的方式將上位機界面的指令用Wi-Fi 模塊傳遞給下位機,下位機實現(xiàn)對指令的執(zhí)行。Wi-Fi 傳輸過程程序流程如圖4 所示。
圖4 Wi-Fi 傳輸過程程序流程圖
上位機顯示界面是使用VS 2017來完成的,利用C#編寫代碼。先將需要的控件調(diào)出組成自己想要的頁面,然后再通過設置控件的屬性,在后臺寫事件控制來實現(xiàn)界面的顯示。該軟件主要可實現(xiàn)顯示攝像頭采集的圖像、顯示傳感器顯示的數(shù)據(jù)以及控制攝像頭方位的功能。其系統(tǒng)流程圖如圖5所示,界面如圖6所示。
圖5 上位機設計流程圖
當打開上位機操作界面時,系統(tǒng)初始化通過無線信號自動與下位機進行連接,用戶通過選擇上位機界面上不同的控制按鈕,發(fā)出相應的指令來控制攝像頭的方向達到監(jiān)控視頻的實時顯示,上位機界面能實現(xiàn)實時的顯示當前的環(huán)境參數(shù)、顯示監(jiān)控區(qū)域畫面和控制攝像頭的角度。
選用MySql數(shù)據(jù)庫,該數(shù)據(jù)庫是免費、開源的,運行速度快,復雜程度較低,MySql數(shù)據(jù)庫支持sql語句查詢。在使用MySql數(shù)據(jù)庫進行開發(fā)的過程中,還需要使用navicat應用程序,它可以將Mysql進行圖形化管理,用戶可以通過它使用簡單的方式對數(shù)據(jù)庫進行訪問及操作。
使用數(shù)據(jù)庫將生豬的體重、體溫、進食數(shù)量、以及通過各傳感器采集到的信息儲存起來,并通過進食量和體重的增加量來計算出料肉比曲線,實時方便調(diào)整生豬進食量。
傳感器顯示部分軟件和硬件相結(jié)合,實現(xiàn)了氨氣濃度、豬場環(huán)境溫濕度、水位情況、生豬的具體生長信息精確檢測。同時排泄系統(tǒng),防疫噴灑系統(tǒng)、環(huán)境監(jiān)測也能很好的完成具體功能。圖6為測試時上位機顯示界面。當點擊開啟數(shù)據(jù)時,上位機界面顯示環(huán)境參數(shù)。
圖6 上位機顯示界面
環(huán)境的氨氣濃度通過曲線的形式顯示,因為氨氣濃度的大小直接影響生豬的健康狀況,濃度過高豬容易患上各種呼吸疾病。還可以通過顯示界面的噴灑按鈕來控制防疫藥物的噴灑,也可以設置為定期噴灑模式,不需要手動直接控制。圖中的二維碼主要是方便手機掃描顯示基本信息,當數(shù)據(jù)顯示框里的數(shù)據(jù)顯示出現(xiàn)問題時,可以通過掃碼的方式查看具體的信息。
從圖6可以看出本系統(tǒng)可以顯示出當前環(huán)境的溫度、編號、二維碼信息、氨氣濃度、視頻監(jiān)控信息、健康狀況信息和環(huán)境信息,通過多次測量并對比來驗證數(shù)據(jù)是否準確。表1所示是一天內(nèi)三次隨機的測量值,測量數(shù)據(jù)和上位機顯示數(shù)據(jù)對比表明,上位機界面可以準確的顯示出環(huán)境數(shù)據(jù)。
表1 環(huán)境監(jiān)測數(shù)據(jù)
視頻傳輸功能調(diào)試是為了測試上位機軟件是否能準確的顯示出攝像頭照射到的畫面,視頻監(jiān)控整個廠區(qū)的具體情況,其中包含了生豬的日?;顒印⒈O(jiān)控狀況來往的客戶、喂養(yǎng)人員、以及各個硬件設備運行的具體情況。還有就是防御噴灑系統(tǒng)能按時按量的完成提前疾病防御的消毒藥物噴灑,保證了豬的生長環(huán)境。當點擊打開視頻按鈕時,視頻顯示能夠準確的顯示出當前監(jiān)控區(qū)域的畫面,視頻監(jiān)控性能穩(wěn)定。
基于STM32的養(yǎng)豬場群體精細飼喂控制系統(tǒng),實現(xiàn)了物聯(lián)網(wǎng)與養(yǎng)豬業(yè)的深度融合,利用RFID、自動稱重傳感和溫度傳感等技術(shù)對種豬的采食量、時間、日增質(zhì)量、料肉比進行測定,飼養(yǎng)員可以在上位機查看相關(guān)數(shù)據(jù)并操控。豬場內(nèi)部產(chǎn)生的廢物以及各種排泄物的排放處理、傳染病防疫藥物噴灑系統(tǒng)、豬場內(nèi)部的溫度濕度調(diào)節(jié)等,均可以通過上位機自動控制來實現(xiàn),實現(xiàn)生豬精細化喂養(yǎng)的目的。通過視頻監(jiān)測功能查看豬場環(huán)境、設備和來往人員流動狀況。測試結(jié)果表明,該系統(tǒng)工作穩(wěn)定,對于提高生豬養(yǎng)殖的科學化、自動化水平具有重要意義。