【EsDA应用】串口转UDP服务器

描述

如何让自动化领域的串口设备具备联网能力?本文将基于EsDA平台,带你开发一个串口转UDP服务器业务,快速实现串口联网功能。ESDA  简介串口服务器在物联网中的应用十分广泛,数据采集上报、远程控制等网络化项目都需要用到串口服务器,本文基于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  前期准备

若是刚开始接触EsDA MPC-ZC1 ,可先阅读EsDA MPC-ZC1系列文章,从零开始搭建环境和掌握基本开发流程,已有基础的可以跳过:

EsDA MPC-ZC1 入门(一)—— 软件安装

【EsDA应用】如何使用5分钟搭建一个串口通信业务

EsDA MPC-ZC1 应用——串口服务器(一)

EsDA MPC-ZC1 应用——串口服务器(二)

【EsDA应用】串口转zws物联网云平台

硬件相关准备工作:

1. 准备一个USB转TTL串口工具(文中使用的是ch340芯片作为主控一款工具,选用其它等效型号亦可),如下图所示:

ESDA

2. 准备好MPC-ZC1开发板,并按照下图所示连接好硬件。

ESDA

将MPC-ZC1开发板引出的TX2与RX2分别与USB转TTL串口工具的RX与TX连接,并将USB转TTL串口工具插到PC机USB口上。ESDA  业务处理

支持串口和UDP进行双向数据传输:本实验实现串口通过UDP客户端向UDP服务器透传数据,UDP服务器接收到数据后回发给UDP客户端再转发给串口助手的业务,实现串口数据的云端通信功能。业务逻辑图如下所示。

ESDA

1. 添加节点并连线

本实验实现串口通过UDP客户端向UDP服务器透传数据,UDP服务器接收到数据后回发通过UDP客户端透传到串口设备。采用的节点有serial_in_ex,fscript,push,tcpudp_client和serial_out_ex。

ESDA2. 配置节点

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

ESDA

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

ESDA

双击serial_in_ex的消费者节点fscript,将从串口接收到的数据打印并传递给tcpudp_client节点。

因为tcpudp_client节点是pump类型的节点无输入,在这里通过push节点,将udp客户端定时发送的数据作为tcpudp_client节点的输入参数payload进行传递。双击push节点,在目标节点这一栏属性参数中输入tcpudp_client。

ESDA

双击tcpudp_client节点,因为使用的是UDP传输协议,且这里的主机号和端口号是UDP测试服务器的网址和端口号。配置相应的属性参数如下:

ESDA

双击tcpudp_client的消费者节点fscript,读取从服务器发送过来的数据通过组包,再传递给后续的串口节点。

  •  
  •  
  •  
  •  

var str = istream_read_string(msg.istream, 100)
output.payload=join(":","data received from the server is ",str)output.payloadLength = len(output.payload)

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

ESDA

与serial_in_ex节点一样,根据MPC-ZC1的硬件资料表,选择所使用的串口设备对应的端口号,根据需要依次配置波特率,字节大小,奇偶校验,停止位等属性参数。这里因为是自发自收,所以串口设备的端口号与serial_in_ex一致。

ESDA

3. 下载验证

保证硬件连接正确后,下载流图可知:将串口助手的数据通过搭建的UDP客户端发送给UDP测试服务器的数据,最终原样回发给UDP客户端,这边通过查看流图可知有一个组包的操作再发送给串口助手,由下图测试结果图可知在此搭建的串口服务器已发挥了他的作用,让串口数据可以通过网络传输。

ESDA

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

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分