王君君, 董 靜, 伊銅川, 陳天恩
(1.上海海洋大學 信息學院,上海 201306;2.國家農(nóng)業(yè)信息化工程技術(shù)研究中心, 北京 100097)
?
移動終端的設施農(nóng)業(yè)物聯(lián)網(wǎng)環(huán)境監(jiān)控系統(tǒng)設計*
王君君1,2, 董靜2, 伊銅川2, 陳天恩2
(1.上海海洋大學 信息學院,上海 201306;2.國家農(nóng)業(yè)信息化工程技術(shù)研究中心, 北京 100097)
通過使用物聯(lián)網(wǎng)(IOT)傳輸協(xié)議——消息隊列遙測傳輸(MQTT)協(xié)議,將前端硬件、服務器端及移動端連接在一起,完成對設施農(nóng)業(yè)環(huán)境的遠程實時監(jiān)控。在系統(tǒng)中,前端硬件以STM32微處理器為核心,由傳感器模塊、設備控制模塊、GPRS模塊和電源模塊組成,實現(xiàn)數(shù)據(jù)的采集和傳輸;服務器端有數(shù)據(jù)接收、存儲、分析的能力,并擔任MQTT消息協(xié)議中消息生產(chǎn)者和消息管理者的角色;移動終端軟件則以Android操作系統(tǒng)為基礎開發(fā)了應用軟件,用戶在裝有Android系統(tǒng)的移動終端上安裝該應用軟件,即可查看實時環(huán)境情況,發(fā)送控制設備指令等。經(jīng)過測試,整個系統(tǒng)運行穩(wěn)定、使用簡單、實時性高,用戶能有效地對設施農(nóng)業(yè)環(huán)境進行遠程實時監(jiān)控。
設施農(nóng)業(yè); 環(huán)境監(jiān)控; 物聯(lián)網(wǎng); 移動終端; 消息隊列遙測傳輸(MQTT)
設施農(nóng)業(yè)是指在環(huán)境相對可控的條件下,采用工程技術(shù)手段,提高動植物產(chǎn)量的一種新型的農(nóng)業(yè)生產(chǎn)方式[1]。提高設施農(nóng)業(yè)生產(chǎn)產(chǎn)量,降低設施農(nóng)業(yè)資源消耗,是我國設施農(nóng)業(yè)發(fā)展的重要方向。通過對設施農(nóng)業(yè)的環(huán)境進行實時監(jiān)控,是提高設施農(nóng)業(yè)生產(chǎn)產(chǎn)量、降低資源利用率、減少勞動力成本的關(guān)鍵技術(shù)[2]。近年來,物聯(lián)網(wǎng)(IOT)技術(shù)和移動互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,為設施農(nóng)業(yè)環(huán)境監(jiān)控帶來了新的解決方案。
本文以設施農(nóng)業(yè)環(huán)境數(shù)據(jù)采集為基礎,應用物聯(lián)網(wǎng)技術(shù),研究前端硬件設備與移動終端相互配合共同完成對設施農(nóng)業(yè)的環(huán)境監(jiān)控。用戶在設施內(nèi)只需安裝前端硬件設備和在移動終端中安裝應用軟件,即可隨時隨地通過移動應用查看設施內(nèi)環(huán)境情況,有效減少了人力成本和監(jiān)控系統(tǒng)的投入成本,當設施內(nèi)有異常情況發(fā)生時,系統(tǒng)能及時發(fā)送報警消息給用戶,提醒用戶采取相應控制策略,避免農(nóng)業(yè)生產(chǎn)損失的發(fā)生。
系統(tǒng)架構(gòu)如圖1所示。傳感器模塊用于農(nóng)業(yè)設施內(nèi)的關(guān)鍵環(huán)境參數(shù)(如空氣溫濕度、光照強度、土壤溫濕度)的采集,微處理器將環(huán)境數(shù)據(jù)按照數(shù)據(jù)傳輸協(xié)議封裝成數(shù)據(jù)包,上傳到遠程服務器中;設備控制模塊則執(zhí)行服務器發(fā)來的各種設備控制指令。服務器端接收到環(huán)境感知數(shù)據(jù)后,首先進行數(shù)據(jù)的清洗,除去數(shù)據(jù)中由于傳感器故障或者數(shù)據(jù)傳輸造成的奇異數(shù)據(jù),其次將數(shù)據(jù)存儲到數(shù)據(jù)庫服務器中用于數(shù)據(jù)的歷史查詢和環(huán)境數(shù)據(jù)統(tǒng)計分析,最后,服務器會根據(jù)消息隊列遙測傳輸 (message queuing telemetry transport,MQTT)推送流程將數(shù)據(jù)推送到移動應用中。移動終端則通過接受數(shù)據(jù)查看設施農(nóng)業(yè)內(nèi)實時環(huán)境數(shù)據(jù),當環(huán)境數(shù)據(jù)超過閾值后可通過終端發(fā)送控制指令,遠程控制農(nóng)業(yè)設施內(nèi)的控制設備調(diào)節(jié)設施環(huán)境。
圖1 系統(tǒng)總體架構(gòu)圖Fig 1 Overall architecture diagram of system
2.1前端模塊設計
硬件結(jié)構(gòu)如圖2所示。
圖2 前端硬件模塊框圖Fig 2 Block diagram of front-end hardware module
為準確采集農(nóng)業(yè)設施內(nèi)的環(huán)境信息,傳感器節(jié)點選擇了SHT11空氣溫濕度一體化傳感器, 濕度精度在±4.5 %RH,溫度精度為±0.5 ℃(25 ℃)[5];光照強度傳感器為QY—150 A,精度為±2 %,響應時間為50 ms;TYX—CTWS1土壤溫濕度一體化傳感器,濕度精度為±2 %,溫度精度為±0.15 ℃,通電后1 s穩(wěn)定。
系統(tǒng)中選擇了GTM900C模塊,它是一種兩頻段GSM/GRRS無線模塊,工作頻段為EGSM900/GSM1800雙頻,模塊中的主控制器可以實現(xiàn)信號的調(diào)制解調(diào)和信號的轉(zhuǎn)換[6]。
前端設備采用STM32F103RBT6微處理器,該處理器是基于ARM Cortext M3內(nèi)核的32位微處理器,具有2.0~3.6 V的寬電壓供電范圍,CPU工作頻率最高可達72 MHz,同時擁有64 kB的Flash存儲器和20 kB的SRAM存儲器,具有21通道的12位A/D轉(zhuǎn)換器,具有強大的數(shù)據(jù)處理能力,能快速處理各傳感器采集的數(shù)據(jù)和處理控制指令[7]。
2.2通信協(xié)議的設計
前端硬件通過GPRS模塊和服務器建立基于TCP/IP協(xié)議的Socket通信機制。前端硬件通過IP地址和端口號向服務器發(fā)送建立連接請求。服務器啟動后監(jiān)聽指定的端口,當有請求到來時建立連接并接收數(shù)據(jù),檢查數(shù)據(jù)中設備物理編碼和設備接入權(quán)限是否在系統(tǒng)數(shù)據(jù)庫中,如果存在,則該連接被加入到連接池中進行數(shù)據(jù)的持續(xù)交互,否則關(guān)閉該連接。上傳數(shù)據(jù)協(xié)議如圖3所示。
1.1 研究對象 選取2014年1月至2016年1月本院收治的冠心病合并2型糖尿病患者為研究對象,采用隨機數(shù)字表法,將患者分入辛伐他汀組、阿托伐他汀組、瑞舒伐他汀組。其中,辛伐他汀組患者,予以辛伐他?。ㄉ虾P耪x萬象藥業(yè)生產(chǎn))20毫克/次,1次/天,晨起空腹口服。阿托伐他汀組患者,予以阿托伐他汀(輝瑞制藥有限公司生產(chǎn))20毫克/次,1次/天,晨起空腹口服。瑞舒伐他汀組,予以瑞舒伐他?。ò⑺估倒旧a(chǎn))10毫克/次,1次/天,晨起空腹口服。
圖3 數(shù)據(jù)上傳協(xié)議Fig 3 Protocol of data upload
當環(huán)境數(shù)據(jù)超過設置的閾值時,移動終端會產(chǎn)生警報通知,用戶可在移動終端里發(fā)送設備控制指令,服務器會將該控制指令發(fā)送到具體前端硬件中,硬件接收到數(shù)據(jù)后檢查物理編碼是否是自己的,如果不是則丟棄該數(shù)據(jù),如果是則檢查CRC校驗是否正確,如果正確則按照控制指令打開或者關(guān)閉指定的設備。其中,設備控制協(xié)議如圖4所示。
圖4 設備控制協(xié)議Fig 4 Protocol of equipment control
3.1移動終端軟件設計
Android系統(tǒng)是一個流行的開源的移動終端操作系統(tǒng),由應用程序、應用框架層、程序庫、系統(tǒng)運行庫和Linux內(nèi)核組成。其中,應用程序由一個個Activity組成,提供UI界面與用戶進行交互,而Activity是由Java語言開發(fā)的、XML語言控制UI布局[8]。本系統(tǒng)的終端設備應用軟件由5個Activity組成,提供系統(tǒng)的5個主要功能:1)設備添加和管理;2)環(huán)境數(shù)據(jù)實時監(jiān)控;3)歷史數(shù)據(jù)查詢;4)環(huán)境數(shù)據(jù)統(tǒng)計分析;5)系統(tǒng)設置。具體的移動終端軟件操作流程如圖5所示。
圖5 客戶端操作流程圖Fig 5 Flow chart of client-end operation
3.2服務器數(shù)據(jù)推送設計
傳統(tǒng)的客戶端多采用Scoket通信機制從服務器接收數(shù)據(jù),但這種方式使得服務器不能主動將最新數(shù)據(jù)發(fā)送給客戶端。在設施農(nóng)業(yè)環(huán)境監(jiān)控系統(tǒng)中,用戶需要掌握最新的環(huán)境數(shù)據(jù),避免異常環(huán)境造成農(nóng)業(yè)生產(chǎn)損失的發(fā)生。因此,需要采用新的通信機制完成客戶端與服務器的數(shù)據(jù)交互。
3.2.1MQTT協(xié)議
在系統(tǒng)中選擇使用了物聯(lián)網(wǎng)傳輸協(xié)議——MQTT協(xié)議用于服務器端數(shù)據(jù)的主動推動。MQTT是一套輕量級跨平臺的基于發(fā)布/訂閱的消息傳輸協(xié)議,具有開放、精簡、輕量級和容易實現(xiàn)的特點。MQTT協(xié)議由消息發(fā)布者、消息代理服務器和消息訂閱者三部分組成。其中,消息發(fā)布者產(chǎn)生不同主題的消息并發(fā)布到消息代理服務器中;消息代理服務器一方面接收消息,另一方面根據(jù)消息的主題將消息發(fā)送給不同的消息訂閱者;消息訂閱者接收消息,根據(jù)協(xié)議解析數(shù)據(jù)[9]。
圖6 MQTT協(xié)議模型Fig 6 Model for MQTT protocol
3.2.2消息推送流程
在系統(tǒng)中,服務器擔任消息發(fā)布者和消息代理服務器兩個角色,移動終端擔當了消息訂閱者的角色。當移動終端成功添加一個前端硬件設備后,服務器中記錄了該硬件設備的設備號,并以設備號為一個主題存儲到數(shù)據(jù)庫,同時完成移動端完成訂閱該主題消息的操作。當環(huán)境數(shù)據(jù)到達服務器時,服務器根據(jù)數(shù)據(jù)上傳協(xié)議解析數(shù)據(jù)獲得設備號,并根據(jù)設備號查找對應的主題,服務器根據(jù)MQTT協(xié)議生成一個帶主題的消息發(fā)布到消息代理中,消息代理會把消息推送到訂閱了該主題的移動終端。移動端獲得消息后調(diào)用getText()方法獲得數(shù)據(jù),應用軟件會根據(jù)數(shù)據(jù)是否超過環(huán)境閾值做出不同的響應。其中,沒有超過閾值的數(shù)據(jù),移動終端將解析后的環(huán)境數(shù)據(jù),顯示到實時監(jiān)控的Activity界面中;對于超過或低于閾值的環(huán)境數(shù)據(jù),移動終端將生成一個Notification狀態(tài)欄通知,并伴隨手機震動和提示音,提醒用戶查看消息。
在北京市密云縣一處種植葡萄的日光溫室內(nèi)部署本系統(tǒng),對溫室內(nèi)的空氣溫濕度、土壤溫濕度和光照強度等關(guān)鍵環(huán)境因子進行24 h連續(xù)監(jiān)控。系統(tǒng)首先需要在溫室內(nèi)部署一套前端硬件設備,其次需要在移動終端軟件中添加該硬件設備。初始化時,設置硬件設備每30 s采集并上傳一次數(shù)據(jù)到遠程服務器中。表1是2015年7月1日采集的部分數(shù)據(jù)。
表1 溫室中部分環(huán)境數(shù)據(jù)
從表1中的數(shù)據(jù)可以看出:系統(tǒng)完整的采集了溫室內(nèi)一天的關(guān)鍵環(huán)境數(shù)據(jù),證明系統(tǒng)運行穩(wěn)定。在通過與溫室內(nèi)測量儀器所測數(shù)據(jù)進行對比后,可以發(fā)現(xiàn),系統(tǒng)采集的數(shù)據(jù)精度范圍在1 %以內(nèi),系統(tǒng)具有良好的準確性。
圖7是移動終端終端實時環(huán)境監(jiān)控的Activity界面。
圖7 環(huán)境實時監(jiān)測界面Fig 7 Real-time monitoring interface of environment
1)將物聯(lián)網(wǎng)傳輸協(xié)議MQTT協(xié)議應用到監(jiān)控系統(tǒng)中,可以有效管理和快速推送環(huán)境數(shù)據(jù);2)開發(fā)以Android操作系統(tǒng)為基礎的移動應用軟件,使得用戶可以通過一臺移動終端設備對多個設施進行環(huán)境遠程實時監(jiān)控。3)開發(fā)的前端硬件在滿足數(shù)據(jù)采集和上傳的同時,具有價格便宜,操作簡單等優(yōu)點。在后期的測試中,證明了本系統(tǒng)在穩(wěn)定性、實時性和魯棒性上都有所提高,具有推廣使用的價值。參考文獻:
[1]閻曉軍,王維瑞,梁建平.北京市設施農(nóng)業(yè)物聯(lián)網(wǎng)應用模式構(gòu)建[J].農(nóng)業(yè)工程學報,2012(4):149-154.
[2]李中華,王國占,齊飛.我國設施農(nóng)業(yè)發(fā)展現(xiàn)狀及發(fā)展思路[J].中國農(nóng)機化,2012(1):7-10.
[3]陳智偉,蘇維均,于重重,等.基于WSNs的農(nóng)業(yè)溫室監(jiān)控系統(tǒng)的設計[J].傳感器與微系統(tǒng),2011,30(7):82-84,87.
[4]潘金珠,王興元,肖云龍,等.基于物聯(lián)網(wǎng)的溫室大棚系統(tǒng)設計[J].傳感器與微系統(tǒng),2014,33(10):51-53,57.
[5]林飛龍,彭詩瑤.基于多傳感器的高性能監(jiān)控系統(tǒng)設計[J].傳感器與微系統(tǒng),2014,33(2):119-122,126.
[6]郭耀華.基于ZigBee和GPRS網(wǎng)絡的智能變電站設備溫度無線監(jiān)測系統(tǒng)[J].儀表技術(shù)與傳感器,2014(1):79-82.
[7]袁開鴻,魏麗君,唐冬梅.基于STM32平臺的CAN總線車載式漏電流數(shù)字傳感器[J].傳感器與微系統(tǒng),2014,33(3):118-120,124.
[8]李慧,劉星橋,李景,等.基于物聯(lián)網(wǎng)Android平臺的水產(chǎn)養(yǎng)殖遠程監(jiān)控系統(tǒng)[J].農(nóng)業(yè)工程學報,2013,13:175-181.
[9]關(guān)慶余,李鴻彬,于波.MQTT協(xié)議在Android平臺上的研究與應用[J].計算機系統(tǒng)應用,2014(4):197-200,196.
董靜,通訊作者,E—mail:dongj@nercita.org.cn。
Design of facilities agriculture IOT environment monitoring system based on mobile terminal*
WANG Jun-jun1,2, DONG Jing2, YI Tong-chuan2, CHEN Tian-en2
(1.College of Information Technology,Shanghai Ocean University,Shanghai 201306,China;2.National Engineering Research Center for Information Technology in Agriculture,Beijing 100097,China)
The system through using IOT transmission protocol,message queuing telemetry transport(MQTT) message transmission protocol,connect front-end hardware,server with mobile-end,to achieve facilities agriculture environment remote and real-time monitoring.In system,front-end hardware uses STM32 microprocessor as core,which is composed of sensor module,equipment control module,GPRS module and power module,to realize data acquisition and transmission;server has data receiving,storage and analysis ability,also the server play role of message producer and message manager in MQTT message protocol.The mobile terminal software based on Android operation system,user can check real-time environment data and send equipment control order after installing application software on Android system mobile terminal.Test shows that the system runs stably,easy to use,high real-time performance,So the system can help user to monitor the facilities agriculture environment.
facility agriculture; environment monitoring; IOT; mobile terminal; message queuing telemetry transport(MQTT)
2015—10—27
國家科技支撐計劃資助項目 (2013BAD15B05); 北京市農(nóng)林科學院科技創(chuàng)新能力建設專項項目(KJCX2014041)
TP 277
A
1000—9787(2016)08—0087—03
王君君(1990-),男,安徽合肥人,碩士研究生,主要從事計算機應用研究。
DOI:10.13873/J.1000—9787(2016)08—0087—03