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