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

电子说

1.2w人已加入

描述

致远电子
如何让自动化领域的串口设备具备联网能力?本文将基于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系列文章,从零开始搭建环境和掌握基本开发流程,已有基础的可以跳过:

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

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

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

  • EsDA MPC-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,读取从服务器发送过来的数据通过组包,再传递给后续的串口节点。
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节点,并点击配置节点名旁边的铅笔图标去配置串口的属性。

致远电子

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

致远电子

3. 下载验证

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

致远电子


致远电子  关联产品


致远电子  技术交流群
长按识别如下二维码可加入“EsDA嵌入式系统设计自动化交流群”,与志同道合的朋友交流,并有专业技术人员为您答疑解惑,如有问题可以咨询小致微信zlgmcu-888。
致远电子

【版权声明】本文为ZLG开发者社区用户原创内容,未经授权不得转载。欢迎更多用户到社区交流互动、创作博文,一经采用,可获得百元京东E卡。

致远电子

致远电子

致远电子

致远电子
致远电子
致远电子
致远电子
致远电子
致远电子


原文标题:【EsDA应用】串口转UDP服务器

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

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

全部0条评论

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

×
20
完善资料,
赚取积分