如何让自动化领域的串口设备具备联网能力?本文将基于esda平台,带你开发一个串口服务器之udp服务器的业务,快速实现串口联网功能。
简介串口服务器本质是将串口数据通过各种网络协议传输到其他设备。本文主要基于tcp/ip协议簇中的udp协议实现一个udp server的串口服务器通信实验。 本实验选用epc6450-awi开发板,以及将节点进行拖拽连线的图形化设计工具awflow designer,搭建一个串口转udp server的串口服务器并与多个udp clients进行双向透明传输实验。该实验用到了serial_in_ex,fscript,push,udp_server_ex,serial_out_ex节点。
前期准备
在本文之前,已有多篇串口服务器系列的博客文章,在此罗列部分文章链接,若有兴趣可在 esda技术专栏 查看相关全部文章。 esda mpc-zc1 应用——串口服务器(一)
esda mpc-zc1 应用——串口服务器(二)
【esda应用】串口转zws物联网云平台
【esda应用】串口服务器——tcp server
本文所有的软硬件准备工作都与【esda应用】串口服务器——tcp server 的文章一致,详情请查看。 业务处理
本文不再赘述串口通信连接与udp通信连接成功的过程(与tcp通信连接不同的是udp并没有三次握手的过程只记录一些地址信息等),具体细节可查看以下链接进行学习。 【esda应用】5分钟实现一个串口通信业务
【esda应用】串口服务器——udp client
主要业务逻辑如下: 建立udp连接后,由udp客户端上报数据给epc6450-awi开发板搭建的udp服务器,随后从udp服务器读取数据并发送到utx1/rx1串口,最终在串口助手上进行打印显示。
从utx1/rx1串口读取串口助手发送的数据,并将数据发送到udp服务器,由udp服务器将数据下发给已建立udp通信连接的客户端。
1. 添加节点并连线 本实验实现串口转udp server的串口服务器与多个udp clients进行双向透明数据传输的功能。采用的节点有serial_in_ex,fscript,push,tcp_server_ex和serial_out_ex。
2. 配置节点
双击serial_in_ex节点,并点击配置节点名旁边的铅笔图标去配置串口的属性。
根据epc6450-awi的硬件资料表,选择所使用的串口设备对应的端口号:utx1/rx1对应的是uart5,根据需要依次配置波特率,字节大小,奇偶校验,停止位等属性参数。 双击serial_in_ex的消费者节点fscript,这个节点主要是读取serial_in_ex的串口数据并传递给后续节点。
var str = istream_read_string(msg.istream,100)msg.payload = str 双击fscript的消费者节点push,因为是将serial_in_ex读取到的数据传递给udp server所以push的目标节点为udp_server_ex。
双击udp_server_ex节点,因udp通信与流图下载都是用net0的ip地址,所以端口号不能有冲突,因为数据是自定义没有帧头,所以属性值输出选择1不携带报文头部。双击udp_server_ex的消费者节点serial_out_ex,因为udp_server_ex与serial_out_ex节点使用的是输入流istream和输出流ostream,所以不需要数据转换节点,直连即可。绑定的串口与serial_in_ex的端口号一致即可。3. 下载验证 awflow designer工具拥有自动识别可用目标板的功能,硬件连接成功且程序开始正常运行后,即可在awflow designer界面上看到如下图所示已经成功自动识别出的下载途径,随后点击旁边的下载按钮即可下载流图。
本文在pc电脑上用tcp&udp测试工具搭建了两个udp clients,打开工具软件后点击创建连接选择udp类型,并配置远程udp server的目标ip和端口号,本机端口可选择随机配置也可指定需注意的是两个udp clients都是在同一台电脑上搭建的所以本机端口号不能一致(符合端口号范围之内随意取)。创建udp连接后就可以进行发送和接受数据了,可以在数据日志的发送区域中查看udp客户端发出的数据以及从接收区域查看udp服务端接收到的数据如下。
在pc上的串口调试助手工具上可查看到从服务端读取到的两个udp客户端上报数据以及串口助手发送的数据如下。由上可知,本实验实现了串口服务器之udp服务器与两个不同的udp客户端进行双向数据传输的功能。 技术交流群长按识别如下二维码可加入“esda嵌入式系统设计自动化交流群”,与志同道合的朋友交流,并有专业技术人员为您答疑解惑,如有问题可以咨询小致微信:zlgmcu-888。
华为彭松:5G 3年等于4G 5年,第一波运营商已取得商业成功
通过超低噪声48V至5V、10W DC/DC转换器降低EMI
ios10.3.1更新了啥?iOS 10.3.1修复了iOS 10.3 的两个重要漏洞
基于XCR3256的存储测试器设计
选择建筑住宅设备的隔热材料时,需要使用热流传感器来监测其热值
【EsDA应用】串口服务器——UDP Server
Python机器学习开源项目分析过程中的见解和趋势
基于阻抗跟踪技术的电池电量监测计实现了最佳的电池电量监测精确度
NI STS系统的常规保养维护和基本操作介绍
Ntron氧气分析仪在金属增材制造过程中的应用
5G毫米波经济效益凸显,部署和应用都将呈现爆发式的增长
小米8青春版和荣耀10青春版的区别
DesignArt为DAN3000 SoC系列推出基站参考设计
酷派主动终止与小米公司系列专利侵权诉讼
苹果头戴式虚拟现实设备即将上市
基于OPT3001的环境光传感器
2014集成电路将从低端走向中高端发展
光纤适配器的使用方法和注意事项
感应水龙头 红外传感测距模块方案应用 WTU201F2B004 体积小 超低功耗
电子管放大器抑制50赫交流声的原理方法