如何讓自動化領域的串口設備具備聯網能力?本文將基于EsDA平臺,帶你開發一個串口轉UDP服務器業務,快速實現串口聯網功能。 ?簡介串口服務器在物聯網中的應用十分廣泛,數據采集上報、遠程控制等網絡化項目都需要用到串口服務器,本文基于EsDA開發平臺,為您介紹如何快速搭建一個串口轉UDP服務器。
基本工作原理:通過搭建UDP客戶端,實現串口與UDP服務器的雙向透傳通信。
本實現選用MPC-ZC1開發板,該板卡內嵌高集成度的4G Cat.1 ZC1智能網聯模塊,便于建立UDP客戶端;擁有多路串口外設(232,485,TTL等),串口資源豐富。該實驗用到了serial_in_ex,fscript,push,tcpudp_client和serial_out_ex節點。
?前期準備
若是剛開始接觸EsDA MPC-ZC1 ,可先閱讀EsDA MPC-ZC1系列文章,從零開始搭建環境和掌握基本開發流程,已有基礎的可以跳過:
EsDAMPC-ZC1入門(一)——軟件安裝
【EsDA應用】如何使用5分鐘搭建一個串口通信業務
EsDAMPC-ZC1 應用——串口服務器(一)
EsDAMPC-ZC1應用——串口服務器(二)
【EsDA應用】串口轉zws物聯網云平臺
硬件相關準備工作:
1. 準備一個USB轉TTL串口工具(文中使用的是ch340芯片作為主控一款工具,選用其它等效型號亦可),如下圖所示:
2. 準備好MPC-ZC1開發板,并按照下圖所示連接好硬件。
將MPC-ZC1開發板引出的TX2與RX2分別與USB轉TTL串口工具的RX與TX連接,并將USB轉TTL串口工具插到PC機USB口上。 ?業務處理
支持串口和UDP進行雙向數據傳輸:本實驗實現串口通過UDP客戶端向UDP服務器透傳數據,UDP服務器接收到數據后回發給UDP客戶端再轉發給串口助手的業務,實現串口數據的云端通信功能。業務邏輯圖如下所示。
1. 添加節點并連線
本實驗實現串口通過UDP客戶端向UDP服務器透傳數據,UDP服務器接收到數據后回發通過UDP客戶端透傳到串口設備。采用的節點有serial_in_ex,fscript,push,tcpudp_client和serial_out_ex。
2.配置節點
雙擊serial_in_ex節點,并點擊配置節點名旁邊的鉛筆圖標去配置串口的屬性。
根據MPC-ZC1的硬件資料表,選擇所使用的串口設備對應的端口號,根據需要依次配置波特率,字節大小,奇偶校驗,停止位等屬性參數。
雙擊serial_in_ex的消費者節點fscript,將從串口接收到的數據打印并傳遞給tcpudp_client節點。
因為tcpudp_client節點是pump類型的節點無輸入,在這里通過push節點,將udp客戶端定時發送的數據作為tcpudp_client節點的輸入參數payload進行傳遞。雙擊push節點,在目標節點這一欄屬性參數中輸入tcpudp_client。
雙擊tcpudp_client節點,因為使用的是UDP傳輸協議,且這里的主機號和端口號是UDP測試服務器的網址和端口號。配置相應的屬性參數如下:
雙擊tcpudp_client的消費者節點fscript,讀取從服務器發送過來的數據通過組包,再傳遞給后續的串口節點。
varstr=istream_read_string(msg.istream,100)
output.payload=join(":","datareceivedfromtheserveris",str)output.payloadLength=len(output.payload)
雙擊serial_out_ex節點,并點擊配置節點名旁邊的鉛筆圖標去配置串口的屬性。
與serial_in_ex節點一樣,根據MPC-ZC1的硬件資料表,選擇所使用的串口設備對應的端口號,根據需要依次配置波特率,字節大小,奇偶校驗,停止位等屬性參數。這里因為是自發自收,所以串口設備的端口號與serial_in_ex一致。
3. 下載驗證
保證硬件連接正確后,下載流圖可知:將串口助手的數據通過搭建的UDP客戶端發送給UDP測試服務器的數據,最終原樣回發給UDP客戶端,這邊通過查看流圖可知有一個組包的操作再發送給串口助手,由下圖測試結果圖可知在此搭建的串口服務器已發揮了他的作用,讓串口數據可以通過網絡傳輸。
-
服務器
+關注
關注
12文章
9295瀏覽量
86007 -
串口
+關注
關注
14文章
1557瀏覽量
76997 -
ESDA
+關注
關注
0文章
28瀏覽量
7527
發布評論請先 登錄
相關推薦
評論