李文華,高惠芳*,李小龍 (.杭州電子科技大學(xué)電子信息學(xué)院,浙江杭州 3008;.臺州市農(nóng)場管理站,浙江臺州 37700)
?
基于物聯(lián)網(wǎng)的豬舍環(huán)境參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng)設(shè)計
李文華1,高惠芳1*,李小龍2(1.杭州電子科技大學(xué)電子信息學(xué)院,浙江杭州 310018;2.臺州市農(nóng)場管理站,浙江臺州 317700)
摘要針對豬舍環(huán)境的要求與監(jiān)控需求,以物聯(lián)網(wǎng)框架為依托,設(shè)計了一種3層結(jié)構(gòu)模型的豬舍環(huán)境參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng)。系統(tǒng)由現(xiàn)場采集控制子系統(tǒng)、遠(yuǎn)程監(jiān)控子系統(tǒng)和數(shù)據(jù)庫3部分構(gòu)成;采用STM32單片機(jī)現(xiàn)場采集環(huán)境參數(shù)和控制設(shè)備,實時將采集數(shù)據(jù)保存到數(shù)據(jù)庫;為提高遠(yuǎn)程監(jiān)控子系統(tǒng)的響應(yīng)速度與交互性,采用JavaScript和Ajax的異步數(shù)據(jù)交互機(jī)制,將采集的數(shù)據(jù)實時地上傳到網(wǎng)頁顯示,控制設(shè)備能夠?qū)崟r地接受下達(dá)的命令。測試結(jié)果表明,系統(tǒng)運(yùn)行穩(wěn)定,數(shù)據(jù)傳輸正確,可對環(huán)境進(jìn)行有效控制,滿足豬舍環(huán)境監(jiān)控的需求。
關(guān)鍵詞豬舍環(huán)境;遠(yuǎn)程監(jiān)控;物聯(lián)網(wǎng)
Design of Remote Monitoring System for Pigsty Environment Parameters Based on the Internet of Things
LI Wen-hua1, GAO Hui-fang1*, LI Xiao-long2
(1. College of Electronic and Information, Hangzhou Dianzi University, Hangzhou, Zhejiang 310018; 2. Taizhou Farm Management Station, Taizhou, Zhejiang 317700)
AbstractAiming at the requirements of monitoring and management of piggery environment, a remote monitoring system of three layer structure model was designed rely on the internet of things. The system was built of data acquisition subsystem, remote monitoring system and database. The collection of local environment parameters and device control was based on STM32, the collected data was uploaded to the database in real-time. In order to improve the response speed and interactive of the remote monitoring subsystem, asynchronous data exchange mechanism using JavaScript and Ajax was adopted, the data were uploaded to the web display in real-time, and control the equipment. The experiment showed that the system can provide stable data communication and effective control, satisfying the monitoring of piggery environment parameter.
Key wordsPiggery environment; Remote monitoring; The internet of things
隨著現(xiàn)代農(nóng)業(yè)和畜牧業(yè)的發(fā)展,也伴隨著生豬養(yǎng)殖規(guī)模的擴(kuò)大和養(yǎng)殖數(shù)量的上升,2014年我國全年生豬出欄量達(dá)到了73 510萬頭,較2013年同比增長2.7%,我國生豬出欄量占世界的51%[1]。豬舍環(huán)境檢測與控制是提高生豬養(yǎng)殖數(shù)量、減少生豬養(yǎng)殖成本的關(guān)鍵技術(shù)。傳統(tǒng)的養(yǎng)殖模式難以精確地對豬舍環(huán)境進(jìn)行監(jiān)控,已經(jīng)不能滿足現(xiàn)代化的養(yǎng)殖需求。
物聯(lián)網(wǎng)是集傳感器、互聯(lián)網(wǎng)和信息處理技術(shù)高度融合的新技術(shù),在農(nóng)業(yè)養(yǎng)殖中有廣泛的應(yīng)用前景,全面感知、穩(wěn)定傳輸和智能應(yīng)用是以物聯(lián)網(wǎng)技術(shù)框架為依托的現(xiàn)代豬舍環(huán)境監(jiān)控系統(tǒng)的3個重要方面[2]。筆者設(shè)計了一種基于物聯(lián)網(wǎng)的豬舍環(huán)境參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng),通過STM32單片機(jī)采集環(huán)境的溫度、濕度、光照強(qiáng)度、二氧化碳濃度、氨氣濃度、硫化氫濃度上傳到網(wǎng)頁顯示,在顯示上述環(huán)境參數(shù)的同時還要能夠進(jìn)行遠(yuǎn)程控制,即能夠通過網(wǎng)頁向下位機(jī)傳達(dá)控制命令。控制分為手動控制和自動控制,手動控制是人為地點(diǎn)擊網(wǎng)頁上的控制按鈕實現(xiàn)對現(xiàn)場設(shè)備的控制,自動控制是通過比較當(dāng)前參數(shù)和設(shè)定參數(shù)的上下限來自動下發(fā)控制命令,歷史數(shù)據(jù)以曲線圖的形式顯示在網(wǎng)頁上。數(shù)據(jù)采樣精度在3%以內(nèi),并且能夠長期保存在數(shù)據(jù)庫。
1系統(tǒng)總體框架
該系統(tǒng)主要由3部分組成,分別為遠(yuǎn)程監(jiān)控子系統(tǒng)、數(shù)據(jù)庫和現(xiàn)場監(jiān)控子系統(tǒng),如圖1所示。現(xiàn)場監(jiān)控子系統(tǒng)采用嵌入式處理器STM32作為主控制器實現(xiàn)對現(xiàn)場參數(shù)的采集、發(fā)送和控制。數(shù)據(jù)庫采用MySQL對數(shù)據(jù)進(jìn)行存儲。遠(yuǎn)程監(jiān)控子系統(tǒng)采用瀏覽器作為系統(tǒng)的終端,采用Apache作為Web服務(wù)器。各系統(tǒng)之間相互獨(dú)立,通過接口函數(shù)實現(xiàn)數(shù)據(jù)的傳輸,相互之間的耦合性較低,具有良好的可擴(kuò)展性,利于后期的升級和維護(hù)。

圖1 基于物聯(lián)網(wǎng)的豬舍環(huán)境參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng)總體框圖Fig.1 General block diagram of piggery environment parameters remote monitoring based on the internet of things
1.1現(xiàn)場監(jiān)控子系統(tǒng)現(xiàn)場監(jiān)控子系統(tǒng)為C/S架構(gòu),下位機(jī)與服務(wù)器通過以太網(wǎng)進(jìn)行通信,考慮到豬舍環(huán)境的特殊性,下位機(jī)通過WiFi把采集到的數(shù)據(jù)發(fā)送到服務(wù)器,服務(wù)器中的后臺軟件接收到下位機(jī)發(fā)送的數(shù)據(jù)后把數(shù)據(jù)寫入數(shù)據(jù)庫保存。當(dāng)服務(wù)器中的后臺軟件接收到Web前端發(fā)送的控制信號時,后臺軟件通過以太網(wǎng)把控制信號發(fā)送給下位機(jī)。下位機(jī)采用STM32單片機(jī)實現(xiàn)對豬舍環(huán)境參數(shù)的采集和控制,STM32單片機(jī)通過外接溫濕度傳感器、光照傳感器、二氧化碳傳感器、氨氣傳感器和硫化氫傳感器采集數(shù)據(jù)。當(dāng)下位機(jī)接收到服務(wù)器發(fā)送來的控制信號時,STM32單片機(jī)根據(jù)控制命令來控制繼電器的開關(guān),以此達(dá)到控制現(xiàn)場設(shè)備(通風(fēng)設(shè)備、加濕設(shè)備、加熱設(shè)備等)的目的。由于現(xiàn)場設(shè)備可能是一些高電壓、強(qiáng)電流的情況,因此STM32處理器和繼電器之間需要加光耦隔離器件,防止大電流的沖擊。下位機(jī)結(jié)構(gòu)框圖見圖2。

圖2 下位機(jī)結(jié)構(gòu)框圖Fig.2 Lower machine structure block diagram
1.2遠(yuǎn)程監(jiān)控子系統(tǒng)遠(yuǎn)程監(jiān)控子系統(tǒng)為B/S架構(gòu),瀏覽器作為系統(tǒng)的顯示界面,Apach作為Web服務(wù)器,前端瀏覽器和后臺服務(wù)器之間通過HTTP協(xié)議進(jìn)行通信,為了實現(xiàn)無刷新的動態(tài)數(shù)據(jù)交互,前端和后臺之間通過異步Ajax技術(shù)實現(xiàn)數(shù)據(jù)的交互,能夠做到無刷新的動態(tài)實時顯示和實時控制[3]。為了實現(xiàn)數(shù)據(jù)傳輸?shù)陌踩裕W(wǎng)頁界面加入了用戶注冊、登錄驗證功能。前端數(shù)據(jù)采用POST方式提交,POST是一種安全的數(shù)據(jù)提交方式,通過作為函數(shù)參數(shù)進(jìn)行發(fā)送,而不是以明文的形式發(fā)送數(shù)據(jù),POST方式提交的數(shù)據(jù)對用戶是不可見的。網(wǎng)頁界面設(shè)計了實時環(huán)境信息查看、環(huán)境參數(shù)設(shè)定和歷史數(shù)據(jù)查詢功能,同時兼容4大主流瀏覽器(IE、Chrome、Firefox和Opera),使遠(yuǎn)離工作現(xiàn)場的管理人員可以方便地查看豬舍環(huán)境參數(shù)和發(fā)送控制信息。
1.3數(shù)據(jù)庫鑒于數(shù)據(jù)量不大和靈活操作的特性,該設(shè)計選用MySQL數(shù)據(jù)庫對數(shù)據(jù)進(jìn)行存儲,數(shù)據(jù)庫中保存了用戶注冊、用戶登錄和用戶驗證的信息,環(huán)境參數(shù)和控制信息采用2個表分開記錄數(shù)據(jù),供用戶進(jìn)行歷史數(shù)據(jù)查詢和分析。可以設(shè)置數(shù)據(jù)的保存時間,數(shù)據(jù)庫能夠自動刪除過期的數(shù)據(jù),不至于浪費(fèi)計算機(jī)的存儲空間。服務(wù)器后臺軟件采用PHP語言對數(shù)據(jù)庫進(jìn)行操作,PHP語言支持標(biāo)準(zhǔn)的SQL語句,可以方便靈活地實現(xiàn)對數(shù)據(jù)的增、刪、改、查等功能。
2系統(tǒng)實現(xiàn)
2.1豬舍環(huán)境參數(shù)實時采集與實時控制該系統(tǒng)的主要目標(biāo)之一是對豬舍環(huán)境參數(shù)的采集和實時控制。對實時性的要求主要有兩方面,一是下位機(jī)STM32通過傳感器采集的數(shù)據(jù)能夠?qū)崟r地顯示在前端網(wǎng)頁上,二是前端網(wǎng)頁的控制信號能夠?qū)崟r的發(fā)送給下位機(jī)STM32實現(xiàn)對現(xiàn)場設(shè)備的控制。因此要求下位機(jī)STM32和服務(wù)器后臺軟件能夠同時實現(xiàn)數(shù)據(jù)的接收和發(fā)送。為了實現(xiàn)這種實時性的要求,STM32單片機(jī)移植uC/OS操作系統(tǒng),uC/OS操作系統(tǒng)是一個可裁剪的實時性操作系統(tǒng)內(nèi)核,通過在uC/OS操作系統(tǒng)上開啟2個任務(wù),一個任務(wù)用于數(shù)據(jù)的采集和發(fā)送,另一個任務(wù)用于數(shù)據(jù)的接收和控制下位機(jī)外接設(shè)備的開關(guān)。由于該系統(tǒng)的對數(shù)據(jù)的采集是一直進(jìn)行的,控制信號的接收只有在達(dá)到一定條件時才會發(fā)生,因此用于數(shù)據(jù)接收和控制任務(wù)的優(yōu)先級高于數(shù)據(jù)采集和發(fā)送任務(wù)的優(yōu)先級。uC/OS操作系統(tǒng)可以實現(xiàn)高優(yōu)先級的任務(wù)打斷正在運(yùn)行的低優(yōu)先級的任務(wù),所以下位機(jī)在實現(xiàn)數(shù)據(jù)采集和發(fā)送的同時還可以接收控制信號實現(xiàn)對現(xiàn)場設(shè)備的控制。下位機(jī)在開啟2個任務(wù)的同時,和下位機(jī)進(jìn)行通信的服務(wù)器后臺軟件需要開啟兩個線程,一個線程用于接收下位機(jī)發(fā)送的數(shù)據(jù)并寫入數(shù)據(jù)庫保存,另一個線程用于向下位機(jī)發(fā)送控制信號。因此發(fā)送數(shù)據(jù)和接收數(shù)據(jù)能夠同時運(yùn)行,滿足整個系統(tǒng)的實時性要求。下位機(jī)程序框圖見圖3。

圖3 下位機(jī)程序框圖Fig.3 Lower machine procedure block diagram
系統(tǒng)中設(shè)備的控制分為手動控制和自動控制,自動控制通過設(shè)定各個參數(shù)的上下限值和當(dāng)前環(huán)境參數(shù)作比較,當(dāng)前環(huán)境參數(shù)不在設(shè)定值的范圍內(nèi)時系統(tǒng)會自動發(fā)送控制信號。手動控制是通過點(diǎn)擊Web網(wǎng)頁上的按鈕實現(xiàn)的。手動控制過程見圖4。網(wǎng)頁上的控制信號寫入數(shù)據(jù)庫,后臺軟件讀取數(shù)據(jù)庫中的控制信號發(fā)送給下位機(jī),但不是采用定時發(fā)送,而是在后臺軟件中加入了判斷控制信號是否變化的行為,讀取到數(shù)據(jù)庫中的控制信號與上一次相比較,如果與上一次相同,說明控制信號沒有發(fā)生變化,不需要發(fā)送控制信號;否則發(fā)送控制信號。這樣做可減小下位機(jī)的CPU開銷。

圖4 手動控制流程Fig.4 Manual control flow
2.2基于Ajax技術(shù)的異步數(shù)據(jù)交互網(wǎng)頁需要在無手動刷新的情況下也要能夠?qū)崟r顯示豬舍環(huán)境中的參數(shù)、控制設(shè)備和歷史數(shù)據(jù)查詢。為了使數(shù)據(jù)能夠?qū)崿F(xiàn)無刷新的動態(tài)交互,該研究采用基于Ajax技術(shù)的異步數(shù)據(jù)交互方式實現(xiàn)數(shù)據(jù)的更新,不但能夠給用戶提供流暢的數(shù)據(jù)交互體驗,而且能夠降低服務(wù)器負(fù)擔(dān),提高網(wǎng)絡(luò)傳輸效率[4-5]。
如圖5所示,遠(yuǎn)程客戶端瀏覽器中通過調(diào)用定時器函數(shù),每隔500 ms調(diào)用一次Ajax引擎,向Web服務(wù)器發(fā)出數(shù)據(jù)更新請求,服務(wù)器查詢數(shù)據(jù)庫中最新的環(huán)境數(shù)據(jù)以JSON格式回傳給前端頁面,從而實現(xiàn)豬舍環(huán)境參數(shù)的實時更新[6-9]。

圖5 Ajax請求過程Fig.5 Ajax request process
Ajax的執(zhí)行分為以下4個步驟:
(1)通過調(diào)用函數(shù)XMLHttpRequest()創(chuàng)建Ajax引擎對象。
(2)通過open()函數(shù)打開請求,請求包括請求的方法、請求的方式和請求的連接地址。
(3)通過send()函數(shù)發(fā)送數(shù)據(jù),當(dāng)?shù)诙街姓埱蠓椒ㄟx擇get時,send()函數(shù)參數(shù)無需填寫,當(dāng)請求方法選擇post時,數(shù)據(jù)作為send()函數(shù)的參數(shù)進(jìn)行發(fā)送。
(4)通過onreadystatechange指定回調(diào)函數(shù),當(dāng)服務(wù)器完成請求之后調(diào)用該屬性指定的函數(shù)。
3系統(tǒng)測試
系統(tǒng)在浙江省臺州市百興畜禽有限公司進(jìn)行測試,檢測的量包括溫濕度、光照強(qiáng)度、二氧化碳濃度、氨氣濃度和硫化氫氣體濃度,要控制的量包括加熱器、加濕器、排風(fēng)扇。通過設(shè)定各個參數(shù)上下限開啟自動控制模式。
圖6是遠(yuǎn)程監(jiān)控子系統(tǒng)的操作界面,包括當(dāng)前環(huán)境參數(shù)、環(huán)境設(shè)定和歷史環(huán)境等內(nèi)容,通過菜單欄可以實現(xiàn)頁面之間的切換,主界面即當(dāng)前環(huán)境界面,歷史數(shù)據(jù)查詢以曲線圖的方式直觀顯示一天中環(huán)境參數(shù)變化趨勢。環(huán)境設(shè)定界面可以設(shè)定各個參數(shù)的上下限值,此值會保存到數(shù)據(jù)庫中,下次打開頁面時會自動讀取。

圖6 環(huán)境監(jiān)控系統(tǒng)主界面Fig.6 Main interface of environment monitoring system
圖7、8是舍內(nèi)外溫度和濕度的變化曲線,從圖中可以看出舍外溫度和濕度晝夜變化較大,在開啟該系統(tǒng)時舍內(nèi)溫度最大為23 ℃,最小為18 ℃,溫度變化最大為5 ℃。舍內(nèi)相對濕度的最大值為64%,最小值為59%,相對濕度變化為5%。溫度和濕度變化均在適宜的范圍內(nèi)。

圖7 豬舍內(nèi)外溫度變化曲線Fig.7 Change curve of indoor and outdoor temperature

圖8 豬舍內(nèi)外濕度變化曲線Fig.8 Change curve of indoor and outdoor humidity
圖9是舍內(nèi)的氨氣和硫化氫氣體濃度,在開啟該系統(tǒng)時舍內(nèi)的氨氣平均濃度7.6 μL/L,硫化氫平均濃度為7.1 μL/L。圖10是舍內(nèi)的二氧化碳濃度,在開啟該系統(tǒng)時二氧化碳平均濃度為385.0 μL/L。上述氣體濃度均在標(biāo)準(zhǔn)范圍內(nèi)。

圖9 豬舍內(nèi)氨氣和硫化氫氣體濃度Fig.9 Indoor and outdoor ammonia and hydrogen sulfide concentration

圖10 豬舍內(nèi)二氧化碳濃度Fig.10 Indoor carbon dioxide concentration
系統(tǒng)在實際的運(yùn)行過程中,各項功能都得到了有效的測試,且運(yùn)行穩(wěn)定,能夠?qū)崟r獲取豬舍的環(huán)境參數(shù)信息,提供靈活有效的監(jiān)控手段。
4結(jié)論
該研究結(jié)合豬舍管理需求,以物聯(lián)網(wǎng)技術(shù)框架為依托,設(shè)計并實現(xiàn)了豬舍環(huán)境參數(shù)遠(yuǎn)程監(jiān)控系統(tǒng),系統(tǒng)由遠(yuǎn)程監(jiān)控子系統(tǒng)、現(xiàn)場采集控制子系統(tǒng)和數(shù)據(jù)庫3部分組成,各部分之間的獨(dú)立性,保證了該系統(tǒng)具有較高的擴(kuò)展性、維護(hù)性和應(yīng)用性。網(wǎng)頁部分采用Ajax異步數(shù)據(jù)交互技術(shù)實現(xiàn)環(huán)境數(shù)據(jù)顯示、歷史數(shù)據(jù)查詢以及設(shè)備控制等功能時,用戶無需刷新,無需等待服務(wù)器的響應(yīng)。根據(jù)豬舍的實際管理需求,設(shè)計了自動控制模式和手動控制模式。自動控制模式只需要設(shè)定好各個參數(shù)的上下限值,系統(tǒng)會根據(jù)當(dāng)前環(huán)境數(shù)據(jù)和設(shè)定值比較來控制設(shè)備的開關(guān),能夠?qū)崿F(xiàn)豬舍環(huán)境參數(shù)的全天候監(jiān)控。
參考文獻(xiàn)
[1] 新農(nóng)網(wǎng).2014年生豬出存欄數(shù)據(jù)變化[EB/OL].(2011-10-04)[2015-12-27].http://www.cajcd.edu.cn/pub/wml.txt/980810-2.html.
[2] 秦琳琳,陸林箭,石春,等.基于物聯(lián)網(wǎng)的溫室智能監(jiān)控系統(tǒng)設(shè)計[J].農(nóng)業(yè)機(jī)械學(xué)報,2015,46(9):261-266.
[3] 孫忠富,曹洪太,李洪亮.基于GPRS和WEB的溫室環(huán)境信息采集系統(tǒng)的實現(xiàn)[J].農(nóng)業(yè)工程學(xué)報,2012,22(6):131-134.
[4] 李立峰,武佩,麻碩士.基于組態(tài)軟件和模糊控制的分娩豬舍環(huán)境監(jiān)控系統(tǒng)[J].農(nóng)業(yè)工程學(xué)報,2011,27(6):231-235.
[5] 何勇,聶鵬程,劉飛.農(nóng)業(yè)物聯(lián)網(wǎng)與傳感器研究進(jìn)展[J].農(nóng)業(yè)機(jī)械學(xué)報,2013,44(10):216-226.
[6] 陸林箭,秦琳琳,石春,等.基于Web的現(xiàn)代溫室遠(yuǎn)程監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[C]//第三十二屆中國控制會議論文集.中國自動化學(xué)會控制理論專業(yè)委員會、中國系統(tǒng)工程學(xué)會,2013:6660-6663.
[7] 孟慶瑞,天兆鋒,閻楚良.Ajax技術(shù)在農(nóng)業(yè)裝備信息網(wǎng)中的應(yīng)用[J].農(nóng)業(yè)機(jī)械學(xué)報,2014,39(12):132-135.
[8] LYGEROS J,JOHANSSON K H,SIMIC S N.Dyanmical properties of hybrid automata[J].IEEE transactions on automatic control,2013,48(1):2-17.
[9] HASNI A,TAIBI R,DRAOUI B.Optimization of greenhouse climate model paraments using particle swarm optimization and genetic algorithms [J].Energy procedia,2013,26(5):168-187.
中圖分類號S 126;TP 3
文獻(xiàn)標(biāo)識碼A
文章編號0517-6611(2016)06-296-04
收稿日期2016-02-01
作者簡介李文華(1990- ),男,河南漯河人,碩士研究生,研究方向:物聯(lián)網(wǎng)。*通訊作者,副教授,碩士,從事單片機(jī)控制技術(shù)、可編程控制技術(shù)及應(yīng)用研究。
基金項目浙江省科技計劃項目(2014C32065);浙江省臺州市科技計劃項目(131ky29)。