《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡(luò) > 設(shè)計應用 > 基于Modbus協(xié)議的農(nóng)田氣象信息監(jiān)測站設(shè)計
基于Modbus協(xié)議的農(nóng)田氣象信息監(jiān)測站設(shè)計
2018年電子技術(shù)應用第12期
趙小強1,2,陳玉兵1,2,高 強1,權(quán) 恒1,韓亞洲1
1.西安郵電大學 通信與信息工程學院,陜西 西安710121;2.陜西省信息通信網(wǎng)絡(luò)及安全重點實驗室,陜西 西安710121
摘要: 為了實現(xiàn)農(nóng)田現(xiàn)場環(huán)境多參數(shù)信息動態(tài)精準感知,提高農(nóng)業(yè)生產(chǎn)水平,設(shè)計了一種適用于農(nóng)田環(huán)境的氣象監(jiān)測站。首先,設(shè)計了基于Modbus協(xié)議的數(shù)據(jù)采集硬件電路以及數(shù)據(jù)上傳4G網(wǎng)關(guān)節(jié)點電路。其次,將DMA控制器應用于串口空閑中斷模式下,實現(xiàn)了Modbus采集數(shù)據(jù)時的高效接收。最后,網(wǎng)關(guān)節(jié)點通過EDP協(xié)議傳輸數(shù)據(jù)至物聯(lián)網(wǎng)云平臺進行分析、評價、處理。該農(nóng)田氣象監(jiān)測站單一站點支持拓展32路傳感器實時采集,解決了以往農(nóng)田無線傳感器網(wǎng)絡(luò)節(jié)點部署時單一節(jié)點采集參數(shù)單一且采集周期過長的問題,滿足精準農(nóng)業(yè)農(nóng)田環(huán)境監(jiān)測的需求。
中圖分類號: TP274
文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.181735
中文引用格式: 趙小強,陳玉兵,高強,等. 基于Modbus協(xié)議的農(nóng)田氣象信息監(jiān)測站設(shè)計[J].電子技術(shù)應用,2018,44(12):55-59,64.
英文引用格式: Zhao Xiaoqiang,Chen Yubing,Gao Qiang,et al. Design of farmland meteorological information monitoring station based on Modbus protocol[J]. Application of Electronic Technique,2018,44(12):55-59,64.
Design of farmland meteorological information monitoring station based on Modbus protocol
Zhao Xiaoqiang1,2,Chen Yubing1,2,Gao Qiang1,Quan Heng1,Han Yazhou1
1.School of Communications and Information Engineering,Xi′an University of Posts and Telecommunications,Xi′an 710121,China; 2.Shaanxi Key Laboratory of Information Communication Network and Security,Xi′an 710121,China
Abstract: In order to achieve dynamic and accurate measurement of multiple parameter information in farmland environment and improve the level of agricultural production, a weather monitoring station suitable for farmland environment is designed. Firstly, data acquisition hardware circuit based on Modbus protocol and data upload 4G gateway node circuit are designed. Secondly, the DMA controller is applied to the idle interrupt mode of the serial port to achieve efficient reception of Modbus data acquisition. Finally, the data is transmitted by the gateway node through the EDP protocol to the IoT cloud platform for analysis, evaluation and processing. The single site of the farmland meteorological monitoring station supports the real-time acquisition of 32-channel sensors, which solves the problem that the single node acquisition parameters are single and the acquisition cycle is long in the past deployment of farmland wireless sensor network nodes, and meets the needs of accurate agricultural farmland environment monitoring.
Key words : farmland meteorological monitoring;Modbus protocol;4G gateway;DMA controller;EDP protocol

0 引言

    隨著“互聯(lián)網(wǎng)+”現(xiàn)代農(nóng)業(yè)高速發(fā)展,如何科學有效地提高農(nóng)田的生產(chǎn)、經(jīng)濟、環(huán)境效益已經(jīng)成為現(xiàn)階段農(nóng)業(yè)亟待解決的重大問題[1-2]。無線傳感器網(wǎng)絡(luò)作為信息感知和無線傳輸?shù)臉蛄?,具有低功耗、易集成、低價格等特點,是農(nóng)田規(guī)?;芗?jié)點部署的首選方案[3-4]。通過各傳感器節(jié)點實時動態(tài)感知作物生長要素與環(huán)境信息,是實現(xiàn)高效農(nóng)業(yè)的基礎(chǔ)[5-6]。美國、日本、荷蘭等發(fā)達國家在農(nóng)田信息感知領(lǐng)域取得了長足發(fā)展,形成了精準農(nóng)業(yè)網(wǎng)絡(luò)體系[7]。

    精準農(nóng)業(yè)對于農(nóng)田環(huán)境信息獲取的實時性要求較高,但是一般各傳感器節(jié)點均采用電池供電,為了降低網(wǎng)絡(luò)負載,延長網(wǎng)絡(luò)生存周期,通常數(shù)據(jù)采集的周期過長,實時性較差,不能及時對作物生長環(huán)境信息進行評價與分析,無法保證最佳生長要素補給,是精準農(nóng)業(yè)發(fā)展所面臨的壁壘之一[8-9]??紤]農(nóng)田傳感器節(jié)點實際應用場景通常采用人為預設(shè)的確定性部署方式,本文提出將空氣濕度、光照度等傳感器掛載于串行總線,通過Modbus通信協(xié)議輪詢與各個傳感器進行數(shù)據(jù)交互,整套系統(tǒng)采用太陽能供電,既保障了數(shù)據(jù)采集以及傳輸實時性,也彌補了傳統(tǒng)監(jiān)測方式下,單一節(jié)點測量參數(shù)單一的不足。最終將數(shù)據(jù)傳輸至云平臺進行統(tǒng)計分析與處理,對我國從傳統(tǒng)農(nóng)業(yè)向現(xiàn)代農(nóng)業(yè)的轉(zhuǎn)型升級具有重要的意義。

1 系統(tǒng)原理

    農(nóng)田氣象信息監(jiān)測站采用RS485總線訪問控制策略,搭載Modbus RTU通信協(xié)議實現(xiàn)田間作物生長要素信息實時采集。Modbus串行鏈路協(xié)議采用主從(Master/Slave)方式,實現(xiàn)主站Master向從站Slave數(shù)據(jù)請求以及Slave端向Master端的響應請求,實現(xiàn)雙向數(shù)據(jù)交互[10]。通過設(shè)置不同的從站傳感器地址,達到主站輪詢訪問土壤溫度、土壤水分、土壤電導率、空氣溫度、空氣濕度、田間風速、田間風向、光照強度、輻射總量傳感器節(jié)點的目的,通信雙方使用CRC16循環(huán)冗余校驗,實現(xiàn)數(shù)據(jù)傳輸檢錯,保證數(shù)據(jù)傳輸?shù)恼_性和完整性。解析后的傳感器數(shù)據(jù)通過4G全網(wǎng)通模塊SIM7600CE采用EDP通信協(xié)議傳輸至OneNET云平臺,實現(xiàn)數(shù)據(jù)多樣化展示和分析處理。系統(tǒng)結(jié)構(gòu)如圖1所示。

ck3-t1.gif

2 硬件設(shè)計

2.1 核心控制器電路

    STM32F103RCT6是ST公司ARM 32位Cortex-M3內(nèi)核CPU,最高工作頻率可達72 MHz,芯片內(nèi)部外設(shè)與通信接口豐富。外圍核心電路主要包含RESET按鍵復位電路、8 MHz晶振電路、32.768 kHz RTC時鐘晶振電路、BOOT 啟動模式選擇電路、電源濾波電路,以及維持后備區(qū)域數(shù)據(jù)存儲和RTC運行的VBAT紐扣電池供電電路。核心控制器電路設(shè)計如圖2所示。

ck3-t2.gif

2.2 Modbus RS485采集電路

    采用8路RS485接口掛載到SP3485的驅(qū)動器同相輸出A端口和反向輸出B端口,并將阻值為120 Ω的終端匹配電阻并聯(lián)至A、B端口,同時,將兩個阻值為360 Ω的偏置電阻分別接入A、B端口線路中,保證電路在空閑狀態(tài)下,485總線維持在邏輯1狀態(tài),避免開始接收時出現(xiàn)亂碼等不可預測情況。接收器輸出使能RE端口與驅(qū)動器輸出使能DE端口連接至核心控制器同一通用IO口,通過邏輯電平0或1的變化即可實現(xiàn)接收與發(fā)送控制。將RO輸出與DI輸入端口連線至STM32的串口2,主控器即可按照Modbus協(xié)議輪詢訪問各個傳感器,各傳感器通過總線上地址信息判斷是否與自身匹配實現(xiàn)對總線信息的響應。電路設(shè)計如圖3所示。

ck3-t3.gif

2.3 數(shù)據(jù)采集儀電源電路

    電源電路采用TI公司LM2596系列開關(guān)電源調(diào)節(jié)器,支持最大40 V寬電壓輸入,3 A負載電流輸出。VIN輸入端并入680 μF低ESR高速鋁電解電容,抑制輸入端電壓突變,布線時需使用短連接,盡量使電容靠近器件VIN管腳。Out輸出端通過逆向電壓保護二極管SS54,防止逆向電壓對電路造成損毀。其額定工作電流為5 A,1.7倍于負載電流,滿足設(shè)計需求。Out輸出端對33 μH電感持續(xù)充電,通過電感為各負載進行穩(wěn)定放電,保證負載供電穩(wěn)定性與可靠性。再經(jīng)過Feedback與Out端旁路電容濾波作用,即可得到5 V穩(wěn)態(tài)電壓。由于主控器STM32為3.3 V供電,所以選取AMS公司低壓差線性穩(wěn)壓LDO系列AMS117-3.3,通過濾波電容濾除尖峰和毛刺后就可獲得3.3 V平滑穩(wěn)定電壓。電路設(shè)計如圖4所示。

ck3-t4.gif

2.4 網(wǎng)關(guān)節(jié)點核心電路

    數(shù)據(jù)采集儀獲取各傳感器數(shù)據(jù)后,通過網(wǎng)關(guān)節(jié)點將數(shù)據(jù)傳輸至OneNET云平臺。網(wǎng)關(guān)節(jié)點選取SIM7600CE,低功耗實現(xiàn)SMS和海量數(shù)據(jù)信息高速傳輸。SIM7600CE支持GSM、TD-SCDMA、CDMA、WCDMA、TDD-LTE和FDD-LTE等頻段。設(shè)計實現(xiàn)了外部4G主天線MAIN_ANT、4G輔天線AUX_ANT和GPS天線GNSS_ANT,在模塊和天線之間的走線必須保證50 Ω走線阻抗。模塊通過3.8 V VBAT接口為內(nèi)部射頻和基帶電路供電。為確保耗電流達到2 A時VBAT電壓跌落不低于3.4 V,在VBAT輸入端加入旁路0.1 μF陶瓷電容,以改善射頻性能及系統(tǒng)穩(wěn)定性,并通過NET指示燈顯示網(wǎng)絡(luò)連接狀態(tài)。為避免浪涌和過壓對模塊造成損壞,在VBAT引腳并聯(lián)了100 μF/6 V的電解電容以實現(xiàn)模塊保護。模塊自帶VDD_EXT LDO可調(diào)電壓輸出,最大支持150 mA電流,用于其他電路供電。VDD_1V8為內(nèi)部1.8 V穩(wěn)態(tài)電壓輸出,可為電平轉(zhuǎn)化電路供電。核心電路設(shè)計如圖5所示。

ck3-t5.gif

2.5 USIM卡接口電路設(shè)計

    為實現(xiàn)USIM卡靜電防護,選取SRV05-4瞬態(tài)抑制TVS陣列,實現(xiàn)對IO、SCK、RST 3條I/O高速數(shù)據(jù)線和VCC的靜電防護處理。其內(nèi)部集成8只控向二極管,構(gòu)成兩個“橋”式整流電路,并通過共用一只“雪崩二極管”構(gòu)成ESD防護電路。該電路可將正ESD經(jīng)導向由雪崩二極管進行箝位,對負ESD由控向二極管箝位,具有良好的ESD防護特性。USIM卡接口靜電防護性能,直接影響網(wǎng)絡(luò)通信的穩(wěn)定性與可靠性,這也是農(nóng)田氣象信息監(jiān)測站設(shè)計時網(wǎng)關(guān)節(jié)點必須具備的特性。電路設(shè)計如圖6所示。

ck3-t6.gif

3 軟件設(shè)計

3.1 Modbus協(xié)議03H功能碼

    主控板通過Modbus協(xié)議讀取各個傳感器數(shù)據(jù)時,使用功能碼03H,通過STM32串口2進行通信,通信波特率設(shè)置為9 600 b/s,無硬件流控。通過03H功能碼對從機訪問時,數(shù)據(jù)格式為:從機地址+功能碼+寄存器首地址+寄存器數(shù)量+校驗碼。發(fā)送03H指令,查詢1個或多個保持寄存器程序如下:

    void MOD_Send03H(u8 addr, u16 reg, u16 num)

    {Mod.TxCount = 0;

    Mod.TxBuf[Mod.TxCount++] = addr;

    Mod.TxBuf[Mod.TxCount++] = 0x03;

    Mod.TxBuf[Mod.TxCount++] = reg >> 8;

    Mod.TxBuf[Mod.TxCount++] = reg;

    Mod.TxBuf[Mod.TxCount++] = num >> 8;

    Mod.TxBuf[Mod.TxCount++] = num;

    MOD_SendAckWithCRC();}

3.2 串口空閑中斷+DMA接收

    針對微處理器串口接收方式的優(yōu)缺點,結(jié)合Modbus通信幀格式,本文提出采用串口空閑中斷+DMA接收方式實現(xiàn)串口數(shù)據(jù)接收。采用此方式時,處理器在接收到一個字節(jié)時,不會產(chǎn)生串口中斷,而是通過DMA在后臺把數(shù)據(jù)搬到指定的緩沖區(qū)里面,當接收空閑時隙超過一字節(jié)時間,默認一幀數(shù)據(jù)接收完成,才產(chǎn)生一次中斷,進而啟動串口狀態(tài)機,計算幀長度,進行相應解析處理。這也滿足Modbus RTU報文幀有著嚴格的幀間t3.5和幀內(nèi)t1.5空閑時隙間隔的要求。該方式也可實現(xiàn)不定長數(shù)據(jù)的接收,極大增加了串口接收程序的通用性以及處理器效率。

3.3 傳感器輪詢采集實現(xiàn)

    通過不同的RTU串行總線地址,依次實現(xiàn)對各個傳感器的訪問。程序中利用定時器定時10 min,開啟數(shù)據(jù)采集操作,定時器中斷時間設(shè)置為0.5 s,每進中斷一次,進行一次“喂狗”操作。自定義采集函數(shù)中設(shè)置靜態(tài)變量I,默認取值為0時,發(fā)送采集指令;值為1時,解析串口接收到的傳感器數(shù)據(jù)。在開啟數(shù)據(jù)采集操作后,每次進入定時器中斷,就進行一次I取值判斷。靜態(tài)變量J用來記錄單個傳感器訪問出錯次數(shù),如果連續(xù)3次訪問出現(xiàn)錯誤,則認為傳感器故障,轉(zhuǎn)向下一個傳感器數(shù)據(jù)采集。靜態(tài)變量K表示當前采集的傳感器標號,如果對應傳感器數(shù)據(jù)采集成功,則主動訪問下一個標號傳感器。

3.4 網(wǎng)關(guān)節(jié)點數(shù)據(jù)上傳

    網(wǎng)關(guān)節(jié)點SIM7600CE 4G通信模塊主要負責將感知層采集單元處理后的農(nóng)田環(huán)境信息發(fā)送到物聯(lián)網(wǎng)OneNET云平臺以及接收云平臺下發(fā)的控制指令。一般情況下,各種物聯(lián)網(wǎng)設(shè)備接入服務(wù)器采用HTTP協(xié)議實現(xiàn),在接收服務(wù)器下發(fā)的消息時,必須通過主動輪詢訪問服務(wù)器的方式,存在效率低和實時性較差等不足。采用EDP協(xié)議后,網(wǎng)關(guān)節(jié)點通過心跳幀與服務(wù)器建立雙向連接,實現(xiàn)及時的數(shù)據(jù)上傳以及接受平臺下發(fā)的指令。感知層單元與網(wǎng)絡(luò)層云平臺建立通信連接并完成數(shù)據(jù)上傳和云端存儲的流程如下:

    (1)與OneNET服務(wù)器建立TCP連接:首先,串口發(fā)送“+++”使模塊退出透傳模式,接下來依次發(fā)送對應AT指令與服務(wù)器建立連接。

    (2)發(fā)送設(shè)備連接請求:將設(shè)備編號ID和鑒權(quán)碼APIKey按照EDP請求格式打包為二進制數(shù)據(jù)包,向OneNET發(fā)送數(shù)據(jù),通過設(shè)備鑒權(quán)后才能對平臺中對應設(shè)備下的數(shù)據(jù)流上傳數(shù)據(jù)。

    (3)發(fā)送用戶數(shù)據(jù):EDP協(xié)議封裝的數(shù)據(jù)包分為兩部分,一部分為設(shè)備連接請求,另一部分為設(shè)備所發(fā)送的數(shù)據(jù)。將采集到的數(shù)據(jù)按JSON格式放到對應數(shù)據(jù)流,并按照EDP協(xié)議進行封裝打包成相應的二進制數(shù)據(jù)包,再發(fā)送給至OneNET云平臺。

4 數(shù)據(jù)測試及分析

4.1 數(shù)據(jù)采集上傳

    選取陜西乾縣羅家?guī)X雙矮蘋果園區(qū)進行設(shè)備實驗測試。設(shè)定10 min進行一次數(shù)據(jù)采集,并將數(shù)據(jù)傳輸至云平臺服務(wù)器對應的土壤溫度、土壤濕度、電導率等數(shù)據(jù)流,通過云平臺的解析,即可得如圖7所示的田間各環(huán)境信息的Web網(wǎng)頁端實時顯示。

ck3-t7.gif

4.2 數(shù)據(jù)校準測試

    對設(shè)備進行為期一周的實驗數(shù)據(jù)記錄,記錄時刻為:每日5:00~21:00。以光照度傳感器數(shù)據(jù)為例,獲取如表1所示的30組從小到大排序的具有代表性的光照傳感器數(shù)據(jù)(單位:kLx)。

ck3-b1.gif

    其中,標準值來源于AR823光照儀,對比發(fā)現(xiàn),隨著光照度不斷增強,測量值與標準值的誤差也逐漸增大。采用BP神經(jīng)網(wǎng)絡(luò)對數(shù)據(jù)進行校準,由于數(shù)據(jù)量較少,故設(shè)置訓練樣本與測試樣本相同。經(jīng)BP擬合后的曲線圖以及校準值與標準值的誤差曲線分別如圖8(a)、(b)所示。校正后的數(shù)據(jù)誤差穩(wěn)定在-1.5 kLx與1.5 kLx之間,遠小于擬合之前的誤差,擬合優(yōu)度達到0.979 6。

ck3-t8.gif

5 結(jié)論

    本文針對高效精準農(nóng)業(yè)設(shè)計了農(nóng)田氣象信息監(jiān)測站,實時動態(tài)感知作物生長環(huán)境信息。監(jiān)測站信息采集電路采用Modbus通信協(xié)議與各傳感器進行信息交互,方便了后期系統(tǒng)集成拓展,實現(xiàn)了單一站點的多參數(shù)采集。采集后的數(shù)據(jù)通過4G網(wǎng)關(guān)傳輸至物聯(lián)網(wǎng)云平臺進行統(tǒng)計分析與決策。針對各傳感器采集數(shù)據(jù)存在的誤差,利用BP神經(jīng)網(wǎng)絡(luò)進行數(shù)據(jù)校正,提高了監(jiān)測數(shù)據(jù)的可靠性與精確性。該系統(tǒng)運行穩(wěn)定可靠,魯棒性強,滿足農(nóng)田環(huán)境監(jiān)測的需要,對于提高農(nóng)業(yè)精細管理與生產(chǎn)自動化具有一定的參考意義。

參考文獻

[1] 崔敏.農(nóng)業(yè)物聯(lián)網(wǎng)研究與應用現(xiàn)狀及發(fā)展對策[J].計算機與網(wǎng)絡(luò),2016,42(15):42-42.

[2] 李道亮,楊昊.農(nóng)業(yè)物聯(lián)網(wǎng)技術(shù)研究進展與發(fā)展趨勢分析[J].農(nóng)業(yè)機械學報,2018(1):1-20.

[3] 劉媛媛,朱路,黃德昌.基于GPRS與無線傳感器網(wǎng)絡(luò)的農(nóng)田環(huán)境監(jiān)測系統(tǒng)設(shè)計[J].農(nóng)機化研究,2013(7):229-232.

[4] 孫玉文.基于無線傳感器網(wǎng)絡(luò)的農(nóng)田環(huán)境監(jiān)測系統(tǒng)研究與實現(xiàn)[D].南京:南京農(nóng)業(yè)大學,2013.

[5] 王凡,楊亮.基于開源硬件與虛擬儀器的智能農(nóng)業(yè)監(jiān)測系統(tǒng)設(shè)計[J].電子技術(shù)應用,2015,41(4):73-76.

[6] 孫智權(quán),周煒彬,趙不賄.基于云存儲的農(nóng)業(yè)環(huán)境參數(shù)監(jiān)控系統(tǒng)設(shè)計[J].電子技術(shù)應用,2016,42(8):94-97.

[7] 陳曉棟,原向陽,郭平毅,等.農(nóng)業(yè)物聯(lián)網(wǎng)研究進展與前景展望[J].中國農(nóng)業(yè)科技導報,2015,17(2):8-16.

[8] GAO X,YUAN M B,RAO D,et al.Research on the application of the low-power sleeping algorithm for agricultural wireless sensor network[J].Journal of Shandong Agricultural University,2015,73(4):1137-1141.

[9] 王培丞.用于環(huán)境監(jiān)測的低功耗無線傳感器網(wǎng)絡(luò)最優(yōu)化設(shè)計[D].成都:電子科技大學,2016.

[10] 顧海勤,楊奕,全毅,等.基于MODBUS協(xié)議的智能儀表與PC機雙向通訊設(shè)計[J].儀表技術(shù)與傳感器,2013(12):33-35.



作者信息:

趙小強1,2,陳玉兵1,2,高  強1,權(quán)  恒1,韓亞洲1

(1.西安郵電大學 通信與信息工程學院,陜西 西安710121;2.陜西省信息通信網(wǎng)絡(luò)及安全重點實驗室,陜西 西安710121)

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。