基于物聯(lián)網(wǎng)的液態(tài)飼喂遠程監(jiān)控系統(tǒng)
掃描二維碼
隨時隨地手機看文章
引 言
隨著我國養(yǎng)豬行業(yè)向工廠化、集約化生產(chǎn)模式的快速轉(zhuǎn)變,我國傳統(tǒng)農(nóng)戶采用的干飼料飼喂模式已經(jīng)不適合現(xiàn)代化養(yǎng)豬行業(yè)。目前,丹麥、德國等國家約有 30% 的養(yǎng)殖場已經(jīng)開始采用液態(tài)料飼喂模式來養(yǎng)豬,由于豬對液態(tài)料的采食量大且營養(yǎng)吸收好,未來液態(tài)飼喂模式將成為全球養(yǎng)豬行業(yè)的主流飼喂方式 [1]。液態(tài)料線飼喂系統(tǒng)通過計算機控制設(shè)備將固體料或液體料按照配方自動配料并攪拌均勻,再按照飼喂曲線精準(zhǔn)控制每一頭豬的飼喂量。系統(tǒng)自動化程度高,降低了勞動成本,且液態(tài)料采用管道運輸,降低了豬舍內(nèi)的粉塵含量和飼料的浪費 [2-3]。
目前,液態(tài)飼喂系統(tǒng)研究已經(jīng)有了突破性進展。高巖 [4] 等深入分析了液態(tài)飼喂系統(tǒng)在生產(chǎn)中的優(yōu)勢并對液態(tài)飼喂系統(tǒng)設(shè)計和工作原理做了深入分析。徐峰 [5] 等設(shè)計了基于Profibus 總線的全自動液體飼喂系統(tǒng),通過 PLC 分散控制系統(tǒng)實現(xiàn)液態(tài)飼喂的精準(zhǔn)控制。但這些系統(tǒng)都是直接架設(shè)在豬場本地,受地理位置限制較大,因此本文在前人研究的基礎(chǔ)上,提出了一種基于物聯(lián)網(wǎng)技術(shù)的液態(tài)料飼喂遠程監(jiān)控系統(tǒng)。系統(tǒng)將物聯(lián)網(wǎng)相關(guān)技術(shù)與液態(tài)飼喂系統(tǒng)相結(jié)合 [6-8],突破了液態(tài)飼喂系統(tǒng)受豬舍位置的限制,用戶可以通過網(wǎng)絡(luò)實現(xiàn)對飼喂現(xiàn)場的實時監(jiān)測和精準(zhǔn)化、智能化調(diào)控。
1 系統(tǒng)總體設(shè)計方案
本系統(tǒng)按照功能可分為現(xiàn)場控制系統(tǒng)、數(shù)據(jù)平臺系統(tǒng)和用戶交互平臺系統(tǒng) [9-11]。系統(tǒng)的總體設(shè)計框圖如圖 1 所示?,F(xiàn)場控制系統(tǒng)主要實現(xiàn)對飼喂流程的自動化控制以及飼喂數(shù)據(jù)的采集和上傳,采用 PLC 控制器作為核心控制系統(tǒng),其附加的 ARM Cortex-M3 嵌入式數(shù)據(jù)采集終端通過 RS 232 串口按照 Modbus 協(xié)議與 PLC 通信,采集 PLC 上的飼喂數(shù)據(jù), 再通過 GPRS 無線網(wǎng)絡(luò)連接到數(shù)據(jù)平臺系統(tǒng),將數(shù)據(jù)上傳至服務(wù)器并從服務(wù)器中接收控制指令。
圖 1 系統(tǒng)整體設(shè)計方案
數(shù)據(jù)平臺系統(tǒng)作為物聯(lián)網(wǎng)系統(tǒng)的核心,其主要功能包括終端接入、數(shù)據(jù)解析處理、將核心數(shù)據(jù)存儲到數(shù)據(jù)庫、控制流處理以及數(shù)據(jù)服務(wù)接口的提供。用戶交互平臺系統(tǒng)允許用戶通過瀏覽器或者手機 APP 來監(jiān)控現(xiàn)場設(shè)備的運行狀態(tài)以及查詢分析歷史飼喂數(shù)據(jù)。
2 方法及實現(xiàn)
2.1 現(xiàn)場控制系統(tǒng)的設(shè)計
2.1.1 基于 PLC 的現(xiàn)場飼喂控制模塊
PLC 是一種可編程控制器,具有可靠性強、抗干擾能力強、便于安裝和拓展的特點,非常適合豬場復(fù)雜的分布格局和惡劣的環(huán)境 [12-13]。液態(tài)飼喂流程分為加水、加料、攪拌、充管、分送、清管、洗灌、回槽、噴淋、返水共 10 個步驟,其可操作運行界面如圖 2 所示。
圖 2 控制系統(tǒng)可操作運行界面圖
設(shè)備的控制模式分為手動控制和自動控制兩種,默認采用自動控制模式,適合無人監(jiān)控的環(huán)境。而手動控制模式下方便管理人員或?qū)<彝ㄟ^ Web 頁面監(jiān)控現(xiàn)場,并依據(jù)專家經(jīng)驗對不同豬舍的個性化要求進行調(diào)控,設(shè)備維護人員也可以通過該模式遠程調(diào)試設(shè)備,排查故障發(fā)生的原因,降低設(shè)備的維護成本。
2.1.2 基于 ARMCortext-M3 的數(shù)據(jù)采集終端
STM32 單片機是 ST 公司在業(yè)界最先推出的基于 ARM Cortex-M3 內(nèi)核的,專為高性能、低功耗、低成本嵌入式應(yīng)用設(shè)計的 32 bit 微控制產(chǎn)品 [14-15]。其內(nèi)部集成多路 USART 控制器、PWM 控制器、SPI 控制器、CAN 控制器、DMA 控制器、USB 控制器、以太網(wǎng)控制器等,有利于簡化控制系統(tǒng)外圍電路設(shè)計,可靠性更高。采集終端以 STM32 微處理器作為控制單元,外部集成了 GPS/BD 定位模塊、GPRS 通信模塊以及RS 232,RS 485 串口通信模塊。終端工作流程如圖 3 所示。
采集終端在完成初始化并連接到數(shù)據(jù)處理服務(wù)器后,開始采集數(shù)據(jù)及監(jiān)聽服務(wù)器發(fā)來的控制指令。對于需要實時監(jiān)測的數(shù)據(jù)則及時上傳,每隔 6 s 進行一次數(shù)據(jù)讀取與上傳, 需要實時上傳的數(shù)據(jù)包括設(shè)備報警信息、設(shè)備各閥門的開關(guān)狀態(tài)、設(shè)備內(nèi)各系統(tǒng)的運行狀態(tài)。當(dāng)天的飼喂量、給水量、配方和飼喂曲線數(shù)據(jù)在每天 11 :30 飼喂結(jié)束后一次性采集上傳。控制指令分為修改參數(shù)指令和開關(guān)控制指令,修改參數(shù)需要修改 PLC 控制器內(nèi)對應(yīng)內(nèi)存地址的數(shù)據(jù),開關(guān)控制指令則需要將 PLC 對應(yīng)開關(guān)的內(nèi)存從 0 置為 1 或從 1 置為 0 來產(chǎn)生脈沖,控制繼電器打開或關(guān)閉對應(yīng)閥門。
2.2 數(shù)據(jù)平臺系統(tǒng)的設(shè)計
數(shù)據(jù)平臺系統(tǒng)分為基于 Socket 的網(wǎng)絡(luò)通信模塊、數(shù)據(jù)解析處理模塊、控制指令和數(shù)據(jù)請求處理模塊。系統(tǒng)內(nèi)部設(shè)計如圖 4 所示。
圖 4 數(shù)據(jù)處理系統(tǒng)架構(gòu)圖
2.2.1 基于 Socket 的網(wǎng)絡(luò)通信模塊設(shè)計
該模塊借鑒新浪 FastSocket 開源通信框架,在模塊內(nèi)部實現(xiàn)了一個動態(tài)連接庫 libfsocket.so 來攔截 socket,bind,listen 等并進行處理,實現(xiàn)了多進程擁有多個 accept 隊列的模式, 適用于系統(tǒng)自身 TCP 短連接較多的情況。當(dāng)通信模塊監(jiān)聽到終端連接時會通過終端的Token 編號來校驗終端的合法性, 如果合法則將該連接維護到連接列表中并開始接收終端上傳的數(shù)據(jù),再將接收的數(shù)據(jù)傳入數(shù)據(jù)解析處理模塊進行處理。
2.2.2 數(shù)據(jù)解析處理模塊
終端數(shù)據(jù)格式如圖 5 所示。數(shù)據(jù)分為 Header(數(shù)據(jù)頭) 和 Data(數(shù)據(jù)區(qū))兩部分。Header 包含了本條數(shù)據(jù)的標(biāo)識信息,其中終端編號作為終端唯一標(biāo)識,mType 標(biāo)識出本條數(shù)據(jù)的類型,crcCheck 是將數(shù)據(jù)區(qū)按照 CRC 校驗算法(Cyclic Redundancy Check,CRC)產(chǎn)生的 CRC 校驗碼,CRC 是數(shù)據(jù)通信領(lǐng)域中一種常用的查錯校驗碼,用來保證數(shù)據(jù)的完整性和正確性 [16]。Data 則包含了數(shù)據(jù)的具體內(nèi)容。
數(shù)據(jù)解析完成后將根據(jù)數(shù)據(jù)類型的不同將歷史數(shù)據(jù)存入數(shù)據(jù)庫,實時數(shù)據(jù)存入系統(tǒng)內(nèi)存中方便調(diào)用,控制結(jié)果數(shù)據(jù)直接交由控制指令處理模塊處理。
圖 5 終端數(shù)據(jù)結(jié)構(gòu)圖
2019年 / 第5期 物聯(lián)網(wǎng)技術(shù) 103
2.2.3 控制指令和數(shù)據(jù)請求處理模塊
該模塊主要負責(zé)處理用戶在對設(shè)備進行監(jiān)控時發(fā)送到服務(wù)器的實時數(shù)據(jù)請求和控制指令,考慮到這些需求對實時性要求比較高,處理模塊與用戶端之間采用 WebSocket 通信協(xié)議。WebSocket 協(xié)議在瀏覽器與服務(wù)器“握手”成功后允許服務(wù)器向瀏覽器推送數(shù)據(jù),實現(xiàn)二者的雙工通信,與傳統(tǒng)的長連接和多輪詢方式相比效率更高、實時性更好 [17-18]。模塊處理流程如圖 6 所示。
服務(wù)器啟動后根據(jù)配置文件開始監(jiān)聽指定端口的用戶請求,如果是請求設(shè)備實時數(shù)據(jù),則直接從服務(wù)器內(nèi)存讀取對應(yīng)的數(shù)據(jù)并返回給該用戶。如果是控制指令則交給設(shè)備連接模塊,連接模塊從其維護的所有設(shè)備連接中找到對應(yīng)設(shè)備并發(fā)送該控制指令。模塊內(nèi)部設(shè)有超時機制,如果設(shè)備長時間未回復(fù)執(zhí)行結(jié)果則重新發(fā)送控制指令,如果重復(fù)次數(shù)超過最大次數(shù)則回復(fù)用戶設(shè)備執(zhí)行指令超時并記錄到系統(tǒng)日志中。
3 應(yīng)用效果及討論
3.1 用戶交互平臺系統(tǒng)
用戶交互平臺系統(tǒng)主要包括 PC 端和 APP 端兩部分。PC端包含了平臺全部功能,適合工作人員遠程監(jiān)控管理所有豬場。APP 端得益于移動終端便于攜帶的特點,適合操作人員在現(xiàn)場作業(yè)時使用移動終端操作飼喂設(shè)備。PC 端系統(tǒng)界面如圖 7 所示。
PC 端核心業(yè)務(wù)包括設(shè)備運行狀態(tài)的實時監(jiān)控、所有下料口飼喂量調(diào)整、各階段豬的飼喂曲線的調(diào)整、不同豬舍飼喂配方的調(diào)整、設(shè)備報警信息統(tǒng)計以及設(shè)備飼喂量的統(tǒng)計 [19-20]。Browser 端采用目前流行的 HTML5,CSS3 技術(shù)和流式布局技術(shù),能夠自動適應(yīng) PC,Pad,手機等顯示器的大小,方便用戶使用。
3.2 遠程手動控制實驗
本文以登封一豬場作為實驗地點,該豬場的面積約為720 m2,共 5 棟豬舍,約 100 個下料口,1 200 頭豬?,F(xiàn)場設(shè)備部署完成后,試驗了在手動控制模式下,通過無線遠程方式來控制設(shè)備的運行。
試驗方法 :使用一臺電腦的瀏覽器登錄液態(tài)料線監(jiān)測平臺,通過點擊實際運行中最常用的點控按鈕來控制設(shè)備運行。實驗完成后,在數(shù)據(jù)平臺系統(tǒng)的后臺輸出界面輸出信息,如圖 8 所示。本次測試共點擊了 10 次點控按鈕,從輸出信息可以看出,在現(xiàn)場網(wǎng)絡(luò)信號良好的情況下,從控制指令發(fā)出到設(shè)備回復(fù)用時均可控制在 2 s 以內(nèi),且指令都能夠成功執(zhí)行??梢?,瀏覽器、數(shù)據(jù)服務(wù)器、采集終端、PLC 控制器、飼喂設(shè)備的控制鏈可靠性強且實時性好,達到了預(yù)期效果。
4 結(jié) 語
本文簡要介紹了基于物聯(lián)網(wǎng)技術(shù)的液態(tài)料飼喂遠程監(jiān)控系統(tǒng)的設(shè)計方法和系統(tǒng)開發(fā)的主要流程,然后檢測實際應(yīng)用效果。通過研究和應(yīng)用表明,該系統(tǒng)通過使用物聯(lián)網(wǎng)技術(shù),實現(xiàn)了飼喂設(shè)備與嵌入式采集終端之間、終端與數(shù)據(jù)服務(wù)器之間、服務(wù)器與用戶之間的信息交換和通信,實現(xiàn)了豬舍液態(tài)飼喂的自動化、飼喂信息的精準(zhǔn)調(diào)控和遠程實時監(jiān)控 [21]。該系統(tǒng)的功能還可以拓展到對豬舍環(huán)境的自動監(jiān)控,實現(xiàn)讓豬舍長期保持最適宜生長環(huán)境的目標(biāo),在農(nóng)牧領(lǐng)域具有很好的應(yīng)用發(fā)展前景。