郭恒川
(洛陽理工學院計算機與信息工程學院,河南 洛陽 471023)
畜牧業(yè)是關系著國民日常生活需求的重要產業(yè),也是實現(xiàn)鄉(xiāng)村振興的重要舉措之一,在鄉(xiāng)村振興戰(zhàn)略中扮演著非常重要的角色。傳統(tǒng)的畜牧飼養(yǎng)模式已經成為畜牧業(yè)發(fā)展的最大短板,因此畜牧業(yè)的高質量發(fā)展將勢不可擋,突破畜牧業(yè)“質”的瓶頸需要依靠科技創(chuàng)新[1]。
隨著新的產業(yè)理念普及,畜牧業(yè)在不斷加快現(xiàn)代化與信息化的進程,告別了粗放經營的低水平模式,不斷的向規(guī)模化集中,提高生產與管理效率。規(guī)?;竽琉B(yǎng)殖中,在不增加人力成本的前提下,對某個體牲畜很難做到精準化的跟蹤管理?,F(xiàn)如今,物聯(lián)網技術的發(fā)展可謂日新月異,各種利用物聯(lián)網技術進行遠程監(jiān)控的智能產品已經進入千家萬戶,這為解決規(guī)?;竽琉B(yǎng)殖下的牲畜個體精準化監(jiān)控提供了基礎。以STM32 為主控芯片設計一種能夠提供牲畜定位、運動步數、體溫、環(huán)境情況數據的終端設備,并將其虛擬仿真顯示在軟件端的監(jiān)控系統(tǒng)就是在這個背景下產生的新型畜牧養(yǎng)殖監(jiān)控方案。
在牲畜養(yǎng)殖過程中,牲畜所處的環(huán)境主要分為棚內環(huán)境和棚外環(huán)境兩部分。棚內用于集中圈養(yǎng),因此適合在棚內設計并安裝棚內環(huán)境數據監(jiān)測的終端設備,主要監(jiān)測對牲畜生長影響較大的棚內溫度、濕度、氨氣濃度等有害氣體數據。對于大型牲畜而言,還要有棚外草場環(huán)境來進行放風和運動,在此場景下就適合對每頭牲畜設計安裝監(jiān)測體溫、運動步數以及進行位置定位的終端設備。
根據對兩種場景的分析,系統(tǒng)的硬件部分應由一個棚內環(huán)境監(jiān)測終端和若干個棚外使用的體數據監(jiān)測終端共同構成,如圖1 所示。兩類硬件終端均使用STM32 單片機作為主控芯片,連接所需的各類傳感器和功能模塊來采集監(jiān)控信息,經過WIFI 通信模塊,通過HTTP 協(xié)議上傳數據到OneNet云平臺。系統(tǒng)的軟件部分即虛擬仿真監(jiān)控平臺,從OneNet 云平臺獲取數據并在仿真平臺上形成模擬的牲畜狀態(tài)和環(huán)境數據進行顯示??刂品矫妫瑢τ谄脚_上顯示的實際棚內環(huán)境數值超過合理范圍的情況,可在監(jiān)控平臺進行對應的功能操作,遠程操縱繼電器來開啟棚內換氣、調溫、調濕裝置進行環(huán)境的改善作業(yè)。通過整個系統(tǒng)對牲畜養(yǎng)殖環(huán)境及牲畜個體的全天候實時監(jiān)控,能夠給養(yǎng)殖場的管理人員提供準確的參考信息,為牲畜提供適宜的環(huán)境和健康保障。
圖1 系統(tǒng)總體設計圖
按照系統(tǒng)硬件部分要實現(xiàn)的功能,并考慮成本和推廣因素,結合各種元器件的價格、穩(wěn)定性以及功耗等參數,系統(tǒng)的主控芯片選用STM32F103C8T6 單片機,溫度采集使用DS18B20 溫度傳感器,GPS 位置定位使用UBLOX NEO-6M模塊,計步使用ADXL345 加速度傳感器,以及其他各類環(huán)境監(jiān)測傳感器和繼電器。通過主控芯片內部RTC 時鐘實現(xiàn)實時時鐘讀取,并通過OLED 顯示屏實時顯示當前的各項數據,最終硬件設備通過WIFI-ESP8266 模塊將數據傳輸到云平臺供軟件平臺調用。
STM32F103C8T6 芯片是一款基于Cortex 內核的32 位微控制器,可以外接4-16MHz 外部晶體振蕩器,最高頻率可達72MHz。它需要和其他功能電路組合成最小系統(tǒng)才能實現(xiàn)硬件系統(tǒng)的主要控制功能,系統(tǒng)由STM32F103C8T6 主控芯片作為核心與電源電路、復位電路、時鐘電路、接口調試電路,共5 部分組合而成。
電源電路使用LDO 低壓差線性穩(wěn)壓器將+5V 電壓轉換為STM32 主控芯片與其他電路模塊工作所需的+3.3V 電壓。時鐘電路由1 個8MHz 的晶振和2 個22P 的電容組成晶振電路為主控芯片和其他外設提供系統(tǒng)時鐘。復位電路由電容、電阻和微動開關組成,利用電容充放電的作用,在STM32啟動時由低電平變高使得芯片復位。接口調試電路使用支持引腳少的SWD 仿真模式來下載hex 或bin 文件。
顯示模塊使用輕巧方便、功耗低的0.96 寸IIC 接口的OLED 顯示屏。該模塊共有4 個引腳:GND、VCC、SCL、SDA,使用2 根數據線即可驅動顯示的IIC 接口方式。模塊的SCL與SDA 引腳分別連接STM32 的PB6、PB5 引腳,VCC 連接+3.3V 電源供電。
加速度傳感器使用ADXL345 芯片來實現(xiàn)個體數據監(jiān)測終端的計步功能,它是是集三軸角度測量和三軸加速度為一體的傳感器。ADXL345 共有8 個引腳,電源接+5V,使用SDA 和SCL 兩個引腳連接STM32 的PB10、PB11 引腳來實現(xiàn)與STM32 的串行兩線通信。芯片工作時由G-Cell 傳感器感知X、Y、Z 三個正相交方向上的加速度值,G-Cell 內部經過容壓變換器、濾波器、增益放大器和溫度補償計算后以電壓方式輸出,然后內部芯片讀取模擬量,最后在數字接口輸出的實際數據被STM32 單片機獲取,并在其內部經過數據分析和數據算法轉換為測量牲畜的步數信息。
運動定位功能采用UBLOX NEO-6M 模塊實現(xiàn),該模塊具備全方位功能,性能優(yōu)越、體積小、高性能和低功耗。該模塊共有5 個引腳,使用TXD、RXD 引腳進行串口數據收發(fā),PPS 引腳輸出可調節(jié)的脈沖信號。模塊通過串口及USB 接口向單片機系統(tǒng)輸出GPS 定位信息,NEO-6M 模塊接收到的數據則保存在EEPROM 中。
個體數據監(jiān)測終端的溫度測量使用DS18B20 溫度傳感器,共有3 個引腳,以“單總線”的方式驅動,即DATA 引腳既作為輸出也作為輸入,與STM32 的PA7 腳連接。棚內環(huán)境監(jiān)測終端的溫濕度監(jiān)測使用SHT21 傳感器,其配有電容式相對濕度傳感器、能隙溫度傳感器、放大器、A/D 轉換器、OTP內存和數字處理單元。共有6 個引腳,主要使用SDA 引腳與STM32 的PA8 引腳連接進行雙向串行數據收發(fā),SCL 連接串行時鐘用來進行通信同步。
WIFI 通信功能使用ESP2866 模塊,是一款低功耗的UART-WIFI 透傳模塊,具有TCP 連接功能,可將系統(tǒng)終端設備連接到WIFI 無線網絡上進行通信,從而實現(xiàn)聯(lián)網功能[2]。ESP8266 共有8 個引腳,其中CH_PD 引腳高電平為工作模式,此引腳接阻值為10KΩ 的上拉電阻至+3.3V 電源,數據發(fā)送引腳TXD 與接收引腳RXD 分別連接至STM32 單片機的PA3、PA2 引腳進行數據收發(fā)。
個體數據監(jiān)測終端樣例如圖2 所示,以STM32 單片機最小系統(tǒng)為核心,連接溫度傳感器DS18B20、加速度傳感器ADXL345、GPS 定位模塊UBLOX NEO-6M、OLED 顯示屏組成。將終端安放于牲畜脖頸處,用于監(jiān)測該牲畜的體溫、當天運動步數,記錄其在牧場的運動軌跡和位置。終端根據設備ID 識別判斷不同的牲畜個體,將其體溫和步數信息發(fā)送到仿真軟件端并顯示在軟件中模擬的牲畜運動場景里。系統(tǒng)管理員根據體溫數值、單位時間內的步數和運動軌跡來判斷牲畜的健康狀況并進行相應的干預。個體數據監(jiān)測終端作為牲畜的健康狀況監(jiān)測設備實現(xiàn)了對牲畜的精準化管理,保障了牲畜的個體健康。
圖2 個體數據監(jiān)測終端
棚內環(huán)境監(jiān)測終端用于牲畜集中飼養(yǎng)棚內的環(huán)境檢測,主要由STM32 單片機最小系統(tǒng)、溫濕度傳感器SHT21、各類氣體檢測傳感器和繼電器組成。終端安置于現(xiàn)實場景的飼養(yǎng)棚內墻壁上,監(jiān)測棚內的溫度、濕度和各類氣體濃度數值并通過WIFI 傳送至云平臺最終模擬顯示在軟件端。由于溫度、濕度和有害氣體濃度的高低均會影響牲畜的健康和產肉效率,當終端監(jiān)測的各種環(huán)境數據值超過系統(tǒng)預設的合理范圍,將控制與其相連的繼電器進行相應的開閉操作。繼電器又與升降溫設備、加濕設備、換氣設備的電源部分相連用于開啟或者關閉這些設備,達到調節(jié)棚內牲畜生長環(huán)境的目的。
兩類終端的工作邏輯均依靠其上的STM32 控制芯片進行控制,STM32 片內內的控制程序采用移植性高且易讀的C語言編寫。為實現(xiàn)終端的功能需求,個體數據監(jiān)測終端的系統(tǒng)運行流程如圖3 所示,與棚內環(huán)境監(jiān)測終端的系統(tǒng)運行流程相近。
圖3 個體數據監(jiān)測終端系統(tǒng)流程圖
首先進行系統(tǒng)初始化,然后進入主程序循環(huán)。其中系統(tǒng)初始化工作包括FLASH 模擬EEPROM 數據讀取、加速度傳感器ADXL345 初始化、RTC 時鐘初始化、OLED 屏初始化配置、串口初始化配置。主程序循環(huán)系統(tǒng)中主要讀取RTC 實時時鐘,監(jiān)測溫度傳感器DS18B20 和GPS 定位的數據。加速度傳感器實現(xiàn)數據的讀取及算法計步,并保存步數到FLASH中。同時鍵盤子程序進行實時掃描,檢測到切換鍵按下時,屏幕會切換顯示,且在主界面下將按鍵同時按下會觸發(fā)清除步數操作。通過內部定時器定時,當設置的5 秒定時到后,通過WIFI 模塊發(fā)送一次數據到云平臺。在RTC 實時時鐘的作用下,當時間達到凌晨時,會自動清零步數并重新開始新一天的計步。
為了更加直觀的展現(xiàn)和模擬飼養(yǎng)棚內的環(huán)境,生動的模擬牲畜個體和其監(jiān)測狀態(tài),利用3DS MAX 和VRP 設計虛擬牧場作為牲畜智能遠程監(jiān)測系統(tǒng)的軟件端。將虛擬現(xiàn)實和物聯(lián)網技術應用在牧場的數字化建設,實現(xiàn)牧場的三維可視化監(jiān)測,使用戶“置身其中”的訪問牧場,并“沉浸式”直觀的了解牧場的布局、環(huán)境數據和牲畜的實時樣態(tài)[3]。
虛擬場景的創(chuàng)建主要有牧場遠景、棚內場景和戶外場景三部分,根據牧場的地理信息、建筑、道路、植被等素材進行三維建模。建模后進行烘焙,并利用3DS MAX-VRP 插件導入VRP 內進行設計與數據處理。[4]監(jiān)測數據獲取方面,根據云平臺提供開放的API 接口,通過調用和處理轉換后,根據系統(tǒng)的個性化需求搭建上層應用,將數據展現(xiàn)在幾個虛擬場景內并進行交互操作。
牧場遠景可通過鼠標、鍵盤自由的對三維場景進行360°的瀏覽,了解牧場的周邊地形、自然環(huán)境和內部大體布局、建筑分布。棚內場景通過旋轉瀏覽可查看棚內模擬牲畜個體和數量,以及棚內側壁顯示的實時溫濕度和各種氣體濃度,并通過虛擬按鍵開啟棚內的各類溫濕度、氣體濃度調節(jié)設備進行遠程控制。戶外場景可用來選擇觀測某個牲畜的位置、運動情況和體溫,具體如圖4 所示。通過虛擬仿真技術在模擬牧場戶外的場景中顯示某奶牛正在通過通道入棚,在左側可以看到其體溫、運動步數、GPS 信號強弱,以及右下角顯示在地圖中的定位位置。
圖4 虛擬仿真界面
綜上所述,本文將物聯(lián)網技術與虛擬仿真技術相結合,設計了一套以STM32 單片機為控制核心的智能牲畜狀態(tài)監(jiān)控系統(tǒng)。以提高養(yǎng)殖企業(yè)收益,保障牲畜健康為目的,為企業(yè)提供了更加便利的管理方式[5]。該系統(tǒng)具有安全可靠、功耗低、靈活性強的特點,有效減少了牲畜飼喂管理過程中的人力消耗,促進了畜牧企業(yè)的信息化建設。