趙德安 李洋
摘 要:為了解決監(jiān)測終端操作系統(tǒng)多樣化的問題,設(shè)計一款基于Qt的跨平臺遠(yuǎn)程監(jiān)控系統(tǒng)。該系統(tǒng)采用C/S模式,主要由信息采集系統(tǒng)、通訊系統(tǒng)以及遠(yuǎn)端監(jiān)控系統(tǒng)組成。無人插秧機(jī)遠(yuǎn)程監(jiān)控以Qt為開發(fā)平臺,利用北斗衛(wèi)星定位、4G通信網(wǎng)絡(luò)、Socket通信、GIS、圖像處理等技術(shù),實現(xiàn)對遠(yuǎn)程無人駕駛插秧機(jī)工況參數(shù)的監(jiān)測與控制,包括插秧機(jī)動力、行走、作業(yè)等各種信息。另外,通過對數(shù)據(jù)的分析處理,還可預(yù)測插秧機(jī)可能出現(xiàn)的故障。測試結(jié)果表明,該系統(tǒng)可有效實現(xiàn)對無人插秧機(jī)的遠(yuǎn)程監(jiān)控,并解決了操作系統(tǒng)的可移植性問題。
關(guān)鍵詞:遠(yuǎn)程監(jiān)控系統(tǒng);Qt平臺;無人插秧機(jī);通信;電子圍欄
DOI:10. 11907/rjdk. 182461
中圖分類號:TP319
文獻(xiàn)標(biāo)識碼: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 引言
我國農(nóng)業(yè)種植有著悠久歷史,然而,隨著近年來社會勞動力向沿海發(fā)達(dá)城市的轉(zhuǎn)移,從事農(nóng)業(yè)生產(chǎn)的人數(shù)大大減少,該現(xiàn)象在偏遠(yuǎn)山區(qū)更為明顯。為了解決偏遠(yuǎn)山區(qū)勞動力匱乏的問題,也為了響應(yīng)國家發(fā)展智能農(nóng)業(yè)的號召,對插秧機(jī)的研究勢在必行。
很多國家都已進(jìn)行了農(nóng)業(yè)智能化方面的研究。其中,日本是水稻種植機(jī)械化及智能化水平最高的國家,在水稻插秧機(jī)無人駕駛領(lǐng)域一直處于領(lǐng)先地位[1]。如日本北海道大學(xué)設(shè)計了一套低成本的自動導(dǎo)航系統(tǒng),在插秧機(jī)以1m/s速度行駛,且行駛距離為40m時,橫向跟蹤偏差最大值為10cm,平均偏差為3.8cm[2];韓國首爾國立大學(xué)的Cho等[3]研制基于視覺導(dǎo)航的果樹噴藥機(jī)器人,其利用視覺系統(tǒng)進(jìn)行軌跡識別,利用超聲波傳感器進(jìn)行障礙物檢測,并利用模糊控制方法實現(xiàn)自主導(dǎo)航和避障。在國內(nèi),雖然對智能作業(yè)機(jī)械的研究起步較晚,但也取得了一些成果。2001年,沈陽自動化研究所研制了一套遙控操作機(jī)器人系統(tǒng),該系統(tǒng)能夠?qū)D像和控制指令進(jìn)行無線傳遞,但結(jié)構(gòu)比較簡單,仍有待改進(jìn)[4];南京農(nóng)業(yè)大學(xué)的沈明霞等[5]在農(nóng)田圖像分割方面運用圖像形態(tài)學(xué)分析理論提取圖像形態(tài)特征,然后根據(jù)先驗知識完成圖像分類識別,利用小波變換提取農(nóng)作物邊緣,并運用虛點定位方法實現(xiàn)機(jī)器人導(dǎo)航。
由于當(dāng)前對插秧機(jī)的研究通常在某一平臺下進(jìn)行,而彼此之間無法相互移植。因此,本文提出基于Qt平臺[6]的無人插秧機(jī)遠(yuǎn)程監(jiān)控系統(tǒng),只需對代碼進(jìn)行簡單修改即能實現(xiàn)在各平臺之間的移植。在條件允許的情況下可使用PC機(jī)進(jìn)行開發(fā),也可以使用Android智能手機(jī)進(jìn)行開發(fā),從而解決了開發(fā)平臺不統(tǒng)一的問題。
1 系統(tǒng)架構(gòu)
如圖1所示為該系統(tǒng)整體架構(gòu)。該系統(tǒng)采用C/S模式,主要由信息采集系統(tǒng)、通訊系統(tǒng)[7]和遠(yuǎn)端監(jiān)控中心3部分構(gòu)成。每部分都有各自的功能和任務(wù),3部分合作完成數(shù)據(jù)的采集、轉(zhuǎn)發(fā)、收集與顯示,形成一個有機(jī)整體。機(jī)載終端和客戶機(jī)可通過連接服務(wù)器獲取相關(guān)數(shù)據(jù)[8],服務(wù)器也可根據(jù)客戶機(jī)需要向機(jī)載終端下發(fā)相應(yīng)命令,從而實現(xiàn)良好的交互功能。
2 工作原理
無人插秧機(jī)遠(yuǎn)程監(jiān)控系統(tǒng)主要由機(jī)載終端(無人插秧機(jī))、通訊系統(tǒng)和遠(yuǎn)程監(jiān)控中心3個子系統(tǒng)組成。其中,遠(yuǎn)程監(jiān)控中心包括服務(wù)器端與監(jiān)控客戶端兩部分。機(jī)載終端、監(jiān)控客戶端和服務(wù)器之間采用客戶機(jī)/服務(wù)器模式。
在機(jī)載終端,選取不同傳感器用于采集插秧機(jī)實時工況信息,并通過CAN總線傳送給工控機(jī)[9];工控機(jī)對實時拍攝的秧苗栽植圖像進(jìn)行處理后,與衛(wèi)星定位數(shù)據(jù)相結(jié)合,得到插秧機(jī)秧苗栽植質(zhì)量數(shù)據(jù);最后根據(jù)自定義通信協(xié)議對數(shù)據(jù)進(jìn)行打包處理,并通過4G移動通訊網(wǎng)絡(luò)[10]上傳到遠(yuǎn)程監(jiān)控中心。
遠(yuǎn)程監(jiān)控中心系統(tǒng)軟件采用Qt集成開發(fā)環(huán)境進(jìn)行設(shè)計,主要由系統(tǒng)設(shè)置、數(shù)據(jù)庫、插秧機(jī)管理、電子地圖等模塊組成。數(shù)據(jù)部分由下位機(jī)通過4G網(wǎng)絡(luò)傳輸給上位機(jī)服務(wù)器軟件,之后存入本地數(shù)據(jù)庫[11],以方便隨時調(diào)取。監(jiān)控客戶端通過連接服務(wù)器,獲取相應(yīng)數(shù)據(jù)并顯示在界面上。
3 機(jī)載終端
插秧機(jī)機(jī)載終端主要包括:傳感器、攝像頭、處理器、數(shù)據(jù)采集卡、GPS接收機(jī)與GPRS模塊。其中,傳感器負(fù)責(zé)采集發(fā)動機(jī)油溫、扭矩、轉(zhuǎn)速、栽植機(jī)構(gòu)位置(高位、地位)、插秧機(jī)作業(yè)速度等工況參數(shù),然后通過數(shù)據(jù)采集卡傳輸?shù)教幚砥鬟M(jìn)行處理;GPS接收機(jī)負(fù)責(zé)定位插秧機(jī),并將坐標(biāo)信息發(fā)送給處理器模塊;網(wǎng)絡(luò)攝像頭負(fù)責(zé)拍攝圖片,然后將其壓縮編碼[12]后發(fā)送給處理器。處理器則是整個采集系統(tǒng)最核心的部分,首先接收來自GPS的坐標(biāo)信息,也即經(jīng)緯度信息;其次,通過對攝像頭拍攝的圖片進(jìn)行解壓縮、解碼,并經(jīng)圖像算法處理后與經(jīng)緯度信息結(jié)合,識別出漂秧或漏秧的確切位置,并作上醒目標(biāo)記;最后,處理器將所有數(shù)據(jù)按一定協(xié)議進(jìn)行打包與封裝,通過GPRS模塊[13]傳遞給遠(yuǎn)端監(jiān)控中心。整個機(jī)載終端結(jié)構(gòu)如圖2所示。
4 GIS功能實現(xiàn)模塊
通過GPS定位與GIS地圖信息[14],能夠很容易實現(xiàn)對無人插秧機(jī)的遠(yuǎn)程監(jiān)控,并將插秧機(jī)位置信息實時顯示在PC客戶端或Android移動客戶端。此外,它還提供了很多應(yīng)用程序函數(shù)接口,可方便用戶端進(jìn)行地圖瀏覽設(shè)置,如縮放、漫游操作及地圖屬性設(shè)置,如固定比例尺、地圖疊加等。在插秧機(jī)監(jiān)控系統(tǒng)客戶端的可視化地圖操作中,PC客戶端和Android移動客戶端能對衛(wèi)星地圖實現(xiàn)圖層控制、自由縮放、漫游與加載顯示等基本功能,以便用戶掌握插秧機(jī)詳細(xì)位置信息。
5 Socket通訊
在計算機(jī)網(wǎng)絡(luò)術(shù)語中,Socket通常被稱為“套接字”,而套接字是連接的一個端點,該連接是由其兩端套接字地址唯一確定的[15]。這對套接字地址稱為套接字對(Socket Pair),每個套接字是由IP地址和端口號唯一確定的。Socket也是由TCP/IP協(xié)議抽象封裝而來的,是提供給用戶進(jìn)行網(wǎng)絡(luò)開發(fā)的應(yīng)用程序接口(API)。
套接字接口(Socket Interface)由一系列函數(shù)組成,它們和Unix I/O函數(shù)相結(jié)合用于創(chuàng)建網(wǎng)絡(luò)應(yīng)用。Socket之間的連接過程通常分為3個步驟:①服務(wù)器建立監(jiān)聽;②客戶端提出請求;③確認(rèn)并建立連接,也即所說的“三次握手”過程。基于套接字接口的網(wǎng)絡(luò)應(yīng)用概述如圖3所示。無人插秧機(jī)監(jiān)控系統(tǒng)C/S模式可使用這種基于Socket的TCP通訊方式[16],以保證數(shù)據(jù)的可靠傳輸。
6 數(shù)據(jù)存儲
數(shù)據(jù)庫能夠?qū)Ω鞣N信息進(jìn)行存儲與管理,在用戶需要時可隨時調(diào)出查詢。整個插秧機(jī)監(jiān)控系統(tǒng)需要存儲的數(shù)據(jù)很多,比如:發(fā)動機(jī)油溫、扭矩、轉(zhuǎn)速、插秧機(jī)行走速度等工況參數(shù),GPS坐標(biāo)信息,以及每個位置的秧苗栽植質(zhì)量數(shù)據(jù)等。機(jī)載端通過上傳數(shù)據(jù)進(jìn)行實時更新,也可以查看歷史數(shù)據(jù),甚至通過對歷史數(shù)據(jù)的分析對比,檢測與預(yù)測插秧機(jī)可能出現(xiàn)的異常和故障。此外,用戶也需要授權(quán)信息才能使用該系統(tǒng),以防止非相關(guān)人員修改數(shù)據(jù)。內(nèi)部人員系統(tǒng)信息也需要存儲在數(shù)據(jù)庫中,工作人員登錄系統(tǒng)時需要與數(shù)據(jù)庫[17]中已有的信息匹配成功后才能授權(quán)登錄,從而有效保障了系統(tǒng)安全。
7 客戶端軟件調(diào)試
用戶需要在PC機(jī)上安裝應(yīng)用軟件,或在智能手機(jī)上安裝相應(yīng)APP[18],通過系統(tǒng)授權(quán)即可使用該軟件,操作簡單方便。系統(tǒng)的人機(jī)交互界面簡單、美觀,用戶可隨時掌握插秧機(jī)工作狀態(tài)。其中,圖4為Android手機(jī)監(jiān)控系統(tǒng)運行主界面,圖5為PC機(jī)監(jiān)控系統(tǒng)運行主界面。它們都是從上位機(jī)監(jiān)控服務(wù)器端調(diào)取數(shù)據(jù),可以看到兩個平臺運行效果相同,表明系統(tǒng)成功實現(xiàn)了跨平臺功能。
8 結(jié)語
本文設(shè)計了一款基于Qt的無人插秧機(jī)遠(yuǎn)程監(jiān)控系統(tǒng),利用北斗衛(wèi)星定位、4G通信網(wǎng)絡(luò)、Socket通信、GIS等技術(shù),實現(xiàn)對遠(yuǎn)程無人駕駛插秧機(jī)工況參數(shù)的監(jiān)測與控制。該監(jiān)控系統(tǒng)基于Qt平臺開發(fā),解決了操作系統(tǒng)的可移植性問題,但本文設(shè)計的監(jiān)控系統(tǒng)功能比較單一,未來可加入多線程等功能對系統(tǒng)作進(jìn)一步擴(kuò)展完善。
參考文獻(xiàn):
[1] 陳訓(xùn)教. 基于無人駕駛的步行插秧機(jī)輔助行走機(jī)構(gòu)及其控制系統(tǒng)優(yōu)化設(shè)計[D]. 哈爾濱:東北農(nóng)業(yè)大學(xué), 2017.
[2] 王宇. 插秧機(jī)自動導(dǎo)航控制系統(tǒng)的設(shè)計與研究[D].杭州:浙江理工大學(xué), 2016.
[3] 施響軍. 基于機(jī)器視覺的小型插秧機(jī)導(dǎo)航研究[D].杭州:浙江理工大學(xué), 2010.
[4] 熊中剛. 插秧機(jī)智能作業(yè)的遠(yuǎn)程監(jiān)控系統(tǒng)研究[D].長沙:湖南農(nóng)業(yè)大學(xué), 2013.
[5] 金海龍. 插秧機(jī)視覺導(dǎo)航關(guān)鍵技術(shù)的研究[D].杭州:浙江理工大學(xué), 2015.
[6] 陸文周. Qt5開發(fā)及實例[M].第2版.北京:電子工業(yè)出版社,2015.
[7] 楊延雙, 張建標(biāo), 王全民. TCP/IP協(xié)議分析及應(yīng)用[M].北京:機(jī)械工業(yè)出版社, 2007.
[8] 羅亞輝,蔣蘋,吳畏. 高速插秧機(jī)無線監(jiān)控軟件系統(tǒng)設(shè)計[J]. 湖北農(nóng)業(yè)科學(xué), 2012, 51(21):4887-4890.
[9] 李玉河,邵善鋒,劉家亮. 基于CAN總線的插秧機(jī)控制系統(tǒng)設(shè)計[J]. 工程機(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數(shù)據(jù)庫實用教程[M].北京:北京師范大學(xué)出版社, 2014.
[12] 魏丹. 基于數(shù)字圖像處理的車輛智能防追尾系統(tǒng)[D].常州:江蘇理工學(xué)院, 2012.
[13] 潘崢嶸,滕尚偉,尹曉霈,等. 基于GPRS的油田抽油機(jī)遠(yuǎn)程在線監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].工業(yè)儀表與自動化裝置, 2008, 35(1):75-78.
[14] 張斌.基于GPRS/GIS的工程機(jī)械遠(yuǎn)程監(jiān)控系統(tǒng)[D].長沙:湖南大學(xué), 2007.
[15] 龔奕利,賀蓮. 深入理解計算機(jī)系統(tǒng)[M].第3版.北京:機(jī)械工業(yè)出版社,2016.
[16] 程詠喜,蔣珉. 基于TCP/IP協(xié)議的WinSock網(wǎng)絡(luò)編程及應(yīng)用[J]. 計算機(jī)時代,2004(7):29-30.
[17] 王雨竹. MySQL入門經(jīng)典[M].北京:機(jī)械工業(yè)出版社,2013.
[18] 郭霖.第一行代碼——Android[M].第2版.北京:人民郵電出版社,2016.
[19] 張輝, 陳古典. 基于物聯(lián)網(wǎng)的城市消防遠(yuǎn)程監(jiān)控系統(tǒng)[J].信息化研究, 2010, 36(10):55-58.
[20] 陳堅. Visual C++網(wǎng)絡(luò)高級編程[M].北京:人民郵電出版社, 2001.
[21] 肖健. 基于現(xiàn)代OpenGL的消防員跟蹤系統(tǒng)上位機(jī)軟件的設(shè)計與實現(xiàn)[D].南昌:東華理工大學(xué), 2017.
[22] 何嵐. 基于物聯(lián)網(wǎng)的大棚果蔬智能監(jiān)控系統(tǒng)研究[D].長沙:湖南農(nóng)業(yè)大學(xué), 2017.
(責(zé)任編輯:黃 ?。?/p>