基于STM32的智慧農(nóng)業(yè)監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)
0 引言
我國是農(nóng)業(yè)大國,目前在我國傳統(tǒng)農(nóng)業(yè)生產(chǎn)方式依然普遍存在,缺乏高效的農(nóng)業(yè)監(jiān)測手段,對于農(nóng)作物的生長環(huán)境不能準(zhǔn)確及時掌握,同時無法為農(nóng)作物提供最佳生長環(huán)境。種植方式過度依賴經(jīng)驗,比如過度使用化學(xué)肥料,除造成農(nóng)作物產(chǎn)量偏低外,還會使生態(tài)環(huán)境受到破壞。與此同時,我國人口老齡化嚴(yán)重,農(nóng)業(yè)種植勞動力大大減少,如何對土地資源進(jìn)行高效利用、投入較少人力物力、降低農(nóng)作物種植成本,同時實現(xiàn)質(zhì)量優(yōu)、產(chǎn)量高的可持續(xù)發(fā)展種植策略是目前農(nóng)業(yè)種植中面臨的巨大挑戰(zhàn)。
針對以上問題,本文主要設(shè)計一種基于STM32 的智慧農(nóng)業(yè)監(jiān)測系統(tǒng),系統(tǒng)由數(shù)據(jù)采集模塊、通信模塊、用戶終端、外設(shè)4 個部分組成。通過空氣溫濕度、光照強(qiáng)度、土壤溫濕度及氮磷鉀含量、土壤PH 值傳感器采集數(shù)據(jù),并通過ZigBee 協(xié)議傳輸數(shù)據(jù),用戶可通過手機(jī)APP 或者PC 端直觀查看環(huán)境的變化同時進(jìn)行相應(yīng)的外設(shè)調(diào)控。
1 系統(tǒng)主要功能
智慧農(nóng)業(yè)監(jiān)測系統(tǒng)主要功能如圖1 所示,包括各類傳感器、顯示屏、控制器及系統(tǒng)軟件等組成部分。系統(tǒng)綜合利用嵌入式、物聯(lián)網(wǎng)、人工智能、大數(shù)據(jù)等技術(shù),通過顯示屏顯示基礎(chǔ)環(huán)境數(shù)據(jù),用戶可通過手機(jī)APP或PC 端,實時觀測農(nóng)作物生長環(huán)境信息,并根據(jù)系統(tǒng)提供的最優(yōu)生產(chǎn)環(huán)境,遠(yuǎn)程控制農(nóng)業(yè)外設(shè),持續(xù)為農(nóng)作物生產(chǎn)提供最優(yōu)生長條件,實現(xiàn)農(nóng)業(yè)種植智能化管理,農(nóng)作物高產(chǎn)、優(yōu)質(zhì)、高效、生態(tài)、安全產(chǎn)出。
圖1系統(tǒng)功能圖
2 開發(fā)環(huán)境
本系統(tǒng)開發(fā)環(huán)境硬件包括STM32F407,CC2530,F(xiàn)ibocom L610,BH1750 光照強(qiáng)度傳感器,DHT11 溫濕度傳感器,土壤pH 傳感器,土壤溫濕度氮磷鉀傳感器。RT-Thread 版本:RT-Thread Nano 3.1.3。開發(fā)工具及版本:MDK 5.27STM32CubeMx RT-Thread 使用情況概述:內(nèi)核部分包括調(diào)度器、信號量、線程。 調(diào)度器:創(chuàng)建多個線程來實現(xiàn)不同的工作。
線程:uart2_rx_thread_entry和led_thread_entry uart2_rx_thread_entry 線程接收到串口2 中斷回調(diào)函數(shù)釋放的信號量后,對數(shù)據(jù)進(jìn)行整理并上傳至阿里云;led_thread_entry 線程使LED 間隔1 秒閃爍,提示系統(tǒng)正在運(yùn)行。
3 硬件系統(tǒng)設(shè)計
智慧農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng)硬件部分由終端節(jié)點(diǎn)、路由器節(jié)點(diǎn)、協(xié)調(diào)器節(jié)點(diǎn)、STM32F407 通訊網(wǎng)關(guān)、云服務(wù)器五部分組成。終端節(jié)點(diǎn)以CC2530 為核心通過傳感器采集空氣溫濕度、光照強(qiáng)度、土壤溫濕度、土壤氮磷鉀含量以及土壤pH 值數(shù)據(jù)信息并通過ZigBee 協(xié)議傳輸數(shù)據(jù)到路由器,再經(jīng)路由器轉(zhuǎn)發(fā)至協(xié)調(diào)器[2],協(xié)調(diào)器接收到數(shù)據(jù)后通過串口把數(shù)據(jù)轉(zhuǎn)發(fā)給STM32F407通訊網(wǎng)關(guān),STM32F407 通訊網(wǎng)關(guān)完成數(shù)據(jù)匯總,解析,打包,在LCD 上顯示采集到數(shù)據(jù),并通過GPRS 上傳數(shù)據(jù)至阿里云IOT 平臺,阿里云IOT 平臺將數(shù)據(jù)包通過AMQP服務(wù)端訂閱轉(zhuǎn)發(fā)到智慧農(nóng)業(yè)系統(tǒng),形成“采集—顯示—控制”于一體的閉環(huán)控制模式[2]。
3.1 數(shù)據(jù)采集模塊
數(shù)據(jù)采集主要包括傳感器和電源模塊。系統(tǒng)電源模塊組成為鋰電池組結(jié)合太陽能版,可以最大限度節(jié)約能源[3]。太陽能版可以為設(shè)備持續(xù)供電,供電支撐不足的情況,可通過對鋰電池充電,確保整個系統(tǒng)穩(wěn)定運(yùn)行。對農(nóng)作物種植環(huán)境的監(jiān)測和數(shù)據(jù)采集主要通過各類傳感器實現(xiàn),采集不同農(nóng)作物種植環(huán)境數(shù)據(jù),對農(nóng)作物生長環(huán)境實現(xiàn)實時監(jiān)測[3]。本系統(tǒng)主要采集的環(huán)境數(shù)據(jù)包括空氣溫度、空氣濕度、土壤氮磷鉀、光照度、土壤濕度、土壤溫度、土壤PH 值等。以下為本系統(tǒng)包含的傳感器類型[10]。
3.1.1 空氣溫濕度傳感器
空氣溫濕度傳感器使用DHT11 型號,他的工作原理是把空氣中的溫濕度通過一定監(jiān)測裝置,測量到溫濕度以后,按一定的規(guī)律變換成電信號或其他所需形式的信息輸出。溫濕度傳感器的測量必須在允許頻率范圍內(nèi)同時保持測量條件不失真,被測量的頻率范圍會受頻率響應(yīng)特性影響,傳感器響應(yīng)時間會有一定延遲,其頻率響應(yīng)越高,實際可測量的信號頻率范圍也就越寬。在系統(tǒng)的動態(tài)測量中,依據(jù)(穩(wěn)態(tài)、瞬態(tài)、隨機(jī)等)響應(yīng)特性,避免產(chǎn)生誤差。
3.1.2 光照傳感器
光照傳感器使用BH1750 型號,內(nèi)部結(jié)構(gòu)包括運(yùn)算放大器、光敏二極管、晶振、ADC 采集等部分。電路工作原理:如圖2 所示,光信號輸入以后,經(jīng)過PD 二極管產(chǎn)生光生伏特效應(yīng),最后轉(zhuǎn)換成電信號,再經(jīng)過運(yùn)算放大電路進(jìn)行放大,產(chǎn)生的電壓被ADC 模塊采集,再經(jīng)過邏輯電路轉(zhuǎn)成可直接在內(nèi)部寄存機(jī)存儲的十六位二進(jìn)制[3]。電壓和光強(qiáng)度是一一對應(yīng)的關(guān)系,也就是說當(dāng)進(jìn)入光窗光強(qiáng)度越大時,光電流和電壓也會越大,他們不成完全正比關(guān)系,但是我們可以通過電壓的大小計算光照大小[3]。BH1750 引出時鐘、數(shù)據(jù)線,STM32 與傳感器通訊主要通過I2C 協(xié)議,從BH1750 寄存器中讀取光照度數(shù)據(jù)[3]。
圖2 BH1750電路工作原理
3.1.3 土壤溫濕度及氮磷鉀傳感器
土壤濕度傳感器采用型號MC-4IN1,該類型的傳感器既可以監(jiān)測土壤溫濕度,也可以監(jiān)測土壤中的電導(dǎo)率、鹽分、氮、磷、鉀等數(shù)據(jù)。工作原理是利用熱敏及濕敏電阻來測量土壤溫濕度[6]。進(jìn)行溫度測量時,熱敏電阻值隨土壤溫度變化,通過測量電阻值進(jìn)而測量土壤溫度。濕度測量時,濕敏電阻值隨土壤濕度變化,通過測量電阻值進(jìn)而測量土壤濕度。由于其工作原理是基于電阻值變化,因此需使用專門電路處理,包括放大器、濾波器、數(shù)字轉(zhuǎn)換器等,將采集到的土壤溫濕度以數(shù)字量形式輸出到單片機(jī)系統(tǒng),經(jīng)AD 轉(zhuǎn)換進(jìn)行顯示,電路圖如圖3 所示[6]。
圖3 MC-4IN1電路圖
監(jiān)測氮磷鉀的工作原理是將測量的電導(dǎo)率值乘以相應(yīng)系數(shù)得出氮、磷、鉀含量值,傳感器為探針式,使用方便,且防水、防腐蝕性能好,探針可長時間埋入土壤進(jìn)行數(shù)據(jù)觀測[6]。通過檢監(jiān)測壤中氮磷鉀的含量來判斷土壤肥沃程度,方便對土壤養(yǎng)分情況進(jìn)行評估,電源接口為寬電壓,電源輸12~24 V 均可。
3.1.4 土壤pH值傳感器
土壤pH 傳感器采用型號OSA-60,它的工作原理是,硬件系統(tǒng)的核心是金屬傳感器,傳感器的電極直接接觸被測土壤,通過氧化還原化學(xué)反應(yīng)產(chǎn)生電流,對電流值進(jìn)行分析分段,驅(qū)動電流表顯示對應(yīng)pH 值數(shù)據(jù)。通過主機(jī)轉(zhuǎn)換,以數(shù)值的形式進(jìn)行結(jié)果顯示。土壤pH傳感器的測量區(qū)域一般為:以兩探針中央為中心,直徑為125 px,與探針等高的圓柱體內(nèi)。測量范圍一般為:pH=3~8。常用測試方法有2 種,一是速測法,選定需要測量的地塊,挖開到需測量的深度,避開堅硬物體,將鋼針直插入土壤中,在被測土地的不同位置進(jìn)行多次測量取平均值。二是埋地測量法,挖1 個直徑>20 cm的深坑,將鋼針?biāo)讲迦肟颖冢盥穹€(wěn)定一段時間后,即可對土壤pH 值進(jìn)行長時間的測量。
3.2 ZigBee無線通信模塊
數(shù)據(jù)采集完成以后,通過ZigBee 協(xié)議進(jìn)行數(shù)據(jù)傳輸。ZigBee 基于IEEE802.15.4 進(jìn)行通信,是一種無線網(wǎng)絡(luò)通信協(xié)議,適和應(yīng)用到距離短、速率低、功耗低的場所,工作頻段可分為:868 MHz、915 MHz、2.4 GHz,網(wǎng)絡(luò)傳輸舉例最短10 m 最長100 m,最高數(shù)據(jù)速率為250 kbit/s[1]。ZigBee 網(wǎng)絡(luò)的3 類硬件支撐包括協(xié)調(diào)器、路由器和終端,協(xié)調(diào)器主要進(jìn)行網(wǎng)絡(luò)的建立和初始化,ZigBee 結(jié)構(gòu)中使用唯一協(xié)調(diào)器節(jié)點(diǎn)接收外部設(shè)備數(shù)據(jù)信息[1]。新節(jié)點(diǎn)加入和已有節(jié)點(diǎn)退出必須經(jīng)過路由器關(guān)卡允許,協(xié)調(diào)器節(jié)點(diǎn)可以實現(xiàn)數(shù)據(jù)信息轉(zhuǎn)發(fā)功能,有時也可作為過渡節(jié)點(diǎn)使用[1]。終端節(jié)點(diǎn)在ZigBee 網(wǎng)絡(luò)中主要負(fù)責(zé)數(shù)據(jù)采集,同級終端之間不允許直接通信,但是可以借助路由器或者協(xié)調(diào)器進(jìn)行通信[1]。
星型、網(wǎng)型、樹型是常見的3 種ZigBee 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)[1]。星形結(jié)構(gòu)特點(diǎn)是協(xié)調(diào)器節(jié)點(diǎn)位于整個網(wǎng)絡(luò)的中心[1],外圍分布若干個終端節(jié)點(diǎn),這種網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)通行鏈路單一,協(xié)調(diào)器出現(xiàn)問題可能導(dǎo)致整個網(wǎng)絡(luò)系統(tǒng)故障。樹形網(wǎng)絡(luò)拓?fù)渲邪^渡節(jié)點(diǎn)-- 路由器節(jié)點(diǎn)、其他路由器節(jié)點(diǎn)、終端節(jié)點(diǎn),復(fù)雜度低便于維護(hù)[1]。MESH網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中路由器間可直連通信[1],這種結(jié)構(gòu)靈活性高,部分傳輸鏈路出現(xiàn)故障時,其他路徑自動進(jìn)行數(shù)據(jù)傳送通信[1],保障網(wǎng)絡(luò)暢通。
本系統(tǒng)選用的是MESH網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu),如圖4 所示,這種結(jié)構(gòu)實現(xiàn)終端節(jié)點(diǎn)、協(xié)調(diào)器節(jié)點(diǎn)、路由節(jié)點(diǎn)的分層互通,結(jié)構(gòu)搭建容易且便于維護(hù),同時最大程度擴(kuò)大監(jiān)測面積[1]。依據(jù)IEEE802.15.4 標(biāo)準(zhǔn),ZigBee 通信網(wǎng)絡(luò)中的設(shè)備具有唯一地址,包含64 位物理地址及16 位網(wǎng)絡(luò)地址兩種設(shè)備地址[1]。本系統(tǒng)選用CC2530 單片機(jī)的物理地址,可通過數(shù)據(jù)手冊進(jìn)行查看。熟知每個設(shè)備的網(wǎng)絡(luò)地址,若單設(shè)備出現(xiàn)異常[1],可通過網(wǎng)絡(luò)地址快速鎖定出現(xiàn)故障節(jié)點(diǎn),方便無線傳感網(wǎng)絡(luò)的運(yùn)行及維護(hù)[1]。
圖4 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)
4 軟件系統(tǒng)設(shè)計
整個軟件系統(tǒng)由協(xié)調(diào)器軟件設(shè)計、終端節(jié)點(diǎn)軟件設(shè)計、PC 監(jiān)測管理3 個部分組成,具體功能如下。
4.1 協(xié)調(diào)器軟件設(shè)計
協(xié)調(diào)器軟件是整個數(shù)據(jù)傳送網(wǎng)絡(luò)重要部分,在整個系統(tǒng)中扮演網(wǎng)關(guān)的角色,使用ZigBee 無線通信,與CC2530 數(shù)據(jù)處理器芯片組合。硬件端采集到所有環(huán)境數(shù)據(jù)后,按照協(xié)議將所有數(shù)據(jù)封裝成包。并將這些數(shù)據(jù)包上傳到阿里云IOT 平臺。上傳到服務(wù)器時采用的協(xié)議是MQTT 協(xié)議;阿里云IOT 平臺將數(shù)據(jù)包通過AMQP服務(wù)端訂閱轉(zhuǎn)發(fā)到智慧農(nóng)業(yè)系統(tǒng)的后端服務(wù)器;智慧農(nóng)業(yè)系統(tǒng)的后端服務(wù)器按照規(guī)則完成數(shù)據(jù)包的解析,并將解析出的環(huán)境數(shù)據(jù)存入MySql 數(shù)據(jù)庫中;后端將數(shù)據(jù)從數(shù)據(jù)庫中取出發(fā)送到前端顯示所有環(huán)境數(shù)據(jù)。
4.2 終端節(jié)點(diǎn)軟件設(shè)計
本系統(tǒng)終端是用戶遠(yuǎn)程控制系統(tǒng),包括手機(jī)APP和PC 端程序,主要作用是實現(xiàn)農(nóng)業(yè)種植戶遠(yuǎn)程實時觀測農(nóng)作物生長環(huán)境。通過應(yīng)用程序,種植戶接收 ZigBee網(wǎng)絡(luò)傳送過來的數(shù)據(jù),綜合農(nóng)作物生長監(jiān)測環(huán)境與最優(yōu)生長環(huán)境,遠(yuǎn)程控制噴淋、農(nóng)藥等農(nóng)業(yè)外設(shè),為農(nóng)作物生長提供最優(yōu)環(huán)境。終端節(jié)點(diǎn)采集各項數(shù)據(jù),經(jīng)協(xié)調(diào)器進(jìn)行初始化后加入數(shù)據(jù)處理網(wǎng)絡(luò),清除原有數(shù)據(jù),判斷節(jié)點(diǎn)合法性,確定合法后申請加入數(shù)據(jù)處理網(wǎng)絡(luò)[2],加入網(wǎng)絡(luò)后,控制溫濕度、光照、土壤溫濕度氮磷鉀、PH 值等傳感器采集數(shù)據(jù),經(jīng)終端節(jié)點(diǎn)傳至協(xié)調(diào)器,保證安全、及時、準(zhǔn)確傳送數(shù)據(jù)[2]。
4.3 PC主機(jī)監(jiān)測軟件設(shè)計
本系統(tǒng)PC主機(jī)監(jiān)測主要包括調(diào)節(jié)農(nóng)作物光照時長、空氣溫濕度度、土壤溫濕度氮磷鉀養(yǎng)分等等。系統(tǒng)主要由用戶管理、通信、信息管理和數(shù)據(jù)管理四部分組成,用戶管理是用戶登錄入口,用戶可以進(jìn)行賬戶設(shè)置;通信部分功能是管理數(shù)據(jù)傳輸過程,包括數(shù)據(jù)傳送、節(jié)點(diǎn)管理兩部分;信息管理功能是存儲農(nóng)作物生長數(shù)據(jù),包括設(shè)備管理、生長記錄[2];數(shù)據(jù)管理作用是保障農(nóng)作物生長環(huán)境保持最優(yōu)狀態(tài),當(dāng)單個環(huán)境值超過閾值通過通信系統(tǒng)對種植戶做出預(yù)警,包括數(shù)據(jù)查詢、參數(shù)閾值設(shè)定、數(shù)據(jù)存儲及傳送[9]。
5 系統(tǒng)測試與優(yōu)化
將整個智慧農(nóng)業(yè)監(jiān)測系統(tǒng)布置在室外環(huán)境進(jìn)行系統(tǒng)測試,啟動系統(tǒng)硬件端的開關(guān)后,部署的各類傳感器開始監(jiān)測空氣溫濕度、光照度、土壤PH 值、土壤溫濕度計氮磷鉀、土壤PH 值等環(huán)境參數(shù),并通過ZigBee 通信模塊將環(huán)境監(jiān)測數(shù)據(jù)上傳至云平臺。此時,打開 PC 端或手機(jī)APP 端能夠查看環(huán)境監(jiān)測參數(shù)信息,如圖 5 和圖 6 所示。
圖5 PC端數(shù)據(jù)顯示
圖6 APP端數(shù)據(jù)顯示
6 結(jié)束語
隨著科技不斷進(jìn)步,我國農(nóng)業(yè)智能化發(fā)展越來越高,本文設(shè)計的智慧農(nóng)業(yè)監(jiān)測系統(tǒng)[2],主要通過各類傳感器進(jìn)行數(shù)據(jù)采集,并通過ZigBee 協(xié)議傳輸數(shù)據(jù)到路由器,再經(jīng)路由器轉(zhuǎn)發(fā)至協(xié)調(diào)器,協(xié)調(diào)器接收到數(shù)據(jù)后通過串口把數(shù)據(jù)轉(zhuǎn)發(fā)給通訊網(wǎng)關(guān),通訊網(wǎng)關(guān)完成數(shù)據(jù)匯總,解析,打包,通過GPRS 上傳數(shù)據(jù)至阿里云IOT 平臺,再通過AMQP 服務(wù)端訂閱轉(zhuǎn)發(fā)到智慧農(nóng)業(yè)系統(tǒng),種植戶通過手機(jī)APP 或PC 端實時監(jiān)測農(nóng)作物生長環(huán)境并對外設(shè)進(jìn)行控制。為種植戶增產(chǎn)增收提供有力的保障,對我國的農(nóng)作物產(chǎn)量提升及傳統(tǒng)農(nóng)業(yè)現(xiàn)代化、數(shù)字化轉(zhuǎn)型具有重要意義[10]。
參考文獻(xiàn):
[1] 謝晉飛.基于嵌入式的智慧農(nóng)業(yè)監(jiān)測系統(tǒng)設(shè)計[D].太原:中北大學(xué),2021(9).
[2] 朱斌.基于物聯(lián)網(wǎng)技術(shù)的智慧農(nóng)業(yè)大棚監(jiān)測系統(tǒng)研究[J].南方農(nóng)機(jī),2023:84-86.
[3] 田源.基于群智能優(yōu)化算法的WSN環(huán)境信息檢測系統(tǒng)的實現(xiàn)[D].西安:西安石油大學(xué),2021(9).
[4] 翁苗.基于NB-IoT智慧路燈控制系統(tǒng)的研究與實現(xiàn)[D].揚(yáng)州:揚(yáng)州大學(xué),2023.
[5] 張宏偉.基于STM32的智能環(huán)境監(jiān)測系統(tǒng)設(shè)計與實現(xiàn)[J].大慶師范學(xué)院學(xué)報,2020:91-98.
[6] 李兆陽,邱昱清,苗凱.基于普適計算的智能家居系統(tǒng)設(shè)計與實現(xiàn)[J].無線互聯(lián)科技,2022:35-37.
[7] 戴文娟,韓慧敏,吳育軍.家居環(huán)境檢測助老服務(wù)機(jī)器人的設(shè)計[J].電子技術(shù)與軟件工程,2021:51-53.
[8] 姚科,李國利,鄒惟清,等.基于互聯(lián)網(wǎng)的病房環(huán)境檢測系統(tǒng)設(shè)計與實現(xiàn)[J].科技創(chuàng)新與應(yīng)用,2021.
[9] 刁夢夢,王璐,霍夢媛,等.基于ZigBiee的智能養(yǎng)殖系統(tǒng)的設(shè)計研究[J].現(xiàn)代信息科技,2022:160-163.
[10] 雷妍.基于物聯(lián)網(wǎng)技術(shù)的智慧農(nóng)業(yè)環(huán)境監(jiān)測系統(tǒng)設(shè)計[J].電子技術(shù)與軟件工程,2022:246-249.
[11] 李惠娜.基于STM32和物聯(lián)網(wǎng)公有云的雞蛋孵化環(huán)境檢測系統(tǒng)設(shè)計[J].電子制作,2022:9-11+100.
[12] 鄭澤華,宋文軒,堯瀾,等.基于Arduino的感光式電動窗簾系統(tǒng)研究[J].電子制作,2022.
(本文來源于《電子產(chǎn)品世界》雜志2023年8月期)
評論