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