劉錫成 , 何 超 , 趙龍慶
(西南林業大學機械與交通學院,云南 昆明 650000)
將任何對象連接到互聯網的概念是一種新的范式,被稱為物聯網[1]。這些被稱為“事物”的連接物體,連接到互聯網上,以增強其功能,將普通物體變成智能物體。生活中的很多內容都可以和物聯網融為一體,物聯網極大地改善了人們的生活,讓生活變得更加美好,可以引入的場景,如智能家居、自動駕駛汽車、智能城市和智能農業[2]。物聯網可以應用于所有區域,因為任何物體無論類型或目的都可以連接起來,其中包括虛擬物體、無生命物體,甚至生物體[3]。隨著農業物聯網及其相關技術的飛速發展,數字化與信息化已經成為現代農業的重要研究內容之一,人們越來越重視信息。信息技術是農業物聯網技術的核心,高度集成的農業與信息流是現代農業必然要求[4-5]。當前,在農業物聯網中無線數據傳輸設備會發揮越來越重要的作用,越來越多的農業物聯網的發展模式是現場總線、無線通信、嵌入式、物聯網等高新技術及其與農業相關設備的有效結合和應用[6-7]。針對農機排放監測需求,課題組提出了一種利用4G DTU無線通信模塊ATK-M751實現農機與遠程監測平臺無線通信的解決方案。
農機排放監測系統由遠程監測平臺、農機和STM32單片機構成。CAN模塊作為數據采集,ATK-M751模塊作為無線通信。整個系統中采用波特率115 200 b/s在遠程監測平臺和農機之間進行無線通信,在通信過程中會遇到同頻干擾的問題,為了避免數據出現錯誤,系統使用了分時TDMA(Time Division Multiple Access) 技術。系統在遠程監測平臺端依次采集農機排放的數據以及收發通信請求等相關信息,農機端采用的是中斷方式對遠程監測平臺發送的地址信息進行回應,如果信息與本機地址相符則執行相應的命令。數據傳輸均通過無線通信模塊ATK-M751完成。系統組成如圖1所示。

圖1 農機排放監測系統組成
ATK-M751,由正點原子(ALIENTEK)團隊研發,是一款高性能全網通 4G DTU 產品,能同時支持移動、聯通和電信4G手機卡。有著高速率、少延遲的優勢,能迅速解決應用場合下的無線數據傳輸方案。支持RS232和RS485兩種不同的串行接口,同時還支持HTTP/TCP/UDP/MQTT/DNS/RNDIS/NTP 多種協議,可以連接原子云、OneNET、百度云和阿里云多種云服務器,并且支持自定義心跳包和注冊包數據,自動定時采集任務、基站定位等。它可以被廣泛應用于無線數據傳輸、環保行業、電力行業、工業控制、農業應用、集抄系統和智能家居等多個領域[8-10]。ATK-M751無線通信模塊無線參數如圖2所示。

圖2 ATK-M751無線參數
在農機排放監測系統中,為獲取農機排放相關信息,用到現場總線CAN技術,STM32單片機嵌入式技術,由STM32單片機CAN接口連接農機OBD接口中的CAN讀取數據,存入單片機緩存,再由配置的無線通信模塊發送至遠程監測平臺。
通信協議就是通信各方為了實現信息交流而建立的規則[7]。本系統使用了HTTP通信協議。因此不可避免地會遇到信源與信宿建立通信關系地址匹配的問題。而因為無線收發模塊自身的特點,在通信過程中可能會受到外界的干擾引起發射端與接收端之間數據傳輸結果出現錯誤。由此就必須用通信協議來保證接收端能正確接收發送端發來的數據,以及確定其所接收數據是否為實際數據[7]。
HTTP協議,中文全稱為超文本傳輸協議(Fieldingetal.,1999),它是互聯網上最受歡迎的協議之一,被廣泛用于傳輸網站內容[6]。其協議請求格式和協議響應格式如圖3、圖4所示。

圖3 HTTP協議請求格式

圖4 HTTP協議響應格式
系統采用AT指令對ATK-M751無線通信模塊進行HTTP模式配置。首先發送 AT 指令“+++”進入配置模式,輸入“AT+WORK="HTTP" ”選擇DTU的工作模式為HTTP模式,配置HTTP模式請求方式為 GET “AT+HTTPMD="GET" ”,配置HTTP模式請求超時時間為10 s “AT+HTTPTM="10" ”,然后配置遠程監測平臺服務器URL“AT+HTTPURL="遠程服務器url地址" ”,配置HTTP模式下的請求頭信息“AT+HTTPHD=" Connection:close" ”,最后發送AT指令“ATO”重啟DTU,至此ATK-M751無線通信模塊HTTP模式配置完成。
只設計通信協議是不夠的,系統在農機無線通信模塊編程設計方面還需要考慮數據的糾錯。檢錯的方法有很多,可以是校驗和的方式,也可以是其他更好的CRC校驗方式。農機排放數據發送端流程圖如圖5所示。

圖5 農機排放數據發送端流程圖
如圖5的流程所示,在系統上電運行后,1)需要對設備進行初始化,需要初始化設備的相關配置。2)采集模塊與車輛總線建立連接,建立連接之前需要判斷系統的工作模式。當系統處在數據采集的模式,采集模塊將會發送OBD協議詢問信息到農機車輛總線,如果農機車輛總線有相應的數據回應,則采集模塊與車輛總線的連接建立成功。3)農機排放數據的采集和存儲,在連接建立成功之后判斷OBD協議是否為 SAEJ1939,如果協議為SAEJ1939則采集模塊根據既定協議采集農機排放數據,采集方式為循環采集,采集完成后先將數據存入單片機數據緩沖區。4)農機排放數據發送,通過ATK-M751無線通信模塊將采集的農機排放數據發送到遠程監測平臺,在發送之前,需要ATK-M751與遠程監測平臺服務器先建立連接,連接建立成功后開始發送數據。至此,農機排放數據的采集和發送工作結束[8]。
在整個應用程序設計過程中,OBD 數據采集模塊有休眠和喚醒兩種工作狀態的切換,在以下兩種情況下將會進入休眠。如果農機車輛總線沒有回應OBD 建立連接的詢問信息,那么模塊便進入到休眠狀態;如果在農機排放數據采集的過程中采集到的不是連續穩定的數據,那么模塊也會進入到休眠狀態。關于怎樣才能喚醒休眠的數據采集模塊,如果總線數據活躍則被喚醒,因為農機車輛總線的狀態會被采集模塊定時監測,車輛總線狀態發生改變,采集模塊工作狀態也會相應發生改變。當農機排放數據接收完畢,將進入發送狀態,在進入發送狀態前需要對數據進行打包,打包的數據需要添加校驗位,最后將整理好的數據發送出去[8]。
仿真結果表明,該無線通信模塊實現了遠程監測平臺和農機之間的無線實時通信,在農機排放監測管理中,STM32單片機通過CAN接口將讀取的農機排放信息,通過ATK-M751無線通信模塊實時傳遞到遠程監測平臺顯示并保存在數據庫中,實現了實時農機排放監測管理。該裝置可應用于諸多領域,且具有一定的可移植性。