国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于Laravel框架的農(nóng)業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集管理系統(tǒng)開發(fā)及應(yīng)用

2019-09-18 06:46:52籍延寶姚鑫鋒劉士輝田明璐李琳一
上海農(nóng)業(yè)學(xué)報 2019年4期
關(guān)鍵詞:頁面報警框架

籍延寶,姚鑫鋒,劉士輝,馬 超,田明璐,袁 濤,李琳一*

(1上海市農(nóng)業(yè)科學(xué)院農(nóng)業(yè)科技信息研究所,上海數(shù)字農(nóng)業(yè)工程技術(shù)研究中心,上海201403;2湖南農(nóng)業(yè)大學(xué),長沙410128)

隨著物聯(lián)網(wǎng)技術(shù)的飛速發(fā)展,在農(nóng)業(yè)領(lǐng)域應(yīng)用物聯(lián)網(wǎng)技術(shù)已不再是難題。農(nóng)業(yè)物聯(lián)網(wǎng)就是將物聯(lián)網(wǎng)技術(shù)應(yīng)用在農(nóng)業(yè)生產(chǎn)、經(jīng)營、管理和服務(wù)中[1-9]。物聯(lián)網(wǎng)的應(yīng)用離不開數(shù)據(jù),數(shù)據(jù)是實現(xiàn)生產(chǎn)環(huán)境控制和智能化管理的基礎(chǔ),數(shù)據(jù)采集管理系統(tǒng)在整個數(shù)據(jù)的生命周期中扮演了重要的角色,它既可以縮短一個數(shù)據(jù)的“數(shù)據(jù)里程”,即數(shù)據(jù)從采集到?jīng)Q策使用的整個持續(xù)過程的長短,又可以方便數(shù)據(jù)的分發(fā)和共享,是數(shù)字化農(nóng)業(yè)生產(chǎn)的重要基礎(chǔ)環(huán)節(jié)。

目前,國內(nèi)外無線傳感器網(wǎng)絡(luò)技術(shù)取得了很大進展,在農(nóng)田信息采集方面發(fā)揮著重要的作用。但現(xiàn)有的研究主要側(cè)重于田間觀測信息采集和信息傳輸?shù)惹岸思夹g(shù)的研究,而在后端對觀測獲取的數(shù)據(jù)處理、數(shù)據(jù)應(yīng)用等方面的研究較為薄弱。此外,基于物聯(lián)網(wǎng)的數(shù)據(jù)采集系統(tǒng)繁多,但每個公司生產(chǎn)的設(shè)備大部分只能結(jié)合各自的硬件設(shè)備進行設(shè)計,用戶對產(chǎn)品的選擇空間大大降低、更換設(shè)備的成本升高,使用成本也居高不下。部分物聯(lián)網(wǎng)系統(tǒng)由于架構(gòu)設(shè)計不適合擴展和迭代,導(dǎo)致新功能擴展困難。隨著物聯(lián)網(wǎng)的快速發(fā)展,硬件部分已經(jīng)不是技術(shù)難題,但是針對軟硬件結(jié)合,并把數(shù)據(jù)采集到后端進行應(yīng)用處理,對合作社、普通種植戶仍是一個不小的挑戰(zhàn)。

開發(fā)基于Laravel框架的農(nóng)業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集系統(tǒng),可滿足以下三方面的需求。第一,系統(tǒng)采用輕量化、易擴展架構(gòu)設(shè)計,并適合針對小型農(nóng)場用戶按需迭代。物聯(lián)網(wǎng)數(shù)據(jù)采集系統(tǒng)面對著大量數(shù)據(jù)的采集和存儲,物聯(lián)網(wǎng)硬件廠商的服務(wù)器端軟件為了通用化或標準化考量,平臺多為Java語言開發(fā),功能固定,代碼量大,在小農(nóng)戶的使用過程中,迭代困難,價格高昂。第二,針對農(nóng)業(yè)領(lǐng)域應(yīng)用場景多樣、數(shù)據(jù)產(chǎn)品眾多的特點,設(shè)計一套統(tǒng)一的數(shù)據(jù)錄入接口。在物聯(lián)網(wǎng)信息采集中,由于傳感器和無線傳輸網(wǎng)絡(luò)等設(shè)備廠商眾多,存在著感知數(shù)據(jù)格式多樣、數(shù)據(jù)組織形式不同[10]的問題,如何把感知數(shù)據(jù)轉(zhuǎn)換為格式統(tǒng)一、便于后續(xù)利用的形式是當前遇到的問題。若使用統(tǒng)一的硬件管理接口,管理所有農(nóng)業(yè)物聯(lián)網(wǎng)硬件設(shè)備,即兼容市面上主流的物聯(lián)網(wǎng)采集硬件,這在很大程度上降低了用戶的準入門檻和硬件產(chǎn)品選擇空間。第三,采用開源的組件設(shè)計,降低成本,同時提供物聯(lián)網(wǎng)服務(wù)。市面上已有的物聯(lián)網(wǎng)系統(tǒng),在農(nóng)業(yè)領(lǐng)域應(yīng)用,價格相對較高,中小規(guī)模農(nóng)業(yè)用戶很難接受。但是物聯(lián)網(wǎng)服務(wù)對這些用戶很有必要,例如系統(tǒng)內(nèi)置閾值設(shè)置,能夠根據(jù)實時的傳感器數(shù)據(jù)主動判斷分析數(shù)據(jù),如有異??梢约皶r告知用戶。

1 系統(tǒng)總體框架

系統(tǒng)總體框架由感知層、數(shù)據(jù)層、服務(wù)層和應(yīng)用層組成(圖1)。

圖1 系統(tǒng)總體框架圖Fig.1 Overall framework of the system

感知層是用于數(shù)據(jù)的存儲,包括了用戶填報的數(shù)據(jù)、控制設(shè)備數(shù)據(jù)、以及氣象站、數(shù)據(jù)采集器等設(shè)備的數(shù)據(jù)。此外還有系統(tǒng)應(yīng)用過程中涉及到的圖像和文檔數(shù)據(jù)。

數(shù)據(jù)層是用于存儲感知和用戶上報的數(shù)據(jù),以及系統(tǒng)中報警配置信息。

服務(wù)層是以Nginx和Workerman作為服務(wù)器,PHP語言作為內(nèi)容動態(tài)解析語言,整個服務(wù)層為系統(tǒng)的數(shù)據(jù)接收、存儲和分析提供支持。

應(yīng)用層是整個系統(tǒng)的核心,提供可視化界面和用戶功能。包括基于Bootstrap前端框架的系統(tǒng)頁面,以及數(shù)據(jù)管理、設(shè)備管理和組織管理等功能。

2 關(guān)鍵技術(shù)

2.1 統(tǒng)一的設(shè)備管理編碼

同一個組織或部門會有不同的監(jiān)測區(qū)域,系統(tǒng)中將這樣的一個區(qū)域定義為一個節(jié)點,節(jié)點包含了多個網(wǎng)絡(luò)類型,每個網(wǎng)絡(luò)中有多個設(shè)備(感測設(shè)備或控制設(shè)備)。采用組合編碼方式設(shè)計采集設(shè)備的設(shè)備號[11](圖2),長度共22位,分為組織碼、節(jié)點碼、網(wǎng)絡(luò)類型、網(wǎng)絡(luò)編號和采集點編碼等部分,其中網(wǎng)絡(luò)類型長度2位,取值范圍是01—99,不同的數(shù)值代表不同的物聯(lián)網(wǎng)類型,例如01代表設(shè)施物聯(lián)網(wǎng),02代表水產(chǎn)物聯(lián)網(wǎng)。

圖2 物聯(lián)網(wǎng)設(shè)備編碼結(jié)構(gòu)圖Fig.2 Coding structure diagram of internet of things devices

2.2 統(tǒng)一的數(shù)據(jù)管理接口

不同公司的物聯(lián)網(wǎng)采集設(shè)備中用到的數(shù)據(jù)組織形式不同,系統(tǒng)基于面向?qū)ο笤恚闪酥髁鲾?shù)據(jù)采集設(shè)備的數(shù)據(jù)采集接口,每一個采集接口作為一個計劃任務(wù)在系統(tǒng)中運行,結(jié)合Laravel框架自帶的隊列(Jobs)管理機制,系統(tǒng)會根據(jù)不同廠商的數(shù)據(jù)采集協(xié)議自動匹配相應(yīng)的數(shù)據(jù)采集邏輯,將數(shù)據(jù)按照統(tǒng)一的格式存儲到數(shù)據(jù)庫中。數(shù)據(jù)按照統(tǒng)一格式入庫,便于后續(xù)的分析和利用,解決了不同廠商數(shù)據(jù)格式和接口結(jié)構(gòu)不同帶來的系統(tǒng)兼容性不足的問題。

2.3 報警閾值的設(shè)定與告警

在作物的種植過程中,溫室內(nèi)的空氣溫度、空氣濕度不能過高,需要設(shè)定報警閾值以提示種植者進行簡單的環(huán)境控制。因此,系統(tǒng)中每一個物聯(lián)網(wǎng)傳感器都可以設(shè)置閾值限制,例如光合作用是一個光生物化學(xué)反映,所以光合速率隨著光照強度的增加而加快。在一定范圍內(nèi)幾乎是呈正相關(guān)。但超過一定范圍之后,光合速率的增加轉(zhuǎn)慢,當達到某一光照強度時,光合速率就不在增加,這種現(xiàn)象稱為光飽和現(xiàn)象。各種作物的光飽和點不同,這就決定在光照強度過高的時候需采取必要的人工措施進行干預(yù),防止過高的光強引起植物萎蔫或光合作用效率降低。實際生產(chǎn)中完全可以根據(jù)作物的不同來設(shè)計光強的閾值,通過開啟內(nèi)遮陽或外遮陽進行控制。圖3反映出系統(tǒng)中添加環(huán)境報警配置信息。

圖3 報警流程Fig.3 Alarm process

3 系統(tǒng)設(shè)計

3.1 系統(tǒng)功能設(shè)計

系統(tǒng)總體上分為數(shù)據(jù)管理、組織管理、節(jié)點管理、感測設(shè)備管理、控制設(shè)備管理、報警管理、用戶管理和配置管理8個模塊(圖4)。其中,組織管理是管理用戶所屬組織的模塊,包括種植戶、生產(chǎn)合作社、公司等團體。節(jié)點管理用于管理某一個組織所擁有的物聯(lián)網(wǎng)節(jié)點信息。同樣,感測設(shè)備管理和控制設(shè)備管理分別是管理某一個節(jié)點中所布設(shè)的傳感設(shè)備或控制設(shè)備。報警管理是數(shù)據(jù)的超閾值、設(shè)備的掉線等報警信息的管理。配置管理包含了系統(tǒng)常用的功能配置信息的管理。

圖4 系統(tǒng)結(jié)構(gòu)圖Fig.4 Diagram of system structure

3.2 數(shù)據(jù)庫設(shè)計

系統(tǒng)的數(shù)據(jù)庫設(shè)計如圖5所示,系統(tǒng)包含了農(nóng)場、基地、地塊3個管理級別,同時針對傳感設(shè)備和控制類設(shè)備均有報警設(shè)置和消息的管理。

圖5 數(shù)據(jù)庫實體關(guān)系圖Fig.5 Relationship graph of database entities

4 系統(tǒng)實現(xiàn)

為了采集、分析和利用溫室環(huán)境數(shù)據(jù),系統(tǒng)應(yīng)具有接收溫室內(nèi)傳感器、環(huán)境控制設(shè)備傳遞回來的數(shù)據(jù)的能力,并將這些數(shù)據(jù)進行與歷史數(shù)據(jù)、作物生長模型進行比對或模擬,最終做出決策,實現(xiàn)溫室設(shè)備的管理、作物生長管理的輔助決策功能。

4.1 后臺工具組件

為了實現(xiàn)系統(tǒng)的穩(wěn)定性強、易擴展、快捷開發(fā)和部署、低成本、并適合針對小型農(nóng)場用戶按需迭代的需求,系統(tǒng)采用輕量化、易擴展架構(gòu)設(shè)計,完全采用開源組件進行開發(fā)。總體基于LNMP(Linux、Nginx、MySQL、PHP)架構(gòu),采用PHP框架Laravel 5.3開發(fā)。Laravel框架是一個在眾多Web應(yīng)用項目中被廣泛使用的語法優(yōu)雅的PHP語言框架,它具有大量的幫助方法,并且基于MVC(Model-View-Controller)模式[12],通過Composer進行代碼包管理,具備了系統(tǒng)開發(fā)中大多數(shù)需要,并且跨平臺移植非常方便,能夠快捷的開發(fā)和部署應(yīng)用。特別是針對系統(tǒng)重構(gòu)和迭代頻繁的應(yīng)用,此框架能夠很好勝任。

4.2 服務(wù)器端數(shù)據(jù)接收功能

研究在田間生產(chǎn)環(huán)境下,利用無線采集節(jié)點,基于GPRS技術(shù)將數(shù)據(jù)發(fā)送到后臺指定端口。后臺采用開源框架Workerman作為通訊組件與硬件進行通訊,Workerman是一款純PHP開發(fā)的開源高性能的PHP socket服務(wù)器框架。被廣泛的用于手機App、移動通訊,微信小程序,手游服務(wù)端、網(wǎng)絡(luò)游戲、PHP聊天室、硬件通訊、智能家居、車聯(lián)網(wǎng)、物聯(lián)網(wǎng)等領(lǐng)域的開發(fā)。支持TCP長連接,支持Websocket、HTTP等協(xié)議,支持自定義協(xié)議。擁有異步Mysql、異步Redis、異步Http、異步消息隊列等眾多高性能組件。

Laravel有便捷的命令管理功能,同時具有很強的可擴展性。利用這個特性,Laravel自帶artisan命令工具,通過擴展artisan命令,創(chuàng)建workerman服務(wù)的管理命令,使得后續(xù)的開發(fā)、部署、調(diào)試應(yīng)用程序變得非常方便。

4.3 用戶接口

系統(tǒng)采用Javascript、HTML5、CSS3以及Bootstrap前端框架設(shè)計用戶接口(圖6),遵循自適應(yīng)的頁面設(shè)計原則,使得系統(tǒng)頁面會根據(jù)用戶使用的媒體設(shè)備的屏幕尺寸進行自動的調(diào)整頁面內(nèi)容展示方式和大小,即無論是手機、平板電腦還是普通桌面電腦訪問該系統(tǒng)都能夠取得良好的用戶體驗。

圖6 后臺管理頁面Fig.6 Background management page

后臺管理頁面主要用于管理組織、節(jié)點、人員、設(shè)備和報警信息。管理員能夠較新增、修改、刪除和查詢?nèi)我獾慕M織、節(jié)點、人員、設(shè)備等信息,同時能夠管理報警信息和處理設(shè)備異常和環(huán)境異常。

數(shù)據(jù)圖表顯示頁面用于對監(jiān)測數(shù)據(jù)的可視化管理,系統(tǒng)能夠針對任意一個傳感器的數(shù)據(jù)構(gòu)建曲線圖(圖7),便于管理人員掌握這個生長過程的環(huán)境數(shù)據(jù)信息。同時,該功能也能夠查看控制設(shè)備的整體控制記錄生成的控制圖表,便于管理人員后期優(yōu)化整個生產(chǎn)過程的設(shè)備控制。

圖7 數(shù)據(jù)圖表顯示頁面Fig.7 Data graph disp lay page

圖8 報警信息頁面包含傳感器等監(jiān)測設(shè)備和環(huán)境控制設(shè)備的管理,其中包括報警的傳感設(shè)備或控制設(shè)備、閾值范圍以及建議采取的措施。

圖8 報警信息管理頁面Fig.8 Alarm information management page

5 結(jié)論

通過系統(tǒng)壓力測試結(jié)果顯示(圖9—11),Workerman能夠同時服務(wù)100個并發(fā)線程,連接Workerman 100萬次,每次連接發(fā)送短連接請求,經(jīng)證明該架構(gòu)能夠?qū)崿F(xiàn)吞吐量2.3萬次/s,完全滿足大多數(shù)情況下田間環(huán)境數(shù)據(jù)采集的應(yīng)用需要。

圖9 壓力測試環(huán)境信息Fig.9 Stress test environment information

圖10 壓力測試邏輯Fig.10 Stress test logic

針對小型農(nóng)場用戶的物聯(lián)網(wǎng)需求,基于開源組件構(gòu)建了基于Laravel框架的農(nóng)業(yè)物聯(lián)網(wǎng)數(shù)據(jù)采集管理系統(tǒng),系統(tǒng)具備輕量化、成本低、易迭代的特點,能夠針對不同的傳感器進行數(shù)據(jù)的采集和存儲,并對溫室設(shè)備進行統(tǒng)一管理,實現(xiàn)了農(nóng)田溫室環(huán)境的基礎(chǔ)性信息采集,為后續(xù)的數(shù)據(jù)分析、利用和共享奠定了基礎(chǔ)。此外,該系統(tǒng)能夠監(jiān)測設(shè)施內(nèi)的環(huán)境狀況,在必要的時候能夠發(fā)出報警告知用戶。尤其是數(shù)據(jù)管理功能,減少了用戶的設(shè)施巡查時間,降低了生產(chǎn)者的投入。

通過在上海市農(nóng)業(yè)科學(xué)院莊行綜合試驗站的應(yīng)用,用戶對該系統(tǒng)提出了建議,主要是針對不同廠商的傳感器在使用前進行統(tǒng)一的數(shù)據(jù)標定,以及后期在系統(tǒng)中內(nèi)建標定模型,將數(shù)據(jù)進行統(tǒng)一的轉(zhuǎn)換,實現(xiàn)采集數(shù)據(jù)的標準化。此外,一個完整閉環(huán)的數(shù)據(jù)管理系統(tǒng)應(yīng)該是包含了采集、模擬、預(yù)測和控制4個環(huán)節(jié)。所以,后續(xù)的研究可以加入自動控制設(shè)備的控制指令,能夠在線進行手動或自動控制灌溉、通風等設(shè)施設(shè)備。通過感測控制系統(tǒng)傳回的數(shù)據(jù),自動調(diào)整耕作環(huán)境的狀況,包括超閾值調(diào)控、墑情調(diào)控和積溫調(diào)控等,甚至可以通過調(diào)控溫室環(huán)境,調(diào)整農(nóng)產(chǎn)品的上市日期。

圖11 壓力測試結(jié)果Fig.11 Stress test results

猜你喜歡
頁面報警框架
刷新生活的頁面
框架
廣義框架的不相交性
LKD2-HS型列控中心驅(qū)采不一致報警處理
WTO框架下
法大研究生(2017年1期)2017-04-10 08:55:06
2015款奔馳E180車安全氣囊報警
一種基于OpenStack的云應(yīng)用開發(fā)框架
一種基于OpenStack的云應(yīng)用開發(fā)框架
死于密室的租住者
奔馳E260車安全氣囊報警
韶关市| 蒙山县| 武邑县| 永丰县| 南漳县| 砀山县| 东乡| 曲麻莱县| 巫山县| 无棣县| 玛纳斯县| 常宁市| 陆川县| 潮州市| 三原县| 呼和浩特市| 上虞市| 七台河市| 宁城县| 休宁县| 海淀区| 白水县| 重庆市| 郴州市| 公主岭市| 英超| 渝中区| 桃园市| 新余市| 喀喇沁旗| 江口县| 观塘区| 泰安市| 剑阁县| 湟中县| 饶阳县| 大余县| 浮梁县| 盐边县| 东源县| 昌邑市|