0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

【EsDA应用】串口服务器——TCP Server

AGk5_ZLG_zhiyua 来源:未知 2023-06-14 11:40 次阅读
如何让自动化领域的串口设备具备联网能力?本文将基于EsDA平台,带你开发一个串口服务器之TCP服务器的业务,快速实现串口联网功能。

fb35b6d2-0a64-11ee-962d-dac502259ad0.jpg简介

随着物联网技术的发展,串口通信和TCP/IP通信业务越来越广泛。在实际应用中,我们经常会遇到需要将串口数据转发到TCP服务器或将TCP服务器数据转发到串口的情况,所以本文将介绍如何实现串口接入TCP服务器进行网络通信以达到扩展串口通信传输距离的目的等。

本实验选用HPM6450开发板,以及可将节点进行拖拽连接的图形化设计工具AWFlow Designer,搭建一个串口转TCP Server的串口服务器与多个TCP Clients进行双向透明数据传输实验。该实验用到了serial_in_ex,fscript,push,tcp_server_ex和serial_out_ex节点。

fb35b6d2-0a64-11ee-962d-dac502259ad0.jpg前期准备

在本文之前,已有多篇串口服务器系列的博客文章,在此罗列部分链接文章,若有兴趣可在EsDA技术专栏查看相关全部文章。

  • EsDAMPC-ZC1应用——串口服务器(一)
  • EsDAMPC-ZC1应用——串口服务器(二)
  • 【EsDA应用】串口转zws物联网云平台

1. 硬件准备

准备TTL转USB串口工具。fb67a322-0a64-11ee-962d-dac502259ad0.png

准备好HPM6450开发板,并按下图连接好硬件。

fb9bd3d6-0a64-11ee-962d-dac502259ad0.png

  • DUART调试串口可用于打印调试信息与shell命令查询:将HPM6450开发板引出的DUART的TXD与RXD分别与TTL转USB串口工具的RX与TX连接,并将TTL转USB串口工具插到PC机的USB口上。若用户TTL转USB串口工具数量告急,在使用shell命令获取开发板网口IP号后串口工具可以给UTX1/RX1使用,连线方式相同。

  • 网口下载流图:将HPM6450的NET0网口通过网线与PC机上的网络端口进行连接,组建一个小型局域网。

2. 软件准备

2.1 网口下载流图开发板固件运行之后,在串口调试助手sscom工具中选择与DUART相连接的串口端口号,波特率115200,随即打开串口,输入"ip addr "即可查询开发板网络端口IP详细信息。

fbe41ac4-0a64-11ee-962d-dac502259ad0.png

根据硬件连接可知,本文使用的是NET0,对应的IP地址是192.168.137.251。得知开发板的网口IP接下来配置PC机上以太网的IP地址,与开发板对应的IP地址在同一局域网就可,本文配置的PC上IP地址如下:

fc1bce1a-0a64-11ee-962d-dac502259ad0.png

怎样确认PC与开发板成功在同一局域网下?PING通对方即可。

fc3d52f6-0a64-11ee-962d-dac502259ad0.png

fb35b6d2-0a64-11ee-962d-dac502259ad0.jpg  业务处理

本文不再赘述串口通信连接与TCP通信连接成功的过程,具体细节可查看以下链接进行学习。

  • 【EsDA应用】5分钟实现一个串口通信业务
  • 【EsDA应用】串口转TCP客户端

主要业务逻辑如下:
  • 建立TCP连接后,由TCP客户端上报数据给HPM6450搭建的TCP服务器,随后从TCP服务器读取数据并将发送到UTX1/RX1串口,最终在串口助手上进行打印显示。
  • 从UTX1/RX1串口读取串口助手发送的数据,并将数据发送到TCP服务器,由TCP服务器将数据下发给已建立TCP通信连接的客户端。

fc72fca8-0a64-11ee-962d-dac502259ad0.png

1. 添加节点并连线

本实验实现串口转TCP Server的串口服务器与多个TCP Clients进行双向透明数据传输实验。采用的节点有serial_in_ex,fscript,push,tcp_server_ex和serial_out_ex。fcc5302c-0a64-11ee-962d-dac502259ad0.png

2. 配置节点

双击serial_in_ex节点,并点击配置节点名旁边的铅笔图标去配置串口的属性

fce3d13a-0a64-11ee-962d-dac502259ad0.png

根据HPM6450的硬件资料表,选择所使用的串口设备对应的端口号:UTX1/RX1对应的是uart5,根据需要依次配置波特率,字节大小,奇偶校验,停止位等属性参数

fd0796ec-0a64-11ee-962d-dac502259ad0.png

双击serial_in_ex的消费者节点fscript,这个节点主要是读取serial_in_ex的串口数据并传递给后续节点。
var str = istream_read_string(msg.istream,100)
msg.payload = str
ostream_write_string(msg.ostream,msg.payload)

双击fscript的消费者节点push,因为是将serial_in_ex读取到的数据传递给TCP Server所以push的目标节点为tcp_server_ex。

fd1f2a96-0a64-11ee-962d-dac502259ad0.png

双击tcp_server_ex节点,因TCP通信与流图下载都是用NET0的IP地址,所以端口号不能有冲突,因为数据是自定义的没有帧头,所以属性值输出选择1并不携带报文头部。

fd369e7e-0a64-11ee-962d-dac502259ad0.png

双击tcp_server_ex的消费者节点serial_out_ex,因为tcp_server_ex与serial_out_ex节点使用的是输入流istream和输出流ostream,所以不需要数据转换节点,直连即可。绑定的串口与serial_in_ex的端口号一致即可。

fd592174-0a64-11ee-962d-dac502259ad0.png

3. 下载验证

根据流图端口配置可知下载流图的端口号为8888,以及软件准备可知下载流图网口IP号为192.168.137.251。那么下载流图时选择IP配置如下fd718fe8-0a64-11ee-962d-dac502259ad0.png

本文在PC电脑上用NetAssist.exe网络调试助手工具搭建了两个TCP Clients,配置远端主机IP地址和端口号后同时开启连接,可在数据日志中查看TCP客户端发出的数据以及从TCP服务端接收到的数据如下。

fd905c84-0a64-11ee-962d-dac502259ad0.png

fdc826aa-0a64-11ee-962d-dac502259ad0.png

在PC上的串口调试助手SSCOM工具上可查看到从服务端读取到的两个TCP客户端上报数据以及串口助手发送的数据如下。

fdeb2150-0a64-11ee-962d-dac502259ad0.png

由上可知,本实验实现了串口服务器之TCP服务器与两个不同的TCP客户端进行双向数据传输的功能。

fb35b6d2-0a64-11ee-962d-dac502259ad0.jpg  关联产品 fb35b6d2-0a64-11ee-962d-dac502259ad0.jpg技术交流长按识别如下二维码可加入“EsDA嵌入式系统设计自动化交流群”,与志同道合的朋友交流,并有专业技术人员为您答疑解惑,如有问题可以咨询小致微信zlgmcu-888。

fe4e8e0c-0a64-11ee-962d-dac502259ad0.png


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 致远电子
    +关注

    关注

    13

    文章

    397

    浏览量

    31066

原文标题:【EsDA应用】串口服务器——TCP Server

文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    二代串口服务器模组焕新

    串口服务器模组作为一种重要的通信接口转换设备,极大地促进了传统串口设备与现代网络技术的融合,为实现设备远程管理、数据透明传输及物联网应用提供了便捷解决方案。什么是串口服务器模组?串口服务器
    的头像 发表于 04-19 08:19 62次阅读
    二代<b class='flag-5'>串口服务器</b>模组焕新

    工业串口设备通讯神器:串口服务器CS64J

    在当今工业物联网应用中,串口服务器的应用非常普遍。无论是RS485还是RS232串口通讯,串口服务器都能够轻松实现虚拟串口串口以太网双向数
    的头像 发表于 03-21 17:09 120次阅读
    工业<b class='flag-5'>串口</b>设备通讯神器:<b class='flag-5'>串口服务器</b>CS64J

    串口服务器作用与实际应用实例详解

    串口服务器是什么串口服务器是一种将串口设备连接到网络的设备,它充当了串口设备和网络之间的桥梁,能够摆脱物理电缆长度的限制,无论位于任何地方,都可以通过以太网连接
    的头像 发表于 03-12 14:59 160次阅读
    <b class='flag-5'>串口服务器</b>作用与实际应用实例详解

    智嵌物联串口服务器与KEPServer软件通信演示

    ModBus Slave 软件用来模拟用户的 ModBus RTU 设备(从站), KEPServer 软件模拟用户的 TCP 客户端软件(主站),通过串口服务器设备实现 KEPServer 软件对 ModBus RTU 设备数据的读取。
    的头像 发表于 01-02 16:00 324次阅读
    智嵌物联<b class='flag-5'>串口服务器</b>与KEPServer软件通信演示

    具有mDNS功能的串口服务器

    服务名称的设备应答,mDNS Client获得设备的IP端口等信息就可以使用TCP连接获取数据。 上海卓岚推出多种类型芯片、模块以及串口服务器均支持升级mDNS协议,其他型号可以咨询我司技术。下面概括部分型号:
    的头像 发表于 11-16 14:35 220次阅读
    具有mDNS功能的<b class='flag-5'>串口服务器</b>

    EsDA 应用】快速实现串口转HTTP请求

    本文将基于EsDA开发套件快速实现将串口数据转换为HTTP请求的应用开发,实现串口设备与网络服务的互联互通,提供便捷和高效的串口数据转换功能
    的头像 发表于 11-09 08:25 486次阅读
    【<b class='flag-5'>EsDA</b> 应用】快速实现<b class='flag-5'>串口</b>转HTTP请求

    串口服务器如何使用OneNET平台MQTT服务器通讯教程 #MQTT #串口服务器 #OneNET平台

    串口服务器
    亿佰特物联网应用专家
    发布于 :2023年10月26日 15:47:36

    致远电子新一代8路串口服务器

    致远电子多年来一直在嵌入式系统设计自动化的道路上不断自主创新,并推出了新一代EsDA嵌入式系统设计自动化平台,GCOM80-2NET-P高性能8路串口服务器正基于此平台开发,随本文了解其功能
    的头像 发表于 10-24 10:13 512次阅读
    致远电子新一代8路<b class='flag-5'>串口服务器</b>

    基于ARM9的嵌入式多串口服务器电路设计

    电子发烧友网站提供《基于ARM9的嵌入式多串口服务器电路设计.pdf》资料免费下载
    发表于 10-11 10:56 4次下载
    基于ARM9的嵌入式多<b class='flag-5'>串口服务器</b>电路设计

    串口服务器可以提高网速吗 串口服务器和交换机区别是什么

    如果串口设备本身具有较高的数据传输速率,使用串口服务器时可能会受到网络带宽的限制。在这种情况下,网络带宽的瓶颈可能会影响串口设备的传输速率。因此,在选择串口服务器时,应根据
    的头像 发表于 08-21 15:30 1095次阅读

    串口服务器——TCP Server

    如何让自动化领域的串口设备具备联网能力?本文将基于EsDA平台,带你开发一个串口服务器TCP服务器的业务,快速实现
    的头像 发表于 07-31 17:58 1071次阅读
    <b class='flag-5'>串口服务器</b>——<b class='flag-5'>TCP</b> <b class='flag-5'>Server</b>

    EsDA 应用】Modbus RTU Master 转 TCP Server

    随着物联网技术蓬勃发展,Modbus 设备数据采集上报需求日益增加,本文将具体介绍如何利用 EsDA 快速实现Modbus RTU Master数据转TCP Server数据,缩短产品研发时间
    的头像 发表于 07-19 11:55 412次阅读
    【<b class='flag-5'>EsDA</b> 应用】Modbus RTU Master 转 <b class='flag-5'>TCP</b> <b class='flag-5'>Server</b>

    EsDA应用】串口服务器——UDP Server

    如何让自动化领域的串口设备具备联网能力?本文将基于EsDA平台,带你开发一个串口服务器之UDP服务器的业务,快速实现串口联网功能。    
    的头像 发表于 07-12 11:45 748次阅读
    【<b class='flag-5'>EsDA</b>应用】<b class='flag-5'>串口服务器</b>——UDP <b class='flag-5'>Server</b>

    8路TTL串口转以太网串口服务器芯片EBT3002的功能

    EBT3002串口服务器芯片简介   EBT3002 以太网芯片是实现8路TTL串口数据与以太网数据互相转换的以太网串口服务器芯片;该以太网芯片具有多种Modbus网关模式以及TCP/
    的头像 发表于 06-16 17:17 716次阅读
    8路TTL<b class='flag-5'>串口</b>转以太网<b class='flag-5'>串口服务器</b>芯片EBT3002的功能

    物联网通信之串口服务器,RS485/RS232双串口并行、远程虚拟串口调试

    随着现代工业信息技术发展,串口服务器在工业应用中越来越常见,那么什么是串口服务器呢,今天智联物联小编就与大家分享一下物联网通信中的串口服务器。无线串口服务器为帮助大家理解,智联物联小编
    的头像 发表于 06-06 15:11 752次阅读
    物联网通信之<b class='flag-5'>串口服务器</b>,RS485/RS232双<b class='flag-5'>串口</b>并行、远程虚拟<b class='flag-5'>串口</b>调试