?

基于4G的機器人與云平臺無線數據傳輸系統設計

2021-02-16 00:40周海波嚴佳歡趙一嬌
天津理工大學學報 2021年6期
關鍵詞:串口服務器傳輸

聶 冬,宋 陽,周海波,嚴佳歡,趙一嬌,*

(1.天津理工大學a.天津市先進機電系統設計與智能控制重點實驗室,b.機電工程國家級實驗教學示范中心,天津 300384)

為實現機器人和云平臺服務器之間數據的傳輸功能,在實驗過程中機器人會在不同環境中采集實驗所需要的溫度、濕度和位置等系列數據,并將采集到的實驗數據通過第四代移動通信技術(the 4th generation mobile communication technology,4G)無線傳輸的方式傳輸至云平臺服務器。此時機器人采集到的各類數據信息就可以進行分類存儲,同時應用4G網絡通信技術,不僅能實現數據的無線傳輸,而且為云端數據分析、多機器人數據共享以及人機信息交互等奠定了技術基礎。

近年來隨著移動通信技術的快速發展,利用4G網絡技術作為多機器人的無線傳輸方式成為一種趨勢[1-5]。與4G網絡無線數據傳輸技術相比,同領域的紫蜂(ZigBee)無線數據傳輸技術、藍牙(Bluetooth)無線數據傳輸技術和無線網絡通信技術(Wi-Fi)等雖然成本較低,但存在著傳輸范圍有限的缺點,在遠距離數據傳輸場景中受到限制。4G網絡技術近年來得到充分地發展,雖然仍存在信號強度易受建筑物影響以及傳輸延遲較大等缺點,但是因其覆蓋面廣、分散性強和靈活性高,能擺脫空間的限制,實現大面積和遠距離傳輸等優點仍具有更好的發展前景[6-10]。

1 總體設計

1.1 硬件設計

在實驗中,移動機器人在不同環境中采集相應的數據信息,當機器人采集到數據信息后會根據具體要求上傳到云平臺服務器。當某一臺機器人需要其他機器人的數據信息時,就可以直接向云平臺服務器發送請求,來獲取到相關的數據信息;實驗研究人員也可以根據多臺機器人采集到的不同數據信息進行對比研究、分析處理等工作,對于發現其內在的深層規律有很大的幫助。硬件結構圖如圖1所示。

圖1 硬件結構圖Fig.1 Hardware design structural diagram

機器人上安裝有32位微控制器(STMicroelectronics32,STM32)微控制器,4G模塊及相應的傳感器,根據實驗的具體需要,傳感器能夠收集相應的數據信息,再通過4G網絡與Internet相連接,把采集到的數據信息傳輸到云平臺服務器中,最終實現機器人與云平臺服務器之間的無線數據通信功能。無線傳輸系統主要包括STM32主控芯片、降壓電路、穩壓電路、晶振電路、CH340程序下載電路、LCD顯示屏、DS18B20溫度傳感器和4G模塊等,硬件系統電路原理圖如圖2所示。

圖2 硬件系統電路原理圖Fig.2 Circuit schematic diagram of hardware system

1.2 數據傳輸原理

在實現機器人與云平臺服務器之間的無線數據傳輸過程中,其數據以JavaScript對象簡譜(Javascript object notation,JSON)的形式傳送,利用超文本傳輸協議(hyper text transfer protocol,HTTP),HTTP協議屬于開放式系統互聯通信參考模型(open systen interconnection reference model OSI),模型7層結構中的應用層,其傳輸層是基于傳輸控制協議(transmission control protocol,TCP)實現的,TCP協議是可靠的、面向連接和需要三次“握手”才可以建立的字節流協議標準,進而保證了數據安全地與高效地傳輸。

1.2.1 OSI模型概述

OSI模型是7層網絡物理模型,從下到上依次為物理層、數據鏈路層、網絡層、傳輸層、會話層、表示層和應用層[11]。這些邏輯分層劃分代表了無線數據傳輸的基本過程,層與層之間相互獨立同時又相互依靠。原則上上層依賴于下層,而下層又為上層提供服務[12]。

在數據傳輸的過程中,數據流遵循OSI網絡物理模型,數據發送端將需要發送的數據發出,數據就會從應用層打包并封裝到物理層,并在物理層中轉化為比特流,通過Internet網傳送至數據接收端的物理層,然后數據層被解包并從物理層解封裝到應用層,最終實現數據的傳輸功能。

1.2.2 HTTP協議概述

HTTP協議中定義了8種方法,或稱為“動作”,分別為獲取資源(GET)、傳輸實體(POST)、傳輸文件(PUT)、獲取報文首部(HEAD)、刪除文件(DELETE)、詢問支持(OPTIONS)、回顯診斷(TRACE)和連接代理(CONNECT)以指示操作請求地址(Request-URI)指定的資源的不同方式。

這8種方法都可以請求HTTP,但在實踐中常用get和post命令,其他請求方法也可以通過這2種方法間接實現。其請求過程由4個部分組成,分別為請求行(request line)、請求頭部(header)、空行和請求數據[13]。

1.2.3 數據傳輸方式JSON概述

JSON是一種起源于JavaScript的輕量級的數據交換形式,以鍵值對的形式傳輸信息,有多種編程語言都支持JSON形式,適用性廣。一個JSON對象是若干個無序的鍵/值對的集合,一個對象以左括號“{”開始,右括號“}”結束,鍵/值對組合中的鍵名寫在前面并用雙引號包裹,鍵與值之間使用冒號分隔,不同鍵值對之間逗號分隔[14]。其格式示例如下所示:{"Key1":Value1,"Key2":Value2}。

1.3 模式設定

4G模塊主要包含3層功能區域,即基于TCP/UDP協議的透明傳輸模式和基于HTTP協議的超文字傳輸協定常駐程式客戶(hyper text transfer protocol daemon client,HTTPD Client)模式,這兩層共同組成4G模塊的傳輸模式;另一層是AT指令模式,它是4G模塊的設置模式。

在實際進行無線數據傳輸的過程中,首先,用戶需要進入4G模塊的AT指令模式來設置AT指令,待設置好后需要重啟模塊;然后用戶可以根據自身通訊的基本情況來具體選擇是透明傳輸模式還是HTTPD Client模式。

1)AT指令模式。在無線數據傳輸的實驗中,需要先進入AT指令模式,對模塊進行參數設置。

首先,串口設備連續向4G模塊發送“+++”。收到“+++”后,4G模塊將用‘a’回復串口設備;當串口設備收到‘a’時,必須在3 s內給4G模塊發送另一個‘a’,并且在收到‘a’后,4G模塊將用“+ok”回復串口設備。此時,4G模塊進入“AT指令模式”。在此期間,串口設備可以向其發送AT指令。

在設置完AT指令時,串口設備給4G模塊發送指令“AT+ENTM”,當4G模塊接收到指令之后,給串口設備回復一個“OK”,這時4G模塊就回到之前的工作模式[15]。

2)網絡透傳模式。網絡透傳模式只需將數據包傳送到目的節點,在數據傳輸過程中不對數據進行分組、編碼、加密和截斷等任何處理,只需保證傳輸質量即可的一種傳輸模式。在實驗過程中,4G模塊通過4G網絡基站將接收到的串口數據傳輸到因特網中,最后將TCP/UDP數據傳輸到云平臺服務器。同時,云平臺服務器還可以將相關的TCP/UDP數據返回到因特網,通過4G網絡基站反饋給4G模塊,實現雙向通訊過程。在此模式之下,一次發送數據的最大長度由打包長度決定,范圍是1~1 024字節。網絡透傳模式工作過程如圖3所示。

圖3 網絡透傳模式工作過程Fig.3 Working process of network transmission

3)HTTPD Client模式。HTTPD Client模式是一種傳輸模式,其中接收的數據包被處理成某個組數據包,然后發送到HTTP服務器。在實驗過程中,4G模塊通過4G網絡基站將接收到的串口數據信息發送到因特網,并在傳輸過程中對4G數據進行分組處理,最后形成HTTP數據包并傳輸到HTTP服務器。同時HTTP服務器還將相關的HTTP數據包返回到因特網,并通過4G網絡基站反饋給4G模塊,以實現雙向通信過程。在此模式之下,由于串口接收緩存為1 000字節,所以7S4組包后的包大小最多為1 000字節。其工作過程與網絡透傳模式的區別在于基站、因特網與云平臺之間傳輸的數據由TCP/UDP數據改變為HTTP數據包。

1.4 軟件實現流程

軟件部分主要根據硬件中通訊的原理圖和模型圖,通過C語言來實現對STM32微控制器的程序編譯過程。主要從以下幾個方面進行操作設置,包括數據采集端的程序編譯、控制端的程序編譯、數據傳輸端的程序編譯和數據接收端的程序編譯幾個部分。軟件設計流程如圖4所示。

圖4 軟件設計流程Fig.4 Flow chart of software design

從圖4可以看出,實驗中溫度傳感器采集到溫度數據后,會將其傳輸到云平臺服務器,當云平臺服務器成功接收數據時,將會根據收到的數據信息下載回傳指令,給STM32微控制器返回發送的溫度值,并在回復“SUCCESS”時做出“LED ON”的指令操作。這時紅色發光二極管(light emitting diode,LED)燈就會亮,以這種方式,可以通過液晶顯示器(liquid crystal disply,LCD)顯示屏和LED的亮滅來判斷是否完成雙向通訊過程。

在實驗中采集溫度數據時,采用實時采集與傳輸的方案,數據會持續上傳服務器,且服務器始終接收新的數據以實現實時更新的效果。

2 實驗與調試

2.1 硬件搭建

在完成4G無線數據傳輸的實驗中,將4G模塊(濟南有人物聯網技術有限公司生產的USR-LTE-7S4模塊)連接上天線、接入電源、插入4G網卡和通過九針串口線與STM32微控制器相連接。STM32控制芯片通過P11接口連接到DS18B20溫度傳感器,用于采集溫度數據。然后將連接好的設備安裝在機器人上,完成機器人的4G無線數據傳輸的硬件搭建。這樣,可以在STM32微控制器程序的驅動下完成數據的采集與傳輸,實現機器人與云平臺服務器之間的無線通信功能。4G模塊與其他各個部件連接,硬件系統如圖5所示。

圖5 硬件系統Fig.5 Hardware system

2.2 實驗結果

2.2.1 數據發送與回傳

以傳輸溫度數據為例,STM32微控制器在程序的驅動下,首先控制4G模塊進入AT指令設置模式,待設置完成后,通過網絡透傳模式向云平臺服務器發送溫度數據,LCD數據輸出顯示當前采集溫度為29。當云平臺服務器從STM32微控制器收到數據信息時,它將根據具體結果給出反饋指示,表明服務器已經收到其發來的數據包。在此次實驗中,服務器在接收到數據信息后會根據要求在顯示屏上顯示數據回傳是否成功,如果成功回傳就做出使LED紅燈亮的指示,回傳當前溫度為29,LCD數據發送與回傳顯示如圖6所示。

圖6 LCD數據發送與回傳顯示Fig.6 LCD data output display

2.2.2 云平臺數據接收

云平臺服務器搭載了一個網頁服務器,在接收到DS18B20溫度傳感器采集到的溫度數據信息后,可以在相應的網頁中顯示出來,上傳的溫度數據為29,云平臺服務器顯示結果如圖7所示。

圖7 云平臺服務器顯示結果Fig.7 Cloud platform server display results

2.2.3 網絡延時實驗

機器人應用中有2種數據傳輸,一種是機器人向服務器上傳自身采集的數據,另一種是服務器向機器人下達的控制命令。機器人自身數據采樣與上傳周期為1 s,在此情況下需要考慮4G網絡的網絡延時,期望的網絡延時在1 s以內,這樣不會影響下一次上傳。服務器對機器人下發的控制指令一般是下達任務,而非實施控制,所以不需要考慮網絡延時,只需要考慮命令是否能準確到達。

實驗過程首先由機器人上報自身信息,而后接收服務器返回的控制指令,統計上傳與下達的總用時與丟包率。

經100次收發實驗統計,網絡延時最小值為:60.0 ms,最大值為:179.0 ms,平均值為:114.7 ms,丟包率為:0%,滿足實際使用需求。

3 結論

在機器人與云平臺服務器之間,采用STM32嵌入式系統和4G無線傳輸技術相結合,設計了無線數據傳輸的硬件和軟件系統,實現了數據由采集端到4G網絡,再通過Internet網絡運營商將數據信息最終傳輸到云平臺服務器。最終實驗實現了機器人與云平臺服務器之間的雙向無線通信功能,研究成果對無線數據傳輸技術在機器人通信的發展和應用中具有推動作用。

猜你喜歡
串口服務器傳輸
軌道交通信號系統無線傳輸應用
特斯拉的接班人:電力可以通過空氣傳輸
5G高新視頻的雙頻段協同傳輸
5G 16K虛擬現實視頻傳輸關鍵技術
基于API函數庫實現串口數據通信的分析與設計
基于EM9000工控板高性能雙串口通信模型設計與實現
2018年全球服務器市場將保持溫和增長
MCS—51單片機中的多串口通訊技術的應用
用獨立服務器的站長注意了
定位中高端 惠普8路服務器重裝上陣
91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合