999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于嵌入式Linux的智能重型拖拉機遠程監控系統開發

2021-03-13 02:51:02朱青松李軍偉王進李德芳高松
內燃機與動力裝置 2021年1期
關鍵詞:系統設計

朱青松,李軍偉*,王進,李德芳,高松

1.山東理工大學 交通與車輛工程學院,山東 淄博 255049;2.雷沃重工股份有限公司,山東 濰坊 261200

0 引言

通信技術的發展推動了農業智能化的蓬勃發展,智能化重型拖拉機不再是傳統的純機械式的拖拉機,它集成了眾多電控單元,各個單元相互協作共同完成對重型拖拉機的控制。為實現對重型拖拉機運行狀態的監控,實時獲取重型拖拉機的運行狀態,及時發現異常狀態并進行處理,開發一套基于Linux的智能重型拖拉機監控系統非常有必要。文獻[1]中基于Fescale 9S12X128芯片研究了電控拖拉機遠程監控系統,通過控制器局域網絡(controller area network,CAN)總線采集拖拉機的運行數據,通用無線分組業務(general packet radio service,GPRS)網絡將數據發送到Internet,但此系統受控制芯片處理能力,局限較大,而且可移植性較差。

本文中采用具有先進處理性能和多內核處理器的IMAX6Q芯片,該芯片可搭載嵌入式Linux系統,嵌入式Linux系統具有開源、多體系、多驅動的優點,并且具有定制化功能,使設計的監控系統具有高效、穩定以及處理能力強大的優點,系統結合GPRS和全球定位系統(global positioning system,GPS)模塊使用,能夠實時高效地監控智能重型拖拉機的運行狀態。

1 系統總體方案

圖1 遠程監控系統總體設計圖

基于嵌入式Linux的智能重型拖拉機遠程監控系統總體方案如圖1所示。由圖1可知:重型拖拉機的整車控制器(vehicle control unit,VCU)通過CAN總線與監控系統相連接,監控系統接收來自VCU的CAN報文并根據文獻[2]協議對接收到的CAN報文進行解析[3-5],獲取當前拖拉機運行的狀態信息;監控系統的GPS模塊接收到來自衛星的信息,由監控系統選取所需的數據進行提取,獲取當前拖拉機的位置信息;然后監控系統將采集到的重型拖拉機的運行數據通過傳輸控制協議/網際協議(transmission control protocol/Internet protocol,TCP/IP)進行打包處理[6-7],并通過4G模塊將打包好的數據發送到移動基站,轉發至Internet,上傳到云服務器,在云服務器將數據包進行解析,后臺監控端訪問服務器獲取數據,從而實現對重型拖拉機行駛狀態的遠程監控。

2 程序設計及測試

2.1 CAN模塊設計

CAN模塊的使用在整個智能重型拖拉機遠程監控系統中至關重要,因此重點對CAN模塊進行程序設計。本文中智能重型拖拉機遠程監控系統開發時,由于所用的Ubuntu系統缺少使用CAN模塊所必須的庫文件,因此首先應設計CAN模塊的庫文件并掛載到Ubuntu系統,將設計的庫文件設置為普通用戶級讀寫權限,將庫文件生成鏈接文件,確保程序能夠正常運行。CAN模塊的程序設計及數據收發過程的流程如圖2所示。

圖2 CAN模塊收發數據流程圖

設計CAN模塊程序時,應將CAN模塊禁止,將波特率設置為500 kbits/s。Linux系統中,CAN設備被當作網絡設備進行管理,所以需要設計專用于CAN通信的套接字來實現CAN通信,分配CAN設備,設計CAN模塊的連接程序,進入接收或發送數據狀態[8]。CAN模塊接收數據程序時,首先在can_filter結構體中定義接收 CAN節點的報文ID和掩碼(MASK),設計該結構體,并進入接收狀態,read函數讀取can_frame結構體中的報文信息。

將監控系統的CAN_H和CAN_L用雙絞線連接到智能重型拖拉機VCU的CAN_H和CAN_L上完成硬件連接[9],通過CAN總線獲取重型拖拉機的車速、發動機轉速、動力輸出軸(power take off,PTO)轉速、差動鎖狀態、行駛里程、剩余油量等信息[10]。

2.2 GPS模塊程序設計

2.2.1 串口初始化

由于IMAX6Q開發板中外擴了GPS模塊,利用GPS模塊可以實現全球范圍內的定位,滿足實時監測智能重型拖拉機位置的需求。Linux內核中安裝了相應的驅動,GPS模塊對應的文件名為/dev/ttymxc,GPS模塊通過串口進行數據傳輸,程序設計流程如圖3所示。

圖3 GPS串口程序設計流程圖

Linux系統中設備是以文件的方式進行讀寫,因此首先在程序中設置串口的文件句柄用于打開文件”/dev/ttymxc”,將串口設為阻塞狀態,并檢測是否為終端設備,獲取串口對應終端的相關參數并在程序中將其初始化,然后設置串口的波特率、初始位、停止位、奇偶校驗位和處理未接收的字符。串口初始化函數是串口初始化的通用函數,其它需要使用的模塊可直接移植調用。

2.2.2 數據解析

由于GPS的數據$GPRMC為結構體格式,因此首先定義一個結構體data[ ],用于存放GPS數據,然后定義buffer[ ]數組作為緩沖數組存放從串口中讀到的數據[11]。讀取數據時,從文件句柄 fd 中讀取一個字符存放在buffer[ ]數組中,并將該數據連接至dest[ ]的尾部。GPS數據解析流程如圖4所示。

對該組數據進行解析的軟件流程如圖5所示。首先定義一個標志位變量 SectionID,用于標識數據組的不同信息,然后通過判斷$GPRMC 數據組中的字符串是否是“,”來區分不同的數據信息。每當檢測到一個“,”,則 SectionID加1,通過 switch 語句根據 SectionID判別該字符屬于哪個數據,并根據不同的數據(如時間、經緯度等)進行相應的計算,將信息存儲到 data[ ]數組里,便于打印或傳輸。

圖4 GPS數據解析流程圖 圖5 GPS_$GPRMC組數據提取流程圖

2.3 4G通信模塊

2.3.1 USB驅動架構

圖6 USB驅動架構

設計時選用EC20模塊用于4G通信,由于IMAX6Q開發板中沒有EC20模塊的驅動程序,導致無法識別該設備,因此需要向 Linux 內核源碼中添加EC20模塊驅動程序,再編譯生成Ubuntu系統文件后燒錄到開發板,才能使用EC20模塊與服務器進行數據傳輸[12]。EC20模塊驅動程序設計完成后,在Ubuntu下作為通用串行總線(universal serial bus,USB)設備使用。USB是分級的總線結構,通過USB模塊實現USB設備與主機之間的數據傳輸。USB驅動程序的體系結構如圖6所示。

Linux USB主機驅動程序包括USB主機控制器驅動程序、USB 內核和 USB 設備驅動程序3部分。USB主機控制器驅動程序是架構的底層,直接與硬件交互;USB內核是整個USB主機驅動程序的核心,負責管理USB總線、USB總線設備和USB總線帶寬,為USB設備驅動程序提供接口,應用程序可以通過接口訪問USB系統文件;USB設備驅動程序與應用程序交互,主要提供訪問特定USB設備的接口。

2.3.2 Linux內核源碼修改

將EC20模塊連接到USB串口即設置成USB串口設備,并將EC20模塊的廠商識別碼和產品識別碼添加到設計程序中,Ubuntu系統會自動識別該設備,但應在相關文件中刪除和EC20沖突的USB驅動的代碼。設計修改內核源碼時,添加回調代碼,用來恢復由于Linux系統進入掛起或休眠模式時部分USB主機控制器或USB集線器的斷電或復位。完成上述設計后進入內核目錄下,修改環境變量ARCH為arm、交叉編譯器為arm-none-linux-gnueabi,輸入相關命令使能USB驅動,完成后輸入加載驅動的命令并重啟Ubuntu。

2.3.3 Ubuntu系統文件編譯

Ubuntu系統包括引導文件、內核文件、文件系統3個文件。因此,設計完成 EC20 的內核驅動后,應交叉編譯生成上述3個文件。在源碼文件夾下的引導文件目錄中,編譯腳本build_uboot.sh,編譯該文件即可在該文件夾下生成uboot.bin文件,即引導文件。在內核文件目錄中,編譯腳本文件build_qt_kernel.sh,生成uImage文件即內核鏡像。將Ubuntu系統壓縮包上傳至虛擬機并進行解壓,可以在解壓后的文件中進行修改,實現相應的功能。源碼修改完成后,再壓縮生成.tar.gz文件,即為 Ubuntu 的文件系統。

2.3.4 Ubuntu系統燒錄

將引導文件、內核文件和文件系統使用飛思卡爾燒寫工具Mfgtools燒錄至開發板,并根據開發板的型號進行相應的屏幕參數設置。燒錄成功的Ubuntu系統,使用ls /dev/ttyUSB*命令可以看到系統中已存在ttyUSB 0~4共5個文件。其中,ttyUSB1用于GPS信息的輸出接口,ttyUSB2用于終端設備與PC應用之間的連接與通信指令(attention,AT)的輸入接口,ttyUSB3既可以用于AT指令的輸入接口,也可以作為點到點協議連接的接口。

2.3.5 EC20 數據傳輸軟件設計

EC20模塊的驅動設計安裝完成后,對其進行數據傳輸的軟件設計。EC20模塊的初始化程序設計流程為:首先給模塊上電,通過“AT + CPIN?”指令查詢SIM卡的狀態,如果返回“READY! OK”,則進行下一步,否則重新啟動該模塊。繼續使用“AT + CREG?” “AT + CGREG?”指令查詢相關初始狀態值;在查詢狀態為全部正常后,使用“AT + QIAT=”指令激活相應的報文ID;使用“AT+QIACT?”可以查詢到本機IP;然后使用“AT + QIOPEN”指令進行服務器的連接,在參數中可以設置數據傳輸方式[13-14]。

2.4 監控系統設計

圖7 系統總體程序流程圖

遠程監控系統所需要的各個模塊的程序設計完成后,需要在Linux開發環境下對系統總體程序進行開發設計,程序設計流程如圖7所示。首先要Linux開發環境下分別對CAN設備、GPS串口、EC20模塊進行初始化,然后向Linux系統內核注冊中斷,最后對程序的主函數進行設計,主函數設計包括將GPS數據采用輪詢方式采集,CAN總線數據采用中斷方式采集,并且設置每隔一段時間對采集的GPS和CAN總線信息進行數據處理和打包,通過4G模塊發送至遠程服務器端[15-16]。

2.5 系統測試

將開發板作為CAN總線的一個節點,掛載在重型拖拉機的CAN總線網絡,然后將開發板設置為可以接收所有的報文信息。來自重型拖拉機VCU的報文經開發板傳送到監控端,開發板與車載端連接,在 PC 機上登錄監控后臺界面,通過訪問遠程服務器,實現車載端與PC端的連接,客戶端工作界面如圖8所示。部分監控系統端采集到的報文信息及其解析如表1所示,其中報文信息為車速、整車狀態(“1”為運行狀態,“0”為停止狀態)、緯度、經度信息,經解析后轉化為重型拖拉機的車速、發動機轉速、PTO轉速、差動鎖狀態、行駛里程、剩余油量、地理位置等信息。

圖8 PC端客戶端工作界面

表1 部分報文數據解析表

由圖8和表1可知,來自監控系統端的CAN報文能夠通過開發板傳送至服務器端,再通過服務器傳到后臺客戶端。重型拖拉機的車速、發動機轉速、PTO轉速、差動鎖狀態、行駛里程、剩余油量、地理位置等數據均可以在監控界面實時顯示,達到設計要求。

3 結論

基于嵌入式Linux操作系統研究開發了智能重型拖拉機遠程監控系統,包括CAN模塊、GPS模塊、4G通信模塊及控制軟件,并對開發的監控系統進行了測試。

1)設計了智能重型拖拉機遠程監控系統的總體方案。

2)在Linux開發環境下設計CAN通信模塊程序,通過CAN總線將監控系統掛載到重型拖拉機的控制器上,實現數據采集。通過Linux系統自帶GPS驅動,將GPS模塊作為USB設備在Linux系統中進行程序設計并獲取位置信息,針對4G通信模塊,修改了Linux內核驅動及相關文件,對修改后的 Linux 內核進行編譯,4G模塊程序設計完成后能夠將數據上傳到服務器端。

3)對開發的基于嵌入式Linux的智能重型拖拉機遠程監控系統進行試驗測試,遠程監控端能夠接收到來自重型拖拉機的車速、發動機轉速、PTO轉速、差動鎖狀態、行駛里程、剩余油量、地理位置等數據,滿足設計要求。

猜你喜歡
系統設計
Smartflower POP 一體式光伏系統
工業設計(2022年8期)2022-09-09 07:43:20
WJ-700無人機系統
ZC系列無人機遙感系統
北京測繪(2020年12期)2020-12-29 01:33:58
何為設計的守護之道?
現代裝飾(2020年7期)2020-07-27 01:27:42
《豐收的喜悅展示設計》
流行色(2020年1期)2020-04-28 11:16:38
基于PowerPC+FPGA顯示系統
半沸制皂系統(下)
瞞天過海——仿生設計萌到家
藝術啟蒙(2018年7期)2018-08-23 09:14:18
連通與提升系統的最后一塊拼圖 Audiolab 傲立 M-DAC mini
設計秀
海峽姐妹(2017年7期)2017-07-31 19:08:17
主站蜘蛛池模板: 久久香蕉国产线| 黄片在线永久| 97人妻精品专区久久久久| 免费一级成人毛片| v天堂中文在线| 污网站免费在线观看| 亚洲中文字幕97久久精品少妇| 亚洲Aⅴ无码专区在线观看q| 成人国产精品网站在线看| 亚洲欧州色色免费AV| 免费人成又黄又爽的视频网站| 99久久无色码中文字幕| A级全黄试看30分钟小视频| 国产肉感大码AV无码| 天堂av综合网| 91福利免费视频| 热久久国产| 中文天堂在线视频| 欧美高清国产| 欧美激情成人网| 欧美笫一页| 色老二精品视频在线观看| 老司机久久精品视频| 国产欧美专区在线观看| 国产女人在线视频| 亚洲综合日韩精品| 成人毛片免费在线观看| 综合人妻久久一区二区精品| 国产一级二级在线观看| 国产女人在线视频| 亚洲男人的天堂网| 人禽伦免费交视频网页播放| 无码国产伊人| 婷婷中文在线| 国产乱子精品一区二区在线观看| 久久精品波多野结衣| 亚洲欧美另类专区| 成人免费网站在线观看| 国产不卡国语在线| Aⅴ无码专区在线观看| 91人妻日韩人妻无码专区精品| 日本不卡在线视频| 亚洲高清中文字幕在线看不卡| 国产成年无码AⅤ片在线| 99re精彩视频| 亚洲天堂精品在线| 日本三级欧美三级| 国产成人精品免费av| 成人免费黄色小视频| 在线播放国产一区| 欧美亚洲激情| 在线日韩日本国产亚洲| 最新精品久久精品| 国产成人三级在线观看视频| 毛片免费在线视频| 日韩无码视频专区| 夜夜高潮夜夜爽国产伦精品| 天天综合亚洲| 黄片一区二区三区| 国产美女无遮挡免费视频网站 | 四虎永久在线视频| 99在线视频免费观看| 青青草久久伊人| 72种姿势欧美久久久大黄蕉| 国产福利免费视频| 2020国产精品视频| 色香蕉影院| 青青青国产在线播放| 亚洲成aⅴ人在线观看| 一级毛片在线播放| 91成人试看福利体验区| 国产精品内射视频| 国产正在播放| 亚洲无码精品在线播放| 国产一区二区丝袜高跟鞋| 高清免费毛片| 中文字幕2区| 国产在线观看精品| 91精品国产综合久久不国产大片 | 欧美www在线观看| 国产导航在线| 日韩无码视频播放|