田均成
嵌入式實(shí)時處理器與各種智能傳感器的結(jié)合實(shí)現(xiàn)了底層農(nóng)業(yè)信息的采集,處理器控制Wi-Fi網(wǎng)絡(luò)設(shè)備接入互聯(lián)網(wǎng)實(shí)現(xiàn)環(huán)境信息的網(wǎng)絡(luò)傳輸,遠(yuǎn)程云服務(wù)器與數(shù)據(jù)庫的結(jié)合實(shí)現(xiàn)環(huán)境信息數(shù)據(jù)的實(shí)時網(wǎng)絡(luò)存儲,基于Android或IOS的移動設(shè)備通過網(wǎng)絡(luò)與云服務(wù)器連接實(shí)時獲取環(huán)境數(shù)據(jù)信息?;谇度胧綄?shí)時處理器、智能傳感器、高性能云平臺、實(shí)時數(shù)據(jù)庫與移動設(shè)備的新型智能農(nóng)業(yè)環(huán)境檢測系統(tǒng)也將極大的加速農(nóng)業(yè)的現(xiàn)代化發(fā)展。
【關(guān)鍵詞】嵌入式 Wi-Fi 智能農(nóng)業(yè) 云平臺
1 引言
民以食為天,國家的發(fā)展與建設(shè)無法脫離農(nóng)業(yè)的基礎(chǔ)建設(shè)與發(fā)展而獨(dú)立運(yùn)行,農(nóng)業(yè)的發(fā)展是關(guān)系國家命運(yùn)的大問題。對于農(nóng)作物的生長環(huán)境數(shù)據(jù)需要長期大量存儲與分析,計(jì)算機(jī)網(wǎng)絡(luò)與云計(jì)算的發(fā)展使得分布式處理得以實(shí)現(xiàn),在不同的空間中布置分布式的數(shù)據(jù)庫,可以有效的進(jìn)行比較大的容量數(shù)據(jù)計(jì)算和處理,建立在嵌入式實(shí)時運(yùn)行環(huán)境、多節(jié)點(diǎn)傳感采集單元、Linux遠(yuǎn)端云、分布式數(shù)據(jù)庫、移動設(shè)備終端的一體化智能農(nóng)業(yè)環(huán)境檢測系統(tǒng)將逐步取代傳統(tǒng)的農(nóng)業(yè)生產(chǎn),從多個方面提升農(nóng)業(yè)生長作物的產(chǎn)量。
近些年移動終端設(shè)備的崛起,當(dāng)下基于谷歌開源Android系統(tǒng)定制的手機(jī)和基于蘋果公司獨(dú)立開發(fā)的IOS系統(tǒng)手機(jī)都已普及,嵌入式設(shè)備通過互聯(lián)網(wǎng)將終端采集節(jié)點(diǎn)數(shù)據(jù)上傳至智能云平臺,遠(yuǎn)端云將數(shù)據(jù)存儲到分布式數(shù)據(jù)庫中,對于運(yùn)行Linux系統(tǒng)的云服務(wù)器可以對環(huán)境數(shù)據(jù)進(jìn)行實(shí)時分析處理,用戶可以獨(dú)立設(shè)置初始預(yù)警條件,一旦發(fā)生異常情況,智能云將會以短信或信息推送的方式將異常數(shù)據(jù)及處理下發(fā)到訂閱的終端設(shè)備,實(shí)現(xiàn)的數(shù)據(jù)信息的實(shí)時性。
2 整體系統(tǒng)設(shè)計(jì)
基于云平臺的智能農(nóng)業(yè)環(huán)境檢測系統(tǒng)主要由三大部分構(gòu)成,分別是智能云平臺、嵌入式傳感采集終端、移動設(shè)備終端,三部分之間通過網(wǎng)絡(luò)進(jìn)行數(shù)據(jù)交互,對傳輸數(shù)據(jù)進(jìn)行相應(yīng)的幀處理,將每一幀數(shù)據(jù)格式化成自定義的傳輸格式,采用用鍵值去獲取環(huán)境信息值的Json格式傳送數(shù)據(jù)。
2.1 系統(tǒng)整體硬件電路設(shè)計(jì)
嵌入式外設(shè)傳感采集端采用STM32F411作為核心,外接空氣的溫濕度采集器DHT11、土壤的溫度采集器DS18B20、土壤的濕度采集器FC-28、光照的強(qiáng)度采集器BH1570FVI、二氧化的碳濃度采集器MG811,片內(nèi)移植Wi-Fi射頻驅(qū)動程序,可以實(shí)時的連接路由網(wǎng)絡(luò),與遠(yuǎn)端云服務(wù)器進(jìn)行通信。處理器運(yùn)行Mico實(shí)時操作系統(tǒng),負(fù)責(zé)各種采集任務(wù)間的切換與數(shù)據(jù)讀取。
移動設(shè)備端使用IOS手機(jī)以及PC的瀏覽器網(wǎng)頁,移動設(shè)備通過HTTP請求與智能農(nóng)業(yè)云服務(wù)器通信獲取農(nóng)作物歷史生長環(huán)境數(shù)據(jù),采用長連接技術(shù)的MQTT協(xié)議進(jìn)行設(shè)備節(jié)點(diǎn)實(shí)時的數(shù)據(jù)透傳,PC端由獨(dú)立的行情顯示界面,實(shí)時的獲取環(huán)境數(shù)據(jù)信息,移動端集成了百度云推送客戶端SDK,可以非常方便的進(jìn)行云端到客戶端的信息推送。
2.2 軟件系統(tǒng)設(shè)計(jì)
云平臺和移動端設(shè)計(jì):
智能農(nóng)業(yè)云平臺運(yùn)行在阿里云之上,配置了Linux的運(yùn)行環(huán)境,選擇的操作系統(tǒng)為Ubuntu 14.04,系統(tǒng)配置了SSH遠(yuǎn)程連接,可以通過網(wǎng)絡(luò)遠(yuǎn)程登陸系統(tǒng),進(jìn)行文件的部署與開發(fā)。云平臺后端采用Node.js語言開發(fā),首先配置Node.js運(yùn)行時環(huán)境,在Linux上安裝Node.js只需在Linux終端上執(zhí)行命令apt-get install nodejs即可自動安裝最新的版本工具。數(shù)據(jù)存儲運(yùn)用mongodb,緩存數(shù)據(jù)庫采用Redis數(shù)據(jù)庫,Redis數(shù)據(jù)庫是基于內(nèi)存的key-value方式存儲,可以大大的提升系統(tǒng)數(shù)據(jù)的存取速率。
實(shí)時環(huán)境數(shù)據(jù)信息的發(fā)送系統(tǒng)中使用了MQTT協(xié)議進(jìn)行傳輸,MQTT協(xié)議使用Socket長連接技術(shù)與云平臺進(jìn)行數(shù)據(jù)傳輸,系統(tǒng)中使用30秒的心跳機(jī)制,每隔30秒定期的向云服務(wù)器發(fā)送一幀ping信號,云服務(wù)器接得到設(shè)備端的心跳,向設(shè)備端發(fā)送出一個pong信號,心跳機(jī)制可以保持網(wǎng)連接的持續(xù)性和實(shí)現(xiàn)設(shè)備端到云端的上行數(shù)據(jù)傳輸和云端到設(shè)備端的下行數(shù)據(jù)傳輸。MQTT協(xié)議基于發(fā)布訂閱模型,數(shù)據(jù)的發(fā)送需要指定一個主題,數(shù)據(jù)的接收也需要訂閱一個話題為了實(shí)現(xiàn)MQTT協(xié)議傳輸。
MQTT服務(wù)器主要用于和嵌入式端STM32F411CE和移動客戶端IOS進(jìn)行實(shí)時的雙向通信,通信的過程中采用了Socket的長連接技術(shù),嵌入式設(shè)備端在MQTT服務(wù)器上發(fā)布一個話題,即可實(shí)現(xiàn)數(shù)據(jù)與云服務(wù)器的傳輸,云端接收到嵌入式端傳來的實(shí)時環(huán)境信息并將數(shù)據(jù)存放到環(huán)境信息表中,移動客戶端在MQTT服務(wù)器上訂閱一個數(shù)據(jù)話題,一旦話題的數(shù)據(jù)發(fā)生改變,服務(wù)器能夠?qū)崟r的把設(shè)備端數(shù)據(jù)推送到移動客戶端IOS上。
系統(tǒng)的主界面左上方有一個設(shè)備刷新按鈕,我們點(diǎn)擊時將自動的刷新獲取最新得到的設(shè)備信息數(shù)據(jù),程序中通過讀取離線設(shè)備數(shù)組,將更新顯示列表的數(shù)據(jù)源重新渲染視圖顯示頁面。點(diǎn)擊右上方的設(shè)備添加按鈕,系統(tǒng)將通過自定義的用戶控制器,控制頁面自動跳轉(zhuǎn)到設(shè)備添加頁面。
3 結(jié)束語
本系統(tǒng)設(shè)計(jì)了將云平臺與嵌入式處理傳感采集單元和移動客戶端及PC網(wǎng)頁端相結(jié)合,實(shí)現(xiàn)了農(nóng)業(yè)生產(chǎn)中的環(huán)境信息的實(shí)時采集與云端的上傳存儲功能,設(shè)計(jì)中考慮了如何減少系統(tǒng)資源的使用,使用了低功耗的ARM嵌入式處理器,傳感采集單元采用了數(shù)字型芯片,客戶端采用當(dāng)下智能的IOS系統(tǒng)作為移動端的展現(xiàn),PC端可以讓用戶通過瀏覽器獲取設(shè)備的信息。
參考文獻(xiàn)
[1]李圣華,肖傳輝.基于物聯(lián)網(wǎng)技術(shù)的智能農(nóng)業(yè)系統(tǒng)設(shè)計(jì)[J].科技廣場,2011(07):73-75.
[2]季軍.基于MongoDB的云資源管理系統(tǒng)設(shè)計(jì)與優(yōu)化[D].西安:西安電子科技大學(xué),2014.
[3]吳嫻.嵌入式Linux文件系統(tǒng)的設(shè)計(jì)和實(shí)踐[D].蘇州:蘇州大學(xué),2003.
[4]林佳作.基于長連接的移動終端消息推送系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[D].西安:西安電子科技大學(xué),2014.
[5]朱艷.移動應(yīng)用的消息推送與MQTT協(xié)議[J].無線互聯(lián)科技,2015(08):1-3.
[6]任艷.淺談Objective-C內(nèi)存管理技術(shù)及應(yīng)用[J].計(jì)算機(jī)光盤軟件與應(yīng)用,2014(24):151-152.
作者單位
吉林大學(xué)電子科學(xué)與工程學(xué)院 吉林省長春市 130012