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