馬俊飛,趙景波,王茂勵
(青島理工大學 自動化工程學院,山東 青島 266520)
基于Q t的智能農機RTK信息的轉發技術
馬俊飛,趙景波,王茂勵
(青島理工大學 自動化工程學院,山東 青島 266520)
現階段,Qt系統軟件在應用程序的開發上越來越頻繁。文章主要論述了這樣的話題:Qt軟件的開發是基于網絡程序上的TCP協議的RTK信息所進行轉發的。而且新建立的TCPServer類和TCPSocket類的系統,也分別出自Qt軟件系統中里已經排定的QTCPServer類和QTCPSocket類系統,在這種情況之下,就能夠非常順利的完成計算機的服務器以及計算機套接字系統的鏈接和建立,這樣,就能夠將智能農機的PTK信息進行科學、完善、可靠的轉發,達到智能農機的厘米級的定位。
智能農機;Qt系統;TCP協議;RTK信息轉發
什么是TCP通訊?TCP通訊就是Transmission Control Protocol?傳輸控制協議的縮寫,它是對網絡等數據進行傳輸的相對穩定、相對可靠的協議。TCP的信息傳輸就是把信息形成一種數據,并進行字節的二進制進行傳輸,一個數據塊或數據鏈就是由很多字段和一些數據所構成的。而數據塊中的數據行是通過回車換行來實現的。
1.1 TCP/IP協議
眾所周知,TCP協議和IP協議是相互關聯、相互作用以及相互影響的。TCP是Transmission Control Protocol傳輸控制協議的縮寫模式,IP是Internet Protocol互聯網絡協議的縮寫模式,它們的工作職能雖然不一樣,但是卻密不可分,沒有TCP協議,IP協議就無法進行工作;沒有IP協議,TCP協議的工作就沒有意義。IP協議,就是通過一臺計算機找到另外一臺計算機;TCP協議,就是將這一臺計算機的信息和數據傳輸到另外一臺計算機上。所以,TCP協議就是負責這樣的一項工作,并且還要保證信息傳輸的可靠性和穩定性。這一協議在連接時需要三個程序來進行信息傳輸的鏈接:
第一個程序:就是在進行計算機和計算機的聯機過程中,計算機的客戶端就要發送同步序列編號的數據包,也稱為syn包到達計算機的服務器,并且要到達同步序列編號的數據包發送完成的狀態,讓服務器進行確認。
第二個程序:就是等待服務器已經確認收到了同步序列編號的數據包的過程之后,也一定要確認客戶的同步序列編號的數據包的狀態,在這個時候,自己也要在發送一個同步序列編號的數據包,也就在這個時候,計算機的服務器就進入到了SYN_SENT狀態,來等待計算機客戶端的確認。
第三個程序:就是當計算機的客戶端在經過一小段時間之后,收到了計算機服務器發送的同步序列編號的數據包。在這個時候,計算機的客戶端就要開始進行確認和接收,接受完畢之后,計算機的客戶端和計算機的服務器就成功連接了,整體的程序就完成了。
1.2 TCP Socket通訊的介紹
TCP Socket通訊在工作的過程中,雖然整體工作完成后使用的時間不長,但是流程卻很復雜,計算機的服務器想要進行信息和數據的傳輸,就要進行TCP協議的鏈接,在這個時候,就要進行TCP Socket函數和程序來進行連接了,運用以上的函數進行程序工作,綁定計算機的數據和信息傳輸的端口,并在這個程序之后,還要對這些傳輸的端口進行監聽和監看,在計算機的客戶端和計算機的服務器已經連接了之后,發出并進行數據和信息的接受,這樣,一整套程序就完成了。
計算機的服務器和智能農機之所以能夠進行連接和信息以及數據的傳輸,主要就是運用計算機TCP的協議以及TCP Socket函數進行工作的,從而使計算機的服務器與智能農機之間達到科學、穩定、可靠的聯機和信息數據的傳輸工作。
計算機的服務器所提供的上位機的系統軟件會對計算機客戶端所提供的計算機的IP地址進行檢測,以實現計算機之間正確的信息和數據的傳輸。
這樣的計算機服務器就可以把網絡服務的子網和公網實時的連接起來,從而可以實現網絡信息數據的鏈接和傳送,并且完全進行監控,使信息和數據的傳輸得到完整的、科學的、穩定的、可靠的傳送,并且與我們的智能農機具有良好的兼容性。
現在所使用的Qt系統軟件有著非常好的跨平臺進行工作的性能,與此同時,Qt系統軟件提供了非常優良且程序人員習慣使用的函數和程序代碼,并進行了分類,程序人員在使用的過程中非常方便。在進行編寫計算機的客戶端和服務器的TCP協議時還可以通過改變代碼來實現其他的標準協議。具有相當強的替代性和靈活性。
(1)服務器本機IP地址的自動獲取。Qt系統軟件程序可以實現計算機服務器的IP地址的自動獲取的功能。系統自動進行操作,無需人工輸入,非常的簡單、方便。
(2)客戶端連接。Qt系統自帶的函數和程序代碼可以對計算機的客戶端進行穩定、完善、流暢的自動連接,通過函數和代碼實現計算機客戶端信息和數據的獲取和鏈接。
(3)讀取數據和轉發數據。選擇使用QByteArray類型來接收數據,從連接到SrcPort端口的客戶端接收數據,對每一個連接到DstPort端口的客戶端都發送數據。
(4)運行測試。在對程序的編寫完成之后,就要對這個程序進行運行和測試。
文章系統的介紹了基于Qt系統軟件的智能農機RTK信息轉發的管理軟件設計過程,給出了設計要求和方案,經過測試,完全滿足智能農機厘米級的定位要求。
[1]趙瑋.基于Socket的消息隊列中間件的研究與實現[D].呼和浩特:內蒙古大學,2007.
[2]么麗穎.基于Linux的服務器集群系統的研究與設計[J].電子科技,2012,(6).
[3]查普爾.TCP/IP協議原理與應用[M].北京:清華大學出版社,2009.
Forwarding Technology of RTK Information Based on Qt Intelligent Agricultural
MA Jun-fei,ZHAO Jing-bo,WANG Mao-li
(College of Automation Engineering,Qingdao University of Technology,Qingdao,Shandong 266520,China)
At this stage,Qtsystem software ismore andmore frequently used in the developmentofapplication program.The papermainly discusses the topic:Qtsoftware developmentisbased on the TCPprotocolon the network protocolRTK information. And the newly established TCPServer class and TCPSocket class system is also from the Qt software system in the QTCPServer class and QTCPSocket class system.In this case,computer's server and computer socketword system link and the establishment can be very successfully completed,so that the intelligentagriculturalmachinery PTK information can be scientific,perfectand reliable forwarding to reach the centimeter-levelpositioningof intelligentagriculturalmachinery.
intelligentagriculturalmachinery;Qtsystem;TCPprotocol;RTK information forwarding
S220
A
2095-980X(2017)05-0092-01
2017-04-16
馬俊飛(1992-),男,山東濟南人,碩士研究生,主要研究方向:控制理論與控制工程。