(長春職業技術學院,長春 130033)
傳統農業生產方式難以滿足現階段日益增長的糧食需求,加之農村勞動力短缺和人工成本不斷上升更促使農業生產面臨嚴峻壓力。在此背景下,智能農業技術應運而生。
物聯網技術通過將傳感器和通信技術應用于農業機械和農作物生長環境監測中,實現對農機和農田的實時數據采集和傳輸,同時,物聯網技術還支持數據的大規模存儲和分析[1-2]。在云平臺上,農業生產的歷史數據和實時數據被集中存儲,通過數據分析和挖掘[3],探明農業生產中的規律和潛在問題,為農業生產提供了更深入的理論依據和科學指導。
本文融合物聯網、傳感器技術和自動控制技術,構建智能農業機械監測與控制系統,并結合智能控制策略,實現農機作業的智能化和自動化。研究結果可以為現代農業生產提供更加智能、高效、精準的農業生產方案。
基于物聯網的智能農業機械控制系統是一種整合了物聯網技術、傳感器技術和自動控制技術的系統,通過對農田環境和農機作業數據的分析與挖掘,實現對農業機械的智能化監控和自動化控制。
在進行系統設計前,需要進行充分需求分析,以確保系統能夠滿足農業生產實際需求和預期目標。本文設計的智能農機監測與控制系統需實現實時監測、遠程監測與控制、數據處理與分析及智能控制等(表1)。

表1 基于物聯網下智能農業機械控制系統設計要求
智能農機監測與控制系統通過數據采集器作為網絡傳輸中心,將農機和農田傳感器節點采集到的數據傳輸至控制中心進行處理和分析。然后,控制中心根據數據分析結果制定智能控制策略,并通過傳輸節點將控制指令傳送給執行設備,實現對農機和農田環境的智能化監控,總體設計方案如圖1所示。農民和農場管理者可以通過遠程監控和操作實時了解農業生產情況和遠程控制農機。

圖1 總體設計方案
目前,我國智能農機數據采集與控制設備處于起步階段,農田信息采集裝置及功能較為單一,本章節設計一種支持多種接口及便捷切換聯網方式的通用型數據采集器,該數據采集器將配備多種接口,以適應不同類型的農機和農田傳感器節點。例如,通過CAN總線接口、模擬信號接口、數字信號接口、UART接口等,可以連接不同類型的傳感器和設備,實現對農機工作狀態和農田環境參數的全面監測和采集[4-6]。基本結構如圖2所示。

圖2 數據采集器結構示意圖
綜合考慮系統的性能、功耗、穩定性、成本等方面的要求,本文選用STM32G070CBT6作為主控芯片,STM32G070CBT6采用ARM Cortex-M0+內核,工作頻率高,具有優秀的處理能力,能夠滿足復雜的數據處理和控制要求,同時,該芯片集成了豐富的外設接口,包括模數轉換器(ADC)、通用定時器(TIM)、串行通信接口(UART、SPI、I2C)、模擬比較器等,能夠輕松連接各類傳感器和執行設備[7],電路引腳圖如圖3所示,STM32G070CBT6是一款32位ARM Cortex-M0+內核的微控制器,具有48引腳,用于芯片的供電,其中VDD為數字電源,VSS為地引腳,VDDA為模擬電源。電池管理模塊選用高性能的CN3052B實現電池充放電管理,具備高性能和多重保護功能,能夠有效管理鋰電池的充放電過程,保障電池的安全性和穩定性。

圖3 STM32G070CBT6引腳圖
良好的EMC (Electromagnetic Compatibility,電磁兼容性)設計可以確保系統的正常運行,避免電磁干擾引起的問題,保障系統的穩定性和可靠性。基于本章節設計的通用型數據采集器,其運行應該遵循基本的PCB(Printed Circuit Board,印刷電路板)設計準則,確保PCB上的地平面(Ground Plane)是連續的,以最小化地回流電流的路徑,并減少信號線的輻射[8],此外,本章節多采用短而直的信號走線,減少信號線的長度和環路,以降低輻射和接收干擾。
智能農機在田間需要長時間運行,因此,采用低功耗設計對于以延長電池壽命,減少充電頻率,降低系統運行成本具有重要意義。由于智能農機在田間運行時相關環境參數不會發生太大變化,不需要實時采集數據,因此,本章節設置“采集周期”的方法控制智能農機各類傳感器工作時長,在需要采集數據并發送的時候指令自動喚醒,其余不需要進行數據采集的過程中自動進入休眠模式,工作流程如圖4所示。

圖4 低功耗工作流程圖
智能農機系統中包含眾多物聯網設備,如攝像頭、傳感器和自控儀等,各個設備之間相互獨立。但是在農田生產中,由于受到距離、傳輸環境、通信條件等制約和限制,單一的網絡通信方式無法很好滿足智能農機裝備通信需求。因此,本章節使用一種多網融合通信方式,提供更穩定、更快速、更可靠的通信服務。在智能農機監控系統中,多網融合通信可以用于數據采集器和其他設備,以確保在不同環境下都能實現有效的數據傳輸和通信。
3.2.1 MQTT協議
MQTT(Message Queuing Telemetry Transport)是一種輕量級、基于發布/訂閱模式的通信協議,進而實現物聯網設備之間的高效通信,特別適用于傳感器、設備和服務器之間的實時通信。本文MQTT協議報文結構如表2所示,在智能農機裝備監測與控制系統中,可以使用這些報文來實現設備之間的通信和控制,使得監測與控制過程更加高效和靈活。

表2 MQTT報文結構
假設有一個智能農機裝備監測與控制系統中的溫度傳感器,它要將當前的溫度數據發布到主題(Topic)“farm/sensor/temperature”。發布報文的格式如下,溫度傳感器發布了當前的溫度數據到主題“farm/sensor/temperature”,因為QoS等級為0,所以沒有報文標識符和可變報頭字段,消息體中包含了具體的溫度數據(例如,25.5 ℃)。
報文類型:PUBLISH (3)
控制報文標志:0011 (發布報文,QoS等級為0,保持連接標志為0,重發標志為0)
QoS等級:0(因為是QoS 0,所以報文標識符字段不存在)
保持連接:0
主題名稱:farm/sensor/temperature
可變報頭:無(因為是QoS 0,沒有報文標識符和可變報頭字段)
消息體:當前溫度數據(例如:25.5 ℃)
3.2.2 圖像傳輸協議設計
為了在MQTT寫一下傳輸大量圖像數據,本文在MQTT協議中設計一項事件上報命令,在MQTT協議中定義一個專門用于事件上報的主題(Topic)—“farm/sensor/image”,用于傳輸大量圖像數據。
本文使用Python編程語言來實現MQTT客戶端,然后,使用以下代碼作為MQTT客戶端發送圖像數據:
import paho.mqtt.client as mqtt
import base64
# 設置MQTT服務器地址和端口
broker_address = "mqtt_server_address"
broker_port = 1883
# 創建MQTT客戶端
client = mqtt.Client()
# 連接到MQTT服務器
client.connect(broker_address, broker_port)
# 讀取圖像文件
image_file = "path/to/your/image.jpg"
with open(image_file, "rb") as file:
image_data = file.read()
# 將圖像數據轉換為Base64編碼,方便在消息體中傳輸
image_base64 = base64.b64encode(image_data).decode("utf-8")
# 定義發布主題
topic = "farm/sensor/image"
# 發布圖像數據到主題
client.publish(topic, payload=image_base64, qos=0, retain=False)
# 斷開與MQTT服務器的連接
client.disconnect()
讀取圖像文件并將圖像數據轉換為Base64編碼,然后指定了發布的主題為“farm/sensor/image”,并通過publish方法將圖像數據發布到該主題,使用QoS等級0(最多一次傳遞)來傳輸,不進行持久化(retain=False)。最后,斷開與MQTT服務器的連接。
智能農機系統遠程監測于控制功能基于JetLink物聯網基礎平臺進行設計,實現各個智能農機裝備實現數據可視化管理及執行裝備的遠程控制,基于JetLink物聯網云平臺結構如圖5所示,主要包括信息感知層、網絡傳輸層和應用服務層:

圖5 物聯網云平臺結構層次圖
1)信息感知層(Perception Layer)。信息感知層是物聯網系統的底層,用于感知和采集來自各種物聯網設備的數據,用于監測農機工作狀態、土壤濕度、氣溫、空氣濕度等環境參數。傳感器將采集到的數據轉換為數字信號,并將數據傳輸給上層網絡傳輸層,為農業生產提供基礎數據支持。
2)網絡傳輸層(Network Transmission Layer)。網絡傳輸層采用各種通信技術,例如Wi-Fi、以太網、蜂窩網絡、LoRa等,確保數據從農機和傳感器傳輸到云平臺的高效和可靠。在網絡傳輸層中,數據可能需要進行壓縮、加密和優化以滿足不同網絡環境和帶寬需求。
3)應用服務層(Application Service Layer)。應用服務層是物聯網云平臺的最上層,負責數據處理、存儲、分析和應用服務的提供,實時接收來自網絡傳輸層的數據,并進行數據處理、實時監測和分析。平臺可以將數據轉化為可視化的圖表和報表,為農機管理人員提供實時的農田和農機狀態。同時,應用服務層還提供遠程控制功能,允許農機管理人員通過平臺對農機裝備進行遠程操作。
系統功能測試是在完成系統開發和部署后的一個重要階段,用于驗證系統是否按照設計要求和預期功能正常工作。在智能農機監測與控制系統中,本文對該系統數據查詢進行測試,登陸系統后,該平臺首頁就是當前農田信息圖表化數據展示。以農田環境數據可視化圖標為例(圖6),該圖可以清晰的展示當前農田環境的溫度、濕度、雨量等關鍵數據,農機管理人員可以選擇查看不同時間段內的數據,比較農田環境的變化趨勢,找出規律和異常,從而更好地優化農機作業計劃和農田管理策略。

圖6 農田環境可視化圖表展示
本文基于物聯網技術構建了智能農業機械監測與控制系統,并在該系統中實現了數據采集、傳輸、處理和控制等功能,實現對農機和農田的實時數據采集和傳輸,主要得到以下結論:
1)設計一種通用型數據采集器,支持多種接口及便捷切換聯網方式,同時選擇高性能的主控芯片STM32G070CBT6,并通過電池管理模塊CN3052B實現了低功耗設計,以提高系統的穩定性和能效。
2)通過多網融合通信方式,保證智能農機裝備在不同網絡環境下都能實現有效的數據傳輸和通信。在MQTT協議的設計中定義了事件上報命令,實現了傳輸大量圖像數據的需求,進一步拓展了系統的應用場景。
3)運用JetLink物聯網基礎平臺,實現了數據的可視化管理和執行裝備的遠程控制。農機管理人員可以通過平臺的圖表化數據展示,實時監測農機工作狀態、環境參數等,為農田作業提供了及時有效的支持。
除了當前農田環境的圖表化數據展示,未來的智能農機系統可以擴展到更多多樣化的數據展示方式。例如,通過增加視頻監控功能,農機管理人員可以遠程查看農田的實時情況;通過增加地圖展示功能,可以直觀地顯示農機的運行軌跡和作業范圍,更好地指導農機作業。