于群 張鳳航 王秀麗 周筑南



摘要:為了解決因禽舍網絡環境差而引起的監控問題,在禽舍監控數據分析的基礎上,設計并研發了一種可伸縮的、高可用的、自動化調節的禽舍監控調節系統,并提供歷史監控數據的標準接口設計。該系統解決了生產環境中傳統無線實時監控服務可用程度差、監控站點伸縮困難、調控過分依賴于人工等問題,測試結果證實了系統設計是可行的,實現了自動化、高質量、集約化養殖的目的。
關鍵詞:禽舍監控;服務發現;一致性;高可用;自動化調節
中圖分類號:S818.9? ? ? ? ?文獻標識碼:A
文章編號:0439-8114(2020)14-0162-04
DOI:10.14088/j.cnki.issn0439-8114.2020.14.034 開放科學(資源服務)標識碼(OSID):
Abstract:In order to improve the monitoring problem caused by the poor network environment of the poultry house, a scalable, highly available, automatically adjusted poultry house monitoring and adjustment system was designed and developed based on the analysis of the poultry house monitoring data. The standard interface design of historical monitoring data solved the problem that the traditional wireless real-time monitoring service in the production environment was poorly usable, the monitoring station was difficult to expand, and the regulation was too dependent on labor. The test results confirmed that the system design was feasible and realizes the purpose of automation,high quality and intensive farming.
Key words: poultry house monitoring; service discovery; high availability; consistency; automatic adjustment
畜禽舍環境監控系統的研究始于20世紀70 年代,最先發起的是荷蘭、美國和日本[1]。而以色列環境控制系統是現階段國際比較典型的代表性產品,可監測溫度、濕度、風速、風向、光照、CO2、降雨量等參數[2,3]。國內學者也對禽舍環境進行了大量研究,認為畜禽疫病的暴發和傳播與畜禽養殖環境的不斷惡化關系密切。
由于禽舍網絡環境較差、傳統監控網站的技術局限性等原因,導致傳統的監控系統穩定性較差、監控站點伸縮困難、調節過分依賴于人工等亟待解決的問題。本研究通過合理的架構方案解決網絡傳輸不穩定時監測數據及控制指令傳輸不穩定的問題。該方案借鑒互聯網應用中微服務[4,5]架構思路,解決監控站點的可用性和伸縮性問題,并通過類狀態機實現下位機監控時的自適應性調節。通過在生產環境中的測試,證明了系統切實解決了以上問題,為家禽的科學管理提供輔助決策支持。
1 傳統無線禽舍監控方案
王冉等[6]設計了基于無線傳感網絡的畜舍環境監控系統;高中霞等[7]基于無線傳感器網絡技術對禽舍內進行環境因素的監測;張書濤等[8]進行了分布式無線禽舍環境監控系統設計;孫凱等[9]進行應用于移動終端的禽舍環境監控系統的設計與實現。在這些傳統的禽舍環境控制系統的設計系統中,系統結構大體為3個部分:下位機監控分站、上位機監控中心及Android平臺客戶端(web前端),傳統系統結構如圖1所示。這種架構模式存在下位機出現故障排查較為困難、調節機制仍然依賴于人工調節、網絡出現問題時調節系統癱瘓、更換下位機監控分站時需要重新設置或研發上位機控制中心等問題。
2 改進后系統架構方案
考慮實際中禽舍網絡環境較差等原因,系統采用普通計算機提供基礎的監控及調節服務的離線上位機控制中心,借鑒有限狀態機的設計模式,實現網絡掉線后的自適應調節。改進后的系統服務器端分為3層:在線上位機監控系統、離線上位機控制中心和下位機監控分站。
在線上位機監控中心可以一次性完成多個離線上位機的控制,尤其適用于較大的集約化大型養殖禽舍群的管理,可以根據實際情況伸縮目標離線上位機的控制,減少不必要的運維工作。系統將軟件及硬件分離管理,下位機更換傳感器或者增加檢測項目時,可以自動發現對應監控項,減小監控邏輯與硬件之間的耦合度。并且系統提供多個訪問接口,包括安卓移動客戶端、網頁端、其他監控數據分析端,完成標準的監測及調控系統。改進后的系統結構如圖2所示。
下位機物聯網感知終端實時采集現場環境因子,包括空氣溫濕度、光照度、風速、CO、CO2、NH3、粉塵濃度等。信號由485信號轉換板處理轉換成數字信號,由微處理器進行分析決策,同時數據由物聯網傳輸終端上傳至上位機監控中心,上位機監控中心負責處理數據,并調度下位機的工作,從而調控禽舍環境處于一個動態平衡的狀態,使動物生長處于最佳狀態,合理優化資源。
3 改進后系統的設計與實現
3.1 在線上位機設計
在線上位機分為3層,包括邏輯控制層、數據存儲層和狀態機管理層(圖3)。其中,邏輯控制層主要提供實時監測服務,包括監控數據的可視化呈現、狀態機的運作狀態呈現、狀態機具體的監測數據呈現;并為用戶直接調控具體下位機、調節狀態機參數提供了訪問接口,對需求監控數據的用戶提供標準的數據提取接口。不同場景的數據使用方式不同,系統內部提供面向監測大數據存儲的HBase數據庫、面向實時調控命令及狀態機標準存儲的Redis數據庫和常規監控系統所需信息的MySQL,充分發揮各項數據庫的優點,以提供穩定高效的數據存儲方案。狀態機層負責監控和調節下位機實時狀態。
3.2 離線上位機控制中心設計
離線上位機控制中心結構如圖4所示,離線上位機中狀態機保證了基礎的調控服務并能在網絡故障時仍能做出監測及調節動作。若無在線上位機的調節指令時,可根據下位機反饋的實時狀態及參數來判斷監控參數是否在正常范圍內,以此提供對于下位機操作的操控。狀態機的優先級低于在線上位機的指令,控制中心使用Redis工具存儲臨時數據,專門針對狀態機狀態進行保存,并對監控數據進行批量保存。
3.3 下位機監控分站設計
下位機硬件模塊以信息處理控制模塊為核心,通過信息感知模塊采集禽舍環境信息,同時將傳感器的數據傳送給信息處理控制模塊,信息處理控制模塊通過人機交互模塊獲取的相關數據及參數并同時自動控制整個禽舍設備的開關,數據通過GPRS傳輸模塊經移動互聯網絡上傳至上位機軟件系統[10]。下位機監控分站結構如圖5所示。
1)微處理器模塊以MSP430F5438A為主要核心微控制器。MSP430系列單片機采用了RISC結構,具有超低功耗[11]、高性能模擬技術及豐富的片上外圍模塊,引腳數量多達100個,作為該系統的主控芯片非常合適。
2)選用兩或三線制4~20 mA電流型傳感器。具有較高精度,便于輸出采集的信號和減小信號的失真。空氣溫濕度傳感器采用KM-KWS,光照度傳感器采用NHZD10,風速傳感器采用NHFS45AI,CO2、NH3、CO、PM2.5濃度檢測分別采用NH162型二氧化碳傳感器、AQ63型氨氣傳感器、SM2130M一氧化碳傳感器和NH179系列PM2.5傳感器作為有害氣體濃度測量器件。
3)系統傳輸層主要采用GPRS通信模塊。以H7210D GPRS DTU移動通信模塊作為物聯網傳輸層的主要器件,并對其進行二次開發,該模塊采用分組交換技術,不僅適用于間斷的、突發性的和頻繁的、少量的數據傳輸,也適用于偶爾的大量數據傳輸。
3.4 禽舍監控服務發現設計
在采用上述的架構之后,每個禽舍可離線的上位機控制監控站點及下位機監控分站分別作為基礎服務,在服務項增加或減少、故障、升級時簡單配置即可,減少了監控系統的運維成本。該系統設計方案采用的是客戶端(在線上位機)服務發現方式[12]。
當使用客戶端服務發現模式時,客戶端通過查詢服務注冊中心,對應請求路由給具體可離線下位機。其中,服務注冊中心是一個具體的可用服務實例的數據庫,服務實例的注冊通常使用心跳機制定期刷新[13]。該系統中服務的注冊模式為自我注冊模式,服務實例自己負責從服務中心注冊和撤銷。
3.5 一致性控制方案設計
下位機中需要保證各個調節模塊執行的一致性控制[14],但一致性要求無須達到強一致性。在實際禽舍監控及調節場景中只需要達到最終的調節效果,保證調節措施的最終正確執行即可,所以只需要完成最終一致即可。
最終一致性[15,16]借助消息隊列處理調節命令時發送指令消息,確保消息發送成功。如果發送且處理成功則結束,如果處理失敗,返回對應的處理狀態,同時開啟命令的補償機制。采用的補償機制按照預設的定時標準進行命令重試,如果多次未成功則向在線上位機反饋對應故障信息。
4 系統測試與分析
4.1 試驗環境
于山東農業大學動物科學學院肉雞養殖基地進行測試,試驗設有2個禽舍,每個禽舍包括4個下位機監控分站和2臺普通計算機組成的可離線上位機控制中心監控分站,監控項主要包括溫度、濕度、光照度、風速、CO2、NH3、CO、PM2.5濃度等參數。主要針對下位機監控分站的運行狀況、傳感器運行狀況、執行設備控制情況和物聯網傳輸終端的傳輸能力等進行測試。
4.2 功能測試
在部署完成后首先進行常規的功能測試,圖6為安卓移動終端監控信息及控制界面,各項監控項及控制項運行情況正常。
如表1所示,記錄了禽舍空氣溫度環境與調控執行設備信息的變化。表1中早晨空氣溫度較低時,禽舍內實際溫度值低于設定溫度,此時暖風機工作,對室內進行溫度調控,溫度增加,在溫度上升至設定變化區間內,暖風機并沒有立即關閉,通過系統自適應算法的調節可以繼續運行一段時間,隨著溫度升高,暖風機關閉。中午12點左右,室外溫度升高超過閾值,降溫風機打開,降低室內溫度,使溫度基本維持在最高閾值。測試是基于單個執行設備的性能調控測試,所以并沒有打開濕簾、加濕器等降溫設施,但在實際控溫系統執行過程中,當溫度一直不能下降至適宜溫度時,系統還設定了二次降溫裝置,以應對高溫天氣。
4.3 可用性測試
在功能測試后,切斷兩臺可離線上位機與在線上位機的連接并且關閉一臺機器,人工方式給禽舍產生氣溫變化。當天19:00重連可離線上位機與在線上位機,上位機得到網絡中斷后的可離線上位機的重傳數據(圖7)。
由圖7可以看出,在8:00整及12:00整分別將一個禽舍溫度上升至34 ℃,另一個禽舍溫度降低至27 ℃,1 h內氣溫恢復正常(圖中的采樣數據時間間隔為1 h),說明在切斷網絡連接后,可離線的下位機仍然能夠保證系統的正常自適應調節,并且恢復網絡連接之后過程中的監測數據成功重傳至在線上位機監控中心。
5 結論
本研究以傳統的禽舍監控系統為基礎,引入狀態機及及微服務架構思想,實現一種高可用的自適應調節的禽舍監控系統,并對該系統的功能進行測試,模擬了生產環境中可能存在的網絡及機器故障等問題,表明該系統切實可行,具有一定的實用性及創新性。
參考文獻:
[1] 從 希,胡曉麗,袁弘印. 國內外畜禽舍環境監控系統研究現狀[J]. 農業與技術, 2012(32):106-107.
[2] 張瑞華. 溫室環境自動監控[J]. 計算機與農業,2002(2):8-10.
[3] 鐘 翔,李 剛,徐生林,等. 雞舍環境因子對蛋雞健康和生長的影響[J]. 畜牧與獸醫,2013(3):102-103.
[4] JOHANNES T. Microservices, IEEE Software.IEEE.Volume:32,Issue:1, Jan. -Feb.2015:1-116.
[5] SRIKANTA P,BENJAMIN T,PIYUSH H,et al. CYCLOPS: A micro service based approach for dynamic rating, charging & billing for cloud[A]. 13th International Conference on Telecommunications (ConTEL)[C]. 2015.
[6] 王 冉,徐本崇,魏瑞成,等. 基于無線傳感網絡的畜禽舍環境監控系統的設計與實現[J]. 江蘇農業學報,2010,26(3):562-566.
[7] 高中霞,朱風武,涂川川,等. 基于無線傳感器網絡(wSN)的禽舍環境監測系統[J].? 農機化研究,2012,5(5):139-142.
[8] 張書濤,吳孜越. 分布式無線禽舍環境監控系統設計[J]. 中國家禽,2014,36(9):50-52.
[9] 孫 凱,柳平增,李慧敏,等. 應用于移動終端的禽舍環境監控系統的設計與實現[J]. 山東農業科學,2014,46(11):15-17.
[10] 劉艷昌,左現剛,李武舉,等. 基于FPGA的雞舍環境監控系統設計[J]. 中國農機化學報,2016,37(4):91-95,99.
[11] 沈建華,楊艷琴. MSP430系列16超低功耗單片機原理與實踐[M]. 北京:北京航空航天大學出版社,2008.
[12] 蔣 勇. 基于微服務架構的基礎設施設計[J]. 軟件,2016,37(5):93-97.
[13] 黃 靜,牛 鴿. 基于心跳機制的農業物聯網數據采集系統設計[J]. 傳感器與微系統,2016,35(9):95-97.
[14] MAHAJAN P, SETTY S, LEE S, et al. Depot: Cloud storage with minimal trust[A]. In: Proc. of the9th Conf. on Symp. on Operation Systems Design and Implementation[C]. Berkley: USENIX Association, 2010. 307-322.
[15] SERAFINI M,DOBRE D,MAJUNTKE M,et al. Eventually linearizable shared objects[A]. In:Proc. of the 29th ACM SIGACT-SIGOPS Symp. on Principes of Distributed Computing(PODC)[C]. New York: ACM, 2010.95-104.
[16] NICHOLAS P. A micro services architecture for use by microcontroller driven devices to provide interoperability with the open lean services architecture[A].? SPIE 9464, Ground/Air Multisensor Interoperability,Integration,and Networking for Persistent ISR VI, 2015.