簡介
隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,串口通信和TCP/IP通信業(yè)務(wù)越來越廣泛。在實際應(yīng)用中,我們經(jīng)常會遇到需要將串口數(shù)據(jù)轉(zhuǎn)發(fā)到TCP服務(wù)器或?qū)CP服務(wù)器數(shù)據(jù)轉(zhuǎn)發(fā)到串口的情況,所以本文將介紹如何實現(xiàn)串口接入TCP服務(wù)器進行網(wǎng)絡(luò)通信以達到擴展串口通信傳輸距離的目的等。
本實驗選用HPM6450開發(fā)板,以及可將節(jié)點進行拖拽連接的圖形化設(shè)計工具AWFlow Designer,搭建一個串口轉(zhuǎn)TCP Server的串口服務(wù)器與多個TCP Clients進行雙向透明數(shù)據(jù)傳輸實驗。該實驗用到了serial_in_ex,fscript,push,tcp_server_ex和serial_out_ex節(jié)點。
前期準(zhǔn)備
在本文之前,已有多篇串口服務(wù)器系列的博客文章,在此羅列部分鏈接文章,若有興趣可在EsDA技術(shù)專欄查看相關(guān)全部文章。
- EsDAMPC-ZC1應(yīng)用——串口服務(wù)器(一)
- EsDAMPC-ZC1應(yīng)用——串口服務(wù)器(二)
-
【EsDA應(yīng)用】串口轉(zhuǎn)zws物聯(lián)網(wǎng)云平臺
1. 硬件準(zhǔn)備
準(zhǔn)備TTL轉(zhuǎn)USB串口工具。
準(zhǔn)備好HPM6450開發(fā)板,并按下圖連接好硬件。
-
DUART調(diào)試串口可用于打印調(diào)試信息與shell命令查詢:將HPM6450開發(fā)板引出的DUART的TXD與RXD分別與TTL轉(zhuǎn)USB串口工具的RX與TX連接,并將TTL轉(zhuǎn)USB串口工具插到PC機的USB口上。若用戶TTL轉(zhuǎn)USB串口工具數(shù)量告急,在使用shell命令獲取開發(fā)板網(wǎng)口IP號后串口工具可以給UTX1/RX1使用,連線方式相同。
-
網(wǎng)口下載流圖:將HPM6450的NET0網(wǎng)口通過網(wǎng)線與PC機上的網(wǎng)絡(luò)端口進行連接,組建一個小型局域網(wǎng)。
2. 軟件準(zhǔn)備
2.1 網(wǎng)口下載流圖開發(fā)板固件運行之后,在串口調(diào)試助手sscom工具中選擇與DUART相連接的串口端口號,波特率115200,隨即打開串口,輸入"ip addr "即可查詢開發(fā)板網(wǎng)絡(luò)端口IP詳細信息。
根據(jù)硬件連接可知,本文使用的是NET0,對應(yīng)的IP地址是192.168.137.251。得知開發(fā)板的網(wǎng)口IP接下來配置PC機上以太網(wǎng)的IP地址,與開發(fā)板對應(yīng)的IP地址在同一局域網(wǎng)就可,本文配置的PC上IP地址如下:
怎樣確認PC與開發(fā)板成功在同一局域網(wǎng)下?PING通對方即可。


本文不再贅述串口通信連接與TCP通信連接成功的過程,具體細節(jié)可查看以下鏈接進行學(xué)習(xí)。
- 【EsDA應(yīng)用】5分鐘實現(xiàn)一個串口通信業(yè)務(wù)
-
【EsDA應(yīng)用】串口轉(zhuǎn)TCP客戶端
- 建立TCP連接后,由TCP客戶端上報數(shù)據(jù)給HPM6450搭建的TCP服務(wù)器,隨后從TCP服務(wù)器讀取數(shù)據(jù)并將發(fā)送到UTX1/RX1串口,最終在串口助手上進行打印顯示。
- 從UTX1/RX1串口讀取串口助手發(fā)送的數(shù)據(jù),并將數(shù)據(jù)發(fā)送到TCP服務(wù)器,由TCP服務(wù)器將數(shù)據(jù)下發(fā)給已建立TCP通信連接的客戶端。
1. 添加節(jié)點并連線
本實驗實現(xiàn)串口轉(zhuǎn)TCP Server的串口服務(wù)器與多個TCP Clients進行雙向透明數(shù)據(jù)傳輸實驗。采用的節(jié)點有serial_in_ex,fscript,push,tcp_server_ex和serial_out_ex。
2. 配置節(jié)點
雙擊serial_in_ex節(jié)點,并點擊配置節(jié)點名旁邊的鉛筆圖標(biāo)去配置串口的屬性
根據(jù)HPM6450的硬件資料表,選擇所使用的串口設(shè)備對應(yīng)的端口號:UTX1/RX1對應(yīng)的是uart5,根據(jù)需要依次配置波特率,字節(jié)大小,奇偶校驗,停止位等屬性參數(shù)。
var str = istream_read_string(msg.istream,100)
msg.payload = str
ostream_write_string(msg.ostream,msg.payload)
雙擊fscript的消費者節(jié)點push,因為是將serial_in_ex讀取到的數(shù)據(jù)傳遞給TCP Server所以push的目標(biāo)節(jié)點為tcp_server_ex。
雙擊tcp_server_ex節(jié)點,因TCP通信與流圖下載都是用NET0的IP地址,所以端口號不能有沖突,因為數(shù)據(jù)是自定義的沒有幀頭,所以屬性值輸出選擇1并不攜帶報文頭部。
雙擊tcp_server_ex的消費者節(jié)點serial_out_ex,因為tcp_server_ex與serial_out_ex節(jié)點使用的是輸入流istream和輸出流ostream,所以不需要數(shù)據(jù)轉(zhuǎn)換節(jié)點,直連即可。綁定的串口與serial_in_ex的端口號一致即可。

3. 下載驗證
根據(jù)流圖端口配置可知下載流圖的端口號為8888,以及軟件準(zhǔn)備可知下載流圖網(wǎng)口IP號為192.168.137.251。那么下載流圖時選擇IP配置如下
本文在PC電腦上用NetAssist.exe網(wǎng)絡(luò)調(diào)試助手工具搭建了兩個TCP Clients,配置遠端主機IP地址和端口號后同時開啟連接,可在數(shù)據(jù)日志中查看TCP客戶端發(fā)出的數(shù)據(jù)以及從TCP服務(wù)端接收到的數(shù)據(jù)如下。

在PC上的串口調(diào)試助手SSCOM工具上可查看到從服務(wù)端讀取到的兩個TCP客戶端上報數(shù)據(jù)以及串口助手發(fā)送的數(shù)據(jù)如下。
由上可知,本實驗實現(xiàn)了串口服務(wù)器之TCP服務(wù)器與兩個不同的TCP客戶端進行雙向數(shù)據(jù)傳輸?shù)墓δ堋?/span>


-
致遠電子
+關(guān)注
關(guān)注
13文章
412瀏覽量
31936
原文標(biāo)題:【EsDA應(yīng)用】串口服務(wù)器——TCP Server
文章出處:【微信號:ZLG_zhiyuan,微信公眾號:ZLG致遠電子】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
串口服務(wù)器選型全攻略:開啟高效通信新時代?

串口服務(wù)器:到手就能用?它的強大用途超乎想象

2025全球串口服務(wù)器品牌盤點:十大權(quán)威廠商推薦

# **串口服務(wù)器:** **買了就能直接用嗎?它究竟有啥功能**

2025 年串口服務(wù)器品牌解析:技術(shù)演進與行業(yè)應(yīng)用指南

串口服務(wù)器究竟有何用途
工業(yè)互聯(lián)進階之路:串口服務(wù)器與物聯(lián)網(wǎng)技術(shù)的深度融合

NA611系列WiFi串口服務(wù)器常見問題以及解決辦法
串口服務(wù)器在能源物聯(lián)網(wǎng)數(shù)據(jù)采集中的應(yīng)用技術(shù)參數(shù)介紹#

1分鐘,實現(xiàn)傳感器通過串口服務(wù)器接入ZWS云

【新品】性能飛躍,一鍵部署!NE2系列多款型號串口服務(wù)器上線

評論