基本工作原理:通过搭建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开发板,并按照下图所示连接好硬件。
支持串口和UDP进行双向数据传输:本实验实现串口通过UDP客户端向UDP服务器透传数据,UDP服务器接收到数据后回发给UDP客户端再转发给串口助手的业务,实现串口数据的云端通信功能。业务逻辑图如下所示。
本实验实现串口通过UDP客户端向UDP服务器透传数据,UDP服务器接收到数据后回发通过UDP客户端透传到串口设备。采用的节点有serial_in_ex,fscript,push,tcpudp_client和serial_out_ex。
双击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测试服务器的网址和端口号。配置相应的属性参数如下:
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客户端,这边通过查看流图可知有一个组包的操作再发送给串口助手,由下图测试结果图可知在此搭建的串口服务器已发挥了他的作用,让串口数据可以通过网络传输。
关联产品
【版权声明】本文为ZLG开发者社区用户原创内容,未经授权不得转载。欢迎更多用户到社区交流互动、创作博文,一经采用,可获得百元京东E卡。
原文标题:【EsDA应用】串口转UDP服务器
文章出处:【微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
-
致远电子
+关注
关注
13文章
406浏览量
31303
原文标题:【EsDA应用】串口转UDP服务器
文章出处:【微信号:ZLG_zhiyuan,微信公众号:ZLG致远电子】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论