趙德安 李洋

摘 要:為了解決監測終端操作系統多樣化的問題,設計一款基于Qt的跨平臺遠程監控系統。該系統采用C/S模式,主要由信息采集系統、通訊系統以及遠端監控系統組成。無人插秧機遠程監控以Qt為開發平臺,利用北斗衛星定位、4G通信網絡、Socket通信、GIS、圖像處理等技術,實現對遠程無人駕駛插秧機工況參數的監測與控制,包括插秧機動力、行走、作業等各種信息。另外,通過對數據的分析處理,還可預測插秧機可能出現的故障。測試結果表明,該系統可有效實現對無人插秧機的遠程監控,并解決了操作系統的可移植性問題。
關鍵詞:遠程監控系統;Qt平臺;無人插秧機;通信;電子圍欄
DOI:10. 11907/rjdk. 182461
中圖分類號:TP319
文獻標識碼:A文章編號:1672-7800(2019)006-0093-03
Abstract: In order to solve the problem of diversity of monitoring terminal operating system, this paper designs a Qt-based cross-platform remote monitoring system. The system adopts C/S mode, and it is mainly composed of information acquisition system, communication system and remote monitoring system. The remote monitoring system of unmanned rice transplanter takes Qt as the development platform, uses Beidou satellite positioning, 4G communication network, socket communication, GIS, image processing and other technologies to realize the monitoring and control of the operating parameters of the remote unmanned rice transplanter, including the power, walking, operation and other information of the transplanter. In addition, through processing and analyzing the data, it can also predict some possible faults of rice transplanter. In order to make the transplanter work in the effective area, it is also possible to set up an electronic fence in the operation area of the transplanter.
Key Words: remote monitoring system; Qt platform; unmanned rice transplanter; communication; electronic fence
0 引言
我國農業種植有著悠久歷史,然而,隨著近年來社會勞動力向沿海發達城市的轉移,從事農業生產的人數大大減少,該現象在偏遠山區更為明顯。為了解決偏遠山區勞動力匱乏的問題,也為了響應國家發展智能農業的號召,對插秧機的研究勢在必行。
很多國家都已進行了農業智能化方面的研究。其中,日本是水稻種植機械化及智能化水平最高的國家,在水稻插秧機無人駕駛領域一直處于領先地位[1]。如日本北海道大學設計了一套低成本的自動導航系統,在插秧機以1m/s速度行駛,且行駛距離為40m時,橫向跟蹤偏差最大值為10cm,平均偏差為3.8cm[2];韓國首爾國立大學的Cho等[3]研制基于視覺導航的果樹噴藥機器人,其利用視覺系統進行軌跡識別,利用超聲波傳感器進行障礙物檢測,并利用模糊控制方法實現自主導航和避障。在國內,雖然對智能作業機械的研究起步較晚,但也取得了一些成果。2001年,沈陽自動化研究所研制了一套遙控操作機器人系統,該系統能夠對圖像和控制指令進行無線傳遞,但結構比較簡單,仍有待改進[4];南京農業大學的沈明霞等[5]在農田圖像分割方面運用圖像形態學分析理論提取圖像形態特征,然后根據先驗知識完成圖像分類識別,利用小波變換提取農作物邊緣,并運用虛點定位方法實現機器人導航。
由于當前對插秧機的研究通常在某一平臺下進行,而彼此之間無法相互移植。因此,本文提出基于Qt平臺[6]的無人插秧機遠程監控系統,只需對代碼進行簡單修改即能實現在各平臺之間的移植。在條件允許的情況下可使用PC機進行開發,也可以使用Android智能手機進行開發,從而解決了開發平臺不統一的問題。
1 系統架構
如圖1所示為該系統整體架構。該系統采用C/S模式,主要由信息采集系統、通訊系統[7]和遠端監控中心3部分構成。每部分都有各自的功能和任務,3部分合作完成數據的采集、轉發、收集與顯示,形成一個有機整體。機載終端和客戶機可通過連接服務器獲取相關數據[8],服務器也可根據客戶機需要向機載終端下發相應命令,從而實現良好的交互功能。
2 工作原理
無人插秧機遠程監控系統主要由機載終端(無人插秧機)、通訊系統和遠程監控中心3個子系統組成。其中,遠程監控中心包括服務器端與監控客戶端兩部分。機載終端、監控客戶端和服務器之間采用客戶機/服務器模式。
在機載終端,選取不同傳感器用于采集插秧機實時工況信息,并通過CAN總線傳送給工控機[9];工控機對實時拍攝的秧苗栽植圖像進行處理后,與衛星定位數據相結合,得到插秧機秧苗栽植質量數據;最后根據自定義通信協議對數據進行打包處理,并通過4G移動通訊網絡[10]上傳到遠程監控中心。
遠程監控中心系統軟件采用Qt集成開發環境進行設計,主要由系統設置、數據庫、插秧機管理、電子地圖等模塊組成。數據部分由下位機通過4G網絡傳輸給上位機服務器軟件,之后存入本地數據庫[11],以方便隨時調取。監控客戶端通過連接服務器,獲取相應數據并顯示在界面上。
3 機載終端
插秧機機載終端主要包括:傳感器、攝像頭、處理器、數據采集卡、GPS接收機與GPRS模塊。其中,傳感器負責采集發動機油溫、扭矩、轉速、栽植機構位置(高位、地位)、插秧機作業速度等工況參數,然后通過數據采集卡傳輸到處理器進行處理;GPS接收機負責定位插秧機,并將坐標信息發送給處理器模塊;網絡攝像頭負責拍攝圖片,然后將其壓縮編碼[12]后發送給處理器。處理器則是整個采集系統最核心的部分,首先接收來自GPS的坐標信息,也即經緯度信息;其次,通過對攝像頭拍攝的圖片進行解壓縮、解碼,并經圖像算法處理后與經緯度信息結合,識別出漂秧或漏秧的確切位置,并作上醒目標記;最后,處理器將所有數據按一定協議進行打包與封裝,通過GPRS模塊[13]傳遞給遠端監控中心。整個機載終端結構如圖2所示。
4 GIS功能實現模塊
通過GPS定位與GIS地圖信息[14],能夠很容易實現對無人插秧機的遠程監控,并將插秧機位置信息實時顯示在PC客戶端或Android移動客戶端。此外,它還提供了很多應用程序函數接口,可方便用戶端進行地圖瀏覽設置,如縮放、漫游操作及地圖屬性設置,如固定比例尺、地圖疊加等。在插秧機監控系統客戶端的可視化地圖操作中,PC客戶端和Android移動客戶端能對衛星地圖實現圖層控制、自由縮放、漫游與加載顯示等基本功能,以便用戶掌握插秧機詳細位置信息。
5 Socket通訊
在計算機網絡術語中,Socket通常被稱為“套接字”,而套接字是連接的一個端點,該連接是由其兩端套接字地址唯一確定的[15]。這對套接字地址稱為套接字對(Socket Pair),每個套接字是由IP地址和端口號唯一確定的。Socket也是由TCP/IP協議抽象封裝而來的,是提供給用戶進行網絡開發的應用程序接口(API)。
套接字接口(Socket Interface)由一系列函數組成,它們和Unix I/O函數相結合用于創建網絡應用。Socket之間的連接過程通常分為3個步驟:①服務器建立監聽;②客戶端提出請求;③確認并建立連接,也即所說的“三次握手”過程。基于套接字接口的網絡應用概述如圖3所示。無人插秧機監控系統C/S模式可使用這種基于Socket的TCP通訊方式[16],以保證數據的可靠傳輸。
6 數據存儲
數據庫能夠對各種信息進行存儲與管理,在用戶需要時可隨時調出查詢。整個插秧機監控系統需要存儲的數據很多,比如:發動機油溫、扭矩、轉速、插秧機行走速度等工況參數,GPS坐標信息,以及每個位置的秧苗栽植質量數據等。機載端通過上傳數據進行實時更新,也可以查看歷史數據,甚至通過對歷史數據的分析對比,檢測與預測插秧機可能出現的異常和故障。此外,用戶也需要授權信息才能使用該系統,以防止非相關人員修改數據。內部人員系統信息也需要存儲在數據庫中,工作人員登錄系統時需要與數據庫[17]中已有的信息匹配成功后才能授權登錄,從而有效保障了系統安全。
7 客戶端軟件調試
用戶需要在PC機上安裝應用軟件,或在智能手機上安裝相應APP[18],通過系統授權即可使用該軟件,操作簡單方便。系統的人機交互界面簡單、美觀,用戶可隨時掌握插秧機工作狀態。其中,圖4為Android手機監控系統運行主界面,圖5為PC機監控系統運行主界面。它們都是從上位機監控服務器端調取數據,可以看到兩個平臺運行效果相同,表明系統成功實現了跨平臺功能。
8 結語
本文設計了一款基于Qt的無人插秧機遠程監控系統,利用北斗衛星定位、4G通信網絡、Socket通信、GIS等技術,實現對遠程無人駕駛插秧機工況參數的監測與控制。該監控系統基于Qt平臺開發,解決了操作系統的可移植性問題,但本文設計的監控系統功能比較單一,未來可加入多線程等功能對系統作進一步擴展完善。
參考文獻:
[1] 陳訓教. 基于無人駕駛的步行插秧機輔助行走機構及其控制系統優化設計[D]. 哈爾濱:東北農業大學, 2017.
[2] 王宇. 插秧機自動導航控制系統的設計與研究[D].杭州:浙江理工大學, 2016.
[3] 施響軍. 基于機器視覺的小型插秧機導航研究[D].杭州:浙江理工大學, 2010.
[4] 熊中剛. 插秧機智能作業的遠程監控系統研究[D].長沙:湖南農業大學, 2013.
[5] 金海龍. 插秧機視覺導航關鍵技術的研究[D].杭州:浙江理工大學, 2015.
[6] 陸文周. Qt5開發及實例[M].第2版.北京:電子工業出版社,2015.
[7] 楊延雙, 張建標, 王全民. TCP/IP協議分析及應用[M].北京:機械工業出版社, 2007.
[8] 羅亞輝,蔣蘋,吳畏. 高速插秧機無線監控軟件系統設計[J]. 湖北農業科學, 2012, 51(21):4887-4890.
[9] 李玉河,邵善鋒,劉家亮. 基于CAN總線的插秧機控制系統設計[J]. 工程機械, 2012(10):10-13.
[10] ZHANG Z, LUO W, LI X, et al. The design and implementation of remote real time monitor system for embedded devices based on GPRS[C].International Conference on Computer Science and Electronics Engineering, 2012:432-436.
[11] 石正喜. MySQL數據庫實用教程[M].北京:北京師范大學出版社, 2014.
[12] 魏丹. 基于數字圖像處理的車輛智能防追尾系統[D].常州:江蘇理工學院, 2012.
[13] 潘崢嶸,滕尚偉,尹曉霈,等. 基于GPRS的油田抽油機遠程在線監控系統的設計與實現[J].工業儀表與自動化裝置, 2008, 35(1):75-78.
[14] 張斌.基于GPRS/GIS的工程機械遠程監控系統[D].長沙:湖南大學, 2007.
[15] 龔奕利,賀蓮. 深入理解計算機系統[M].第3版.北京:機械工業出版社,2016.
[16] 程詠喜,蔣珉. 基于TCP/IP協議的WinSock網絡編程及應用[J]. 計算機時代,2004(7):29-30.
[17] 王雨竹. MySQL入門經典[M].北京:機械工業出版社,2013.
[18] 郭霖.第一行代碼——Android[M].第2版.北京:人民郵電出版社,2016.
[19] 張輝, 陳古典. 基于物聯網的城市消防遠程監控系統[J].信息化研究, 2010, 36(10):55-58.
[20] 陳堅. Visual C++網絡高級編程[M].北京:人民郵電出版社, 2001.
[21] 肖健. 基于現代OpenGL的消防員跟蹤系統上位機軟件的設計與實現[D].南昌:東華理工大學, 2017.
[22] 何嵐. 基于物聯網的大棚果蔬智能監控系統研究[D].長沙:湖南農業大學, 2017.
(責任編輯:黃 健)