(長春職業(yè)技術(shù)學(xué)院,長春 130033)
傳統(tǒng)農(nóng)業(yè)生產(chǎn)方式難以滿足現(xiàn)階段日益增長的糧食需求,加之農(nóng)村勞動力短缺和人工成本不斷上升更促使農(nóng)業(yè)生產(chǎn)面臨嚴峻壓力。在此背景下,智能農(nóng)業(yè)技術(shù)應(yīng)運而生。
物聯(lián)網(wǎng)技術(shù)通過將傳感器和通信技術(shù)應(yīng)用于農(nóng)業(yè)機械和農(nóng)作物生長環(huán)境監(jiān)測中,實現(xiàn)對農(nóng)機和農(nóng)田的實時數(shù)據(jù)采集和傳輸,同時,物聯(lián)網(wǎng)技術(shù)還支持數(shù)據(jù)的大規(guī)模存儲和分析[1-2]。在云平臺上,農(nóng)業(yè)生產(chǎn)的歷史數(shù)據(jù)和實時數(shù)據(jù)被集中存儲,通過數(shù)據(jù)分析和挖掘[3],探明農(nóng)業(yè)生產(chǎn)中的規(guī)律和潛在問題,為農(nóng)業(yè)生產(chǎn)提供了更深入的理論依據(jù)和科學(xué)指導(dǎo)。
本文融合物聯(lián)網(wǎng)、傳感器技術(shù)和自動控制技術(shù),構(gòu)建智能農(nóng)業(yè)機械監(jiān)測與控制系統(tǒng),并結(jié)合智能控制策略,實現(xiàn)農(nóng)機作業(yè)的智能化和自動化。研究結(jié)果可以為現(xiàn)代農(nóng)業(yè)生產(chǎn)提供更加智能、高效、精準的農(nóng)業(yè)生產(chǎn)方案。
基于物聯(lián)網(wǎng)的智能農(nóng)業(yè)機械控制系統(tǒng)是一種整合了物聯(lián)網(wǎng)技術(shù)、傳感器技術(shù)和自動控制技術(shù)的系統(tǒng),通過對農(nóng)田環(huán)境和農(nóng)機作業(yè)數(shù)據(jù)的分析與挖掘,實現(xiàn)對農(nóng)業(yè)機械的智能化監(jiān)控和自動化控制。
在進行系統(tǒng)設(shè)計前,需要進行充分需求分析,以確保系統(tǒng)能夠滿足農(nóng)業(yè)生產(chǎn)實際需求和預(yù)期目標。本文設(shè)計的智能農(nóng)機監(jiān)測與控制系統(tǒng)需實現(xiàn)實時監(jiān)測、遠程監(jiān)測與控制、數(shù)據(jù)處理與分析及智能控制等(表1)。
表1 基于物聯(lián)網(wǎng)下智能農(nóng)業(yè)機械控制系統(tǒng)設(shè)計要求
智能農(nóng)機監(jiān)測與控制系統(tǒng)通過數(shù)據(jù)采集器作為網(wǎng)絡(luò)傳輸中心,將農(nóng)機和農(nóng)田傳感器節(jié)點采集到的數(shù)據(jù)傳輸至控制中心進行處理和分析。然后,控制中心根據(jù)數(shù)據(jù)分析結(jié)果制定智能控制策略,并通過傳輸節(jié)點將控制指令傳送給執(zhí)行設(shè)備,實現(xiàn)對農(nóng)機和農(nóng)田環(huán)境的智能化監(jiān)控,總體設(shè)計方案如圖1所示。農(nóng)民和農(nóng)場管理者可以通過遠程監(jiān)控和操作實時了解農(nóng)業(yè)生產(chǎn)情況和遠程控制農(nóng)機。
圖1 總體設(shè)計方案
目前,我國智能農(nóng)機數(shù)據(jù)采集與控制設(shè)備處于起步階段,農(nóng)田信息采集裝置及功能較為單一,本章節(jié)設(shè)計一種支持多種接口及便捷切換聯(lián)網(wǎng)方式的通用型數(shù)據(jù)采集器,該數(shù)據(jù)采集器將配備多種接口,以適應(yīng)不同類型的農(nóng)機和農(nóng)田傳感器節(jié)點。例如,通過CAN總線接口、模擬信號接口、數(shù)字信號接口、UART接口等,可以連接不同類型的傳感器和設(shè)備,實現(xiàn)對農(nóng)機工作狀態(tài)和農(nóng)田環(huán)境參數(shù)的全面監(jiān)測和采集[4-6]。基本結(jié)構(gòu)如圖2所示。
圖2 數(shù)據(jù)采集器結(jié)構(gòu)示意圖
綜合考慮系統(tǒng)的性能、功耗、穩(wěn)定性、成本等方面的要求,本文選用STM32G070CBT6作為主控芯片,STM32G070CBT6采用ARM Cortex-M0+內(nèi)核,工作頻率高,具有優(yōu)秀的處理能力,能夠滿足復(fù)雜的數(shù)據(jù)處理和控制要求,同時,該芯片集成了豐富的外設(shè)接口,包括模數(shù)轉(zhuǎn)換器(ADC)、通用定時器(TIM)、串行通信接口(UART、SPI、I2C)、模擬比較器等,能夠輕松連接各類傳感器和執(zhí)行設(shè)備[7],電路引腳圖如圖3所示,STM32G070CBT6是一款32位ARM Cortex-M0+內(nèi)核的微控制器,具有48引腳,用于芯片的供電,其中VDD為數(shù)字電源,VSS為地引腳,VDDA為模擬電源。電池管理模塊選用高性能的CN3052B實現(xiàn)電池充放電管理,具備高性能和多重保護功能,能夠有效管理鋰電池的充放電過程,保障電池的安全性和穩(wěn)定性。
圖3 STM32G070CBT6引腳圖
良好的EMC (Electromagnetic Compatibility,電磁兼容性)設(shè)計可以確保系統(tǒng)的正常運行,避免電磁干擾引起的問題,保障系統(tǒng)的穩(wěn)定性和可靠性?;诒菊鹿?jié)設(shè)計的通用型數(shù)據(jù)采集器,其運行應(yīng)該遵循基本的PCB(Printed Circuit Board,印刷電路板)設(shè)計準則,確保PCB上的地平面(Ground Plane)是連續(xù)的,以最小化地回流電流的路徑,并減少信號線的輻射[8],此外,本章節(jié)多采用短而直的信號走線,減少信號線的長度和環(huán)路,以降低輻射和接收干擾。
智能農(nóng)機在田間需要長時間運行,因此,采用低功耗設(shè)計對于以延長電池壽命,減少充電頻率,降低系統(tǒng)運行成本具有重要意義。由于智能農(nóng)機在田間運行時相關(guān)環(huán)境參數(shù)不會發(fā)生太大變化,不需要實時采集數(shù)據(jù),因此,本章節(jié)設(shè)置“采集周期”的方法控制智能農(nóng)機各類傳感器工作時長,在需要采集數(shù)據(jù)并發(fā)送的時候指令自動喚醒,其余不需要進行數(shù)據(jù)采集的過程中自動進入休眠模式,工作流程如圖4所示。
圖4 低功耗工作流程圖
智能農(nóng)機系統(tǒng)中包含眾多物聯(lián)網(wǎng)設(shè)備,如攝像頭、傳感器和自控儀等,各個設(shè)備之間相互獨立。但是在農(nóng)田生產(chǎn)中,由于受到距離、傳輸環(huán)境、通信條件等制約和限制,單一的網(wǎng)絡(luò)通信方式無法很好滿足智能農(nóng)機裝備通信需求。因此,本章節(jié)使用一種多網(wǎng)融合通信方式,提供更穩(wěn)定、更快速、更可靠的通信服務(wù)。在智能農(nóng)機監(jiān)控系統(tǒng)中,多網(wǎng)融合通信可以用于數(shù)據(jù)采集器和其他設(shè)備,以確保在不同環(huán)境下都能實現(xiàn)有效的數(shù)據(jù)傳輸和通信。
3.2.1 MQTT協(xié)議
MQTT(Message Queuing Telemetry Transport)是一種輕量級、基于發(fā)布/訂閱模式的通信協(xié)議,進而實現(xiàn)物聯(lián)網(wǎng)設(shè)備之間的高效通信,特別適用于傳感器、設(shè)備和服務(wù)器之間的實時通信。本文MQTT協(xié)議報文結(jié)構(gòu)如表2所示,在智能農(nóng)機裝備監(jiān)測與控制系統(tǒng)中,可以使用這些報文來實現(xiàn)設(shè)備之間的通信和控制,使得監(jiān)測與控制過程更加高效和靈活。
表2 MQTT報文結(jié)構(gòu)
假設(shè)有一個智能農(nóng)機裝備監(jiān)測與控制系統(tǒng)中的溫度傳感器,它要將當前的溫度數(shù)據(jù)發(fā)布到主題(Topic)“farm/sensor/temperature”。發(fā)布報文的格式如下,溫度傳感器發(fā)布了當前的溫度數(shù)據(jù)到主題“farm/sensor/temperature”,因為QoS等級為0,所以沒有報文標識符和可變報頭字段,消息體中包含了具體的溫度數(shù)據(jù)(例如,25.5 ℃)。
報文類型:PUBLISH (3)
控制報文標志:0011 (發(fā)布報文,QoS等級為0,保持連接標志為0,重發(fā)標志為0)
QoS等級:0(因為是QoS 0,所以報文標識符字段不存在)
保持連接:0
主題名稱:farm/sensor/temperature
可變報頭:無(因為是QoS 0,沒有報文標識符和可變報頭字段)
消息體:當前溫度數(shù)據(jù)(例如:25.5 ℃)
3.2.2 圖像傳輸協(xié)議設(shè)計
為了在MQTT寫一下傳輸大量圖像數(shù)據(jù),本文在MQTT協(xié)議中設(shè)計一項事件上報命令,在MQTT協(xié)議中定義一個專門用于事件上報的主題(Topic)—“farm/sensor/image”,用于傳輸大量圖像數(shù)據(jù)。
本文使用Python編程語言來實現(xiàn)MQTT客戶端,然后,使用以下代碼作為MQTT客戶端發(fā)送圖像數(shù)據(jù):
import paho.mqtt.client as mqtt
import base64
# 設(shè)置MQTT服務(wù)器地址和端口
broker_address = "mqtt_server_address"
broker_port = 1883
# 創(chuàng)建MQTT客戶端
client = mqtt.Client()
# 連接到MQTT服務(wù)器
client.connect(broker_address, broker_port)
# 讀取圖像文件
image_file = "path/to/your/image.jpg"
with open(image_file, "rb") as file:
image_data = file.read()
# 將圖像數(shù)據(jù)轉(zhuǎn)換為Base64編碼,方便在消息體中傳輸
image_base64 = base64.b64encode(image_data).decode("utf-8")
# 定義發(fā)布主題
topic = "farm/sensor/image"
# 發(fā)布圖像數(shù)據(jù)到主題
client.publish(topic, payload=image_base64, qos=0, retain=False)
# 斷開與MQTT服務(wù)器的連接
client.disconnect()
讀取圖像文件并將圖像數(shù)據(jù)轉(zhuǎn)換為Base64編碼,然后指定了發(fā)布的主題為“farm/sensor/image”,并通過publish方法將圖像數(shù)據(jù)發(fā)布到該主題,使用QoS等級0(最多一次傳遞)來傳輸,不進行持久化(retain=False)。最后,斷開與MQTT服務(wù)器的連接。
智能農(nóng)機系統(tǒng)遠程監(jiān)測于控制功能基于JetLink物聯(lián)網(wǎng)基礎(chǔ)平臺進行設(shè)計,實現(xiàn)各個智能農(nóng)機裝備實現(xiàn)數(shù)據(jù)可視化管理及執(zhí)行裝備的遠程控制,基于JetLink物聯(lián)網(wǎng)云平臺結(jié)構(gòu)如圖5所示,主要包括信息感知層、網(wǎng)絡(luò)傳輸層和應(yīng)用服務(wù)層:
圖5 物聯(lián)網(wǎng)云平臺結(jié)構(gòu)層次圖
1)信息感知層(Perception Layer)。信息感知層是物聯(lián)網(wǎng)系統(tǒng)的底層,用于感知和采集來自各種物聯(lián)網(wǎng)設(shè)備的數(shù)據(jù),用于監(jiān)測農(nóng)機工作狀態(tài)、土壤濕度、氣溫、空氣濕度等環(huán)境參數(shù)。傳感器將采集到的數(shù)據(jù)轉(zhuǎn)換為數(shù)字信號,并將數(shù)據(jù)傳輸給上層網(wǎng)絡(luò)傳輸層,為農(nóng)業(yè)生產(chǎn)提供基礎(chǔ)數(shù)據(jù)支持。
2)網(wǎng)絡(luò)傳輸層(Network Transmission Layer)。網(wǎng)絡(luò)傳輸層采用各種通信技術(shù),例如Wi-Fi、以太網(wǎng)、蜂窩網(wǎng)絡(luò)、LoRa等,確保數(shù)據(jù)從農(nóng)機和傳感器傳輸?shù)皆破脚_的高效和可靠。在網(wǎng)絡(luò)傳輸層中,數(shù)據(jù)可能需要進行壓縮、加密和優(yōu)化以滿足不同網(wǎng)絡(luò)環(huán)境和帶寬需求。
3)應(yīng)用服務(wù)層(Application Service Layer)。應(yīng)用服務(wù)層是物聯(lián)網(wǎng)云平臺的最上層,負責(zé)數(shù)據(jù)處理、存儲、分析和應(yīng)用服務(wù)的提供,實時接收來自網(wǎng)絡(luò)傳輸層的數(shù)據(jù),并進行數(shù)據(jù)處理、實時監(jiān)測和分析。平臺可以將數(shù)據(jù)轉(zhuǎn)化為可視化的圖表和報表,為農(nóng)機管理人員提供實時的農(nóng)田和農(nóng)機狀態(tài)。同時,應(yīng)用服務(wù)層還提供遠程控制功能,允許農(nóng)機管理人員通過平臺對農(nóng)機裝備進行遠程操作。
系統(tǒng)功能測試是在完成系統(tǒng)開發(fā)和部署后的一個重要階段,用于驗證系統(tǒng)是否按照設(shè)計要求和預(yù)期功能正常工作。在智能農(nóng)機監(jiān)測與控制系統(tǒng)中,本文對該系統(tǒng)數(shù)據(jù)查詢進行測試,登陸系統(tǒng)后,該平臺首頁就是當前農(nóng)田信息圖表化數(shù)據(jù)展示。以農(nóng)田環(huán)境數(shù)據(jù)可視化圖標為例(圖6),該圖可以清晰的展示當前農(nóng)田環(huán)境的溫度、濕度、雨量等關(guān)鍵數(shù)據(jù),農(nóng)機管理人員可以選擇查看不同時間段內(nèi)的數(shù)據(jù),比較農(nóng)田環(huán)境的變化趨勢,找出規(guī)律和異常,從而更好地優(yōu)化農(nóng)機作業(yè)計劃和農(nóng)田管理策略。
圖6 農(nóng)田環(huán)境可視化圖表展示
本文基于物聯(lián)網(wǎng)技術(shù)構(gòu)建了智能農(nóng)業(yè)機械監(jiān)測與控制系統(tǒng),并在該系統(tǒng)中實現(xiàn)了數(shù)據(jù)采集、傳輸、處理和控制等功能,實現(xiàn)對農(nóng)機和農(nóng)田的實時數(shù)據(jù)采集和傳輸,主要得到以下結(jié)論:
1)設(shè)計一種通用型數(shù)據(jù)采集器,支持多種接口及便捷切換聯(lián)網(wǎng)方式,同時選擇高性能的主控芯片STM32G070CBT6,并通過電池管理模塊CN3052B實現(xiàn)了低功耗設(shè)計,以提高系統(tǒng)的穩(wěn)定性和能效。
2)通過多網(wǎng)融合通信方式,保證智能農(nóng)機裝備在不同網(wǎng)絡(luò)環(huán)境下都能實現(xiàn)有效的數(shù)據(jù)傳輸和通信。在MQTT協(xié)議的設(shè)計中定義了事件上報命令,實現(xiàn)了傳輸大量圖像數(shù)據(jù)的需求,進一步拓展了系統(tǒng)的應(yīng)用場景。
3)運用JetLink物聯(lián)網(wǎng)基礎(chǔ)平臺,實現(xiàn)了數(shù)據(jù)的可視化管理和執(zhí)行裝備的遠程控制。農(nóng)機管理人員可以通過平臺的圖表化數(shù)據(jù)展示,實時監(jiān)測農(nóng)機工作狀態(tài)、環(huán)境參數(shù)等,為農(nóng)田作業(yè)提供了及時有效的支持。
除了當前農(nóng)田環(huán)境的圖表化數(shù)據(jù)展示,未來的智能農(nóng)機系統(tǒng)可以擴展到更多多樣化的數(shù)據(jù)展示方式。例如,通過增加視頻監(jiān)控功能,農(nóng)機管理人員可以遠程查看農(nóng)田的實時情況;通過增加地圖展示功能,可以直觀地顯示農(nóng)機的運行軌跡和作業(yè)范圍,更好地指導(dǎo)農(nóng)機作業(yè)。