引言
長期以來,中國農(nóng)業(yè)發(fā)展較為落后,科學(xué)技術(shù)對農(nóng)業(yè)生產(chǎn)的貢獻(xiàn)率較低。隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,農(nóng)業(yè)智能化時代逐步到來。經(jīng)過對陜西省蒲城縣等農(nóng)業(yè)基地的多次實(shí)地考察,發(fā)現(xiàn)存在著農(nóng)業(yè)自動化程度低、無法遠(yuǎn)程監(jiān)控、增產(chǎn)因素難以把控等問題,因此對大棚內(nèi)作物的生長狀況進(jìn)行實(shí)時監(jiān)控十分必要。本系統(tǒng)以分布式傳感器節(jié)點(diǎn)、NB-IoT數(shù)據(jù)鏈、云端服務(wù)器為關(guān)鍵組分,設(shè)計(jì)了具有遠(yuǎn)端監(jiān)控作物生長狀態(tài),調(diào)節(jié)環(huán)境參數(shù)等功能的智能農(nóng)業(yè)輔助控制系統(tǒng)。
1 系統(tǒng)設(shè)計(jì)
本系統(tǒng)整體可分為4部分:第1部分是以單片機(jī)(MCU)和NB-IoT模塊為核心的節(jié)點(diǎn)主體;第2部分是以透傳云、服務(wù)器為核心的遠(yuǎn)程分析及數(shù)據(jù)傳輸系統(tǒng);第3部分是包括DHT11溫濕度傳感器、CCS811二氧化碳傳感器、BH1750光照度傳感器等定制化外置傳感器和繼電器、電磁閥等控制器;第4部分是樹莓派微型電腦和NB-IoT模塊節(jié)點(diǎn)以及攝像頭等數(shù)據(jù)量較大的傳感器。樹莓派上可讀取攝像頭拍攝畫面,運(yùn)行本地分析程序,將分析結(jié)果通過NB-IoT上傳至透傳云。整體系統(tǒng)框架圖見圖1。
通過引入視覺分析,使用動態(tài)閾值離散化和FCN(全卷積神經(jīng)網(wǎng)絡(luò))等語義分割技術(shù)對棚區(qū)木耳的長勢進(jìn)行動態(tài)追蹤,有效解決了當(dāng)前采摘效率較低的問題。將傳感器和中心節(jié)點(diǎn)模塊化,用戶也可通過選裝相關(guān)配件、傳感器來選擇相關(guān)服務(wù)。通過對農(nóng)作物生長狀況歷史記錄分析,系統(tǒng)可半監(jiān)督學(xué)習(xí)作物生長全過程的最優(yōu)環(huán)境參數(shù),對整個生長周期有更全面的了解和調(diào)整,從而有效實(shí)時地監(jiān)測大棚內(nèi)作物的生長狀況,并自動作出相應(yīng)調(diào)整,真正實(shí)現(xiàn)智能農(nóng)業(yè)生產(chǎn)。
1.1 系統(tǒng)控制算法
系統(tǒng)在安裝后,節(jié)點(diǎn)向服務(wù)器進(jìn)行注冊,發(fā)送安裝的傳感器和控制器的種類和個數(shù)。接著初始化用戶界面,顯示各個傳感器和控制器的狀態(tài),儲存各傳感器的歷史數(shù)據(jù)表格,以供用戶在圖形化界面上選擇自動控制的流程和條件。服務(wù)器根據(jù)各節(jié)點(diǎn)的運(yùn)算能力及接入的傳感器和控制器,將每個控制流程平均分布加載到各節(jié)點(diǎn)。最后對NB-IoT兩次喚醒之間的休眠間隔進(jìn)行配置,并使之實(shí)現(xiàn)同步喚醒。當(dāng)NB-IoT休眠時,不進(jìn)行通訊,各節(jié)點(diǎn)和服務(wù)器獨(dú)立運(yùn)行。需要發(fā)送的數(shù)據(jù)自動存入緩沖區(qū),等待NB-IoT喚醒后再進(jìn)行發(fā)送。設(shè)定控制算法流程示意圖見圖2。
1.2 系統(tǒng)工作過程
節(jié)點(diǎn)將接收到的傳感器數(shù)據(jù)輸入到控制中進(jìn)行計(jì)算,得出控制指令,并將得出的控制指令存入緩沖區(qū)等待發(fā)送。再讀取各個傳感器,將數(shù)據(jù)儲存至緩沖區(qū)等待上傳。若數(shù)據(jù)超過報(bào)警上下限則強(qiáng)制喚醒NB-IoT,向服務(wù)器發(fā)送報(bào)警信息;反之則進(jìn)入低功耗模式,等待NB-IoT模塊定時喚醒,以減小功耗。
服務(wù)器通過分析歷史數(shù)據(jù),結(jié)合基地中心上傳的長勢數(shù)據(jù),得出目前狀態(tài)的種植方案,更新控制過程的各個參數(shù)。待節(jié)點(diǎn)的NB-IoT喚醒后,各節(jié)點(diǎn)向服務(wù)器上傳最新傳感器數(shù)據(jù),在服務(wù)器上更新控制參數(shù),進(jìn)而向其他節(jié)點(diǎn)發(fā)送控制指令(或接收其他節(jié)點(diǎn)發(fā)來的控制指令)。從其他節(jié)點(diǎn)接收本節(jié)點(diǎn)內(nèi)控制算法所需要的數(shù)據(jù)。最后結(jié)束一次工作循環(huán),使NB-IoT休眠。
2 系統(tǒng)功能實(shí)現(xiàn)
2.1 硬件部分
2.1.1 節(jié)點(diǎn)探針模塊
采用STM32F103C8T6作為微控制器(MCU),其功能強(qiáng)大且價格低廉。將每塊單片機(jī)封裝成一個監(jiān)測“探針”,置于大棚中的監(jiān)測點(diǎn)處,實(shí)現(xiàn)對大棚內(nèi)的空氣溫濕度、光照強(qiáng)度和二氧化碳濃度的實(shí)時記錄,并將數(shù)據(jù)上傳至上位機(jī),以便農(nóng)業(yè)工作人員依據(jù)實(shí)地情況及時作出處理。
2.1.2 溫濕度檢測模塊
溫濕度測量采用數(shù)字傳感器DHT11,該傳感器依靠單總線協(xié)議與MCU(單片機(jī))進(jìn)行通信。在未接收主機(jī)發(fā)送的開始信號時,傳感器處于超低能耗狀態(tài),盡可能地節(jié)省消耗。同時它應(yīng)用了專用的數(shù)字模塊采集技術(shù)和溫濕度傳感技術(shù),可確保高的測量可靠性與長期穩(wěn)定性。DHT11單總線協(xié)議時序圖見圖3。
2.1.3 光照強(qiáng)度檢測模塊
光照強(qiáng)度測量采用數(shù)字型光強(qiáng)度傳感器BH1750,它具有較高的分辨率,利用它可探測到變化范圍在1~65535 lx內(nèi)的光強(qiáng)數(shù)據(jù)。傳感器有6種分辨率模式可供選擇,基于對實(shí)際情況的分析,采用了連續(xù)H分辨率模式,該模式工作在11 lx分辨率下,一次測量時長約為120 ms。依照芯片對應(yīng)的通信時序圖,我們編寫了基于I 2 C通信協(xié)議的使用程序。I 2 C協(xié)議時序圖見圖4。
2.1.4 二氧化碳濃度檢測模塊
二氧化碳濃度是農(nóng)業(yè)生產(chǎn)中一項(xiàng)較為重要的參數(shù),在考慮了工作性能、實(shí)際需求、傳感器體積、成本等多個方面之后,最終確定使用Cambridge CMOS Sensors公司生產(chǎn)的超低功耗微型氣體傳感器CCS811。
2.2 軟件部分
2.2.1 服務(wù)器搭建
本系統(tǒng)通過租用云服務(wù)器將NB-IoT采集的數(shù)據(jù)保存下來,進(jìn)行數(shù)據(jù)管理。通過瀏覽器打開我們的web端界面,輸入對應(yīng)的NB-IoT設(shè)備ID,可實(shí)現(xiàn)web端與NB-IoT設(shè)備的連接。web端程序監(jiān)測NB-IoT的實(shí)時情況,一旦NB-IoT采集的數(shù)據(jù)更新,即可立即獲取最新的大棚數(shù)據(jù)。這里同樣通過程序連接NB-IoT模塊,利用自定義函數(shù)來獲取賬號下的大棚數(shù)據(jù)信息。獲取的數(shù)據(jù)分別對應(yīng)著大棚號、節(jié)點(diǎn)號、棚內(nèi)溫度(℃),空氣濕度(%)、光照強(qiáng)度(lx)以及二氧化碳濃度。
為了方便數(shù)據(jù)的管理,我們使用關(guān)系型數(shù)據(jù)庫管理系統(tǒng)MySQL,存儲數(shù)據(jù)信息。通過建立獨(dú)立數(shù)據(jù)庫,在庫內(nèi)為每個大棚單獨(dú)建表,各自存儲對應(yīng)的數(shù)據(jù),表的數(shù)量可根據(jù)當(dāng)前狀況進(jìn)行增添或刪減,利于后期項(xiàng)目管理。當(dāng)節(jié)點(diǎn)有需要時,服務(wù)器可回歸分析歷史記錄,得出對當(dāng)前情況最有利的參數(shù)值。
在ODBC驅(qū)動的輔助下,實(shí)現(xiàn)了JavaScript和MySQL數(shù)據(jù)庫的連接,當(dāng)JavaScript獲取NB-IoT更新的數(shù)據(jù)時,數(shù)據(jù)即可有序存入庫中。
2.2.2 用戶界面實(shí)現(xiàn)
為了實(shí)現(xiàn)直觀顯示用戶所有設(shè)備狀態(tài)及關(guān)鍵數(shù)據(jù),遠(yuǎn)程控制大棚設(shè)備運(yùn)作等功能,界面每個賬戶下的設(shè)備在首頁以卡片形式展示,用戶可看到各個設(shè)備所監(jiān)測指標(biāo)的數(shù)值及當(dāng)前設(shè)備的在線狀態(tài)。用戶在界面點(diǎn)擊單個卡片便可進(jìn)入詳情頁面,查看該設(shè)備上的具體數(shù)據(jù)及圖表化形象展示。
配置適配器MyFragmentPagerAdapter,創(chuàng)建ViewHolder 并定義item點(diǎn)擊回調(diào)接口。用TabLayout控件,設(shè)置監(jiān)聽并重寫onTabSelected方法。利用Adapter實(shí)現(xiàn)各個Fragment切換,并用RecyclerView來實(shí)現(xiàn)在頁面中添加列表式的item,同樣需要配置適配器RvAdapter。每個item配置但單獨(dú)的xml文件。各個item點(diǎn)擊的效果由item_selector.xml來實(shí)現(xiàn)。
利用Android下的廣播機(jī)制,通過自定義的UsrCloudClient、UsrCloudClientService等Java類,來連接NB-IoT設(shè)備并進(jìn)行實(shí)時數(shù)據(jù)更新與獲取。
2.2.3 作物長勢分析系統(tǒng)實(shí)現(xiàn)
本系統(tǒng)通過網(wǎng)絡(luò)攝像頭對圖像進(jìn)行采集后,先對圖像進(jìn)行語義分割。進(jìn)而采用FCN(全卷積網(wǎng)絡(luò))對語義進(jìn) 行分割,通過預(yù)先劃分區(qū)域的圖像數(shù)據(jù)集訓(xùn)練后,可對任意場景和角度將作物區(qū)域進(jìn)行分割。相比傳統(tǒng)的(Mask)蒙版劃分適應(yīng)性更強(qiáng),可靠性更高。典型FCN網(wǎng)絡(luò)架構(gòu)見圖5。
3 結(jié)論
經(jīng)實(shí)際測試,本系統(tǒng)硬件、軟件及方案都可行,且高度滿足當(dāng)前中國科技農(nóng)業(yè)推廣的需求。對比目前同類產(chǎn)品,本系統(tǒng)具有成本低、效率高、可定制化等優(yōu)點(diǎn),基本適用于所有農(nóng)作物的農(nóng)業(yè)生產(chǎn)。
責(zé)任編輯:gt
-
單片機(jī)
+關(guān)注
關(guān)注
6067文章
44992瀏覽量
650652 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6781瀏覽量
112195 -
NB-IoT
+關(guān)注
關(guān)注
413文章
1452瀏覽量
186704
發(fā)布評論請先 登錄
評論