1926|4

55

帖子

0

TA的资源

一粒金砂(中级)

楼主
 

【米尔-瑞萨RZ/G2UL开发板-试用评测】ser2net移植与使用 [复制链接]

开发环境:

主机:Ubuntu 20.04

开发板:MYD-YG2UL开发板

1 ser2net简介

ser2net(Serial to Network Proxy)给用户提供了一种网络与串口相互连接的软件,它可以将串口数据通过网络传输到远程设备上。本文将介绍ser2net的原理及其在实际应用中的作用。

1.1 ser2net的原理

ser2net是一种基于TCP协议的串口服务器,它通过将串口数据转换成网络数据包,实现了串口数据的远程传输。ser2net的工作原理可以分为以下几个步骤:
1.配置串口参数:首先需要对sr2net进行配置,包括串口的波特率、数据位、停止位等参数,以及网络相关的配置,如IP地址、端口号等。
2.建立TCP连接:ser2net在启动后会监听指定的端口,当有客户端请求建立TCP连接时,ser2net会接受连接请求,并与客户端建立起TCP连接。
3.串口数据转发:一旦TCP连接建立成功,ser2net会开始监听串口上的数据。当有数据到达时,ser2net会将数据通过TCP连接发送给客户端。同时,ser2nt会监听客户端发送的数据,并将其转发到串口上。
4.数据处理:ser2nt还支持对数据进行处理和转换。例如,可以对接收到的数据进行校验、解析或加工,然后再将其发送给客户端。

1.2 ser2net的应用场景

ser2net在实际应用中有着广泛的用途,主要体现在以下几个方面:
1.远程控制:通过ser2nt,可以远程控制位于远程地点的设备。例如,可以通过互联网远程控制家里的智能家居设备,或者通过远程终端机访问远程服务器。
2.数据采集:ser2nt可以将串口设备连接到远程服务器上,实现数据的远程采集。例如,可以将气象设备的串口连接到云服务器上,实时采集气象数据并进行分析。
3.远程调试:ser2net可以用于远程调试嵌入式设备。当嵌入式设备出现问题时,可以通过ser2net将设备的串口输出信息传输到远程服务器上,方便进行调试和故障排查。
4.数据共享:ser2net可以实现多个设备之间的数据共享。例如,可以将一台设备的串口数据通过ser2net转发到其他设备上,实现数据的共享和交互。
5.远程维护:ser2net可以用于远程维护设备。例如,可以通过ser2net将设备的串口连接到远程维护中心,实现对设备的远程维护和管理。

1.3 ser2net的优势

相比传统的串口通信方式,ser2net具有以下几个优势:
1.灵活性:ser2net可以将串口设备连接到任意远程服务器上,实现串口数据的远程传输。这种灵活性使得ser2net在各种应用场景下都能发挥作用。
2.扩展性:sr2net支持多个串口设备的同时连接和传输,在满足大规模数据传输需求的同时,还可以方便地扩展和添加新的串口设备。
3.可靠性:sr2net使用TCP协议进行数据传输,具有较高的可靠性和稳定性。即使在网络环境较差的情况下,也能保证数据的稳定传输。
4.安全性:ser2net支持对传输数据进行加密和认证,确保数据的安全性。同时,ser2net还可以限制连接的P地址和端口号,提高系统的安全性。

2 ser2net移植

1.下载源码
ser2net的官网为://http://ser2net.sourceforge.net/,在页面中可以找到下载链接。笔者的版本为3.5.1。可以通过页面中的下载链接进行下载,也可以通过下面的命令行进行下载。
2.解压源码
$ tar -xvf ser2net-3.5.1.tar.gz
$ cd ser2net-3.5.1/
3.配置
./configure --host=aarch64-poky-linux
  • “arm-linux”是交叉编译工具的前缀,根据自己的实际情况进行修改。
3.编译并安装
设置环境变量:
$ source /opt/poky/3.1.21/environment-setup-aarch64-poky-linux
编译
$ make
最后将程序下载到开发板,修改用户权限后即可运行。
$ tftp -g -l ser2net -r ser2net 192.168.101.11

3 ser2net测试

接下来就需要修改配置文件。
$ vim ser2net.conf
8008:raw:600:/dev/ttySC4:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCT
ser2net工具安装完后,可执行文件放在:/sbin/ser2net,新建配置文件ser2net.conf
配置项说明如下:
<TCP port>:<state>:<timeout>:<device>:<options>
格式说明:
  • TCP port:TCP/IP端口号,可以加IP信息如127.0.0.1 , 2000或者localhost,2000; 如果这里指定了 IP,则只能绑定在这个固定的IP
  • state: 四种可选状态
  • off: 禁止该端口的连接
  • raw: 端口和串口设备之间双向通信
  • rawlp: 端口向串口设备单向通信
  • telnet: 使用telnet协议时用
  • timeout:超时,以秒为单位;当没有活动的连接时,可以设置这个时间关闭端口;常写0,关闭该功能,即不会超时
  • device: 指定映射本机的哪个串口(This must be in the form of /dev/<device>)
  • options: 设置串口的参数如:波特率(300,1200,2400,4800,9600,19200,38400,57600,115200)
  • 校验(EVEN,ODD,NONE)
  • 停止位(1STOPBIT,2STOPBITS)
  • 数据位(7DATABITS,8DATABITS)
  • 开启(关闭)XON\XOFF :XONXOFF(-XONXOFF)
  • 开启(关闭)硬件控制流:RTSCTS(-RTSCTS)
启动ser2net.。
$ ./ser2net -C ser2net.conf
当然也可直接使用命令。
$ ./ser2net -C "8008:raw:600:/dev/ttySC4:115200 NONE 1STOPBIT 8DATABITS XONXOFF LOCAL -RTSCTS"
然后查看ser2net运行状态。
$ ps -elf | grep ser2net
TCP连接:
串口接收数据:

 

 

最新回复

楼主分享的技术内容非常详细,图文并茂,对入门的新手帮助很大,非常感谢   详情 回复 发表于 2024-4-14 21:43
点赞 关注
 

回复
举报

6828

帖子

0

TA的资源

五彩晶圆(高级)

沙发
 

感觉相比传统的串口通信方式,ser2net具有的几个优势不是很明显,但安全性要靠项目工程检验

 

 
 

回复

6534

帖子

9

TA的资源

版主

板凳
 

远程和本地地址怎么确定啊  

点评

你是问服务器其地址吗,服务器地址直接使用ifconfig查看即可  详情 回复 发表于 2024-4-9 16:51
个人签名

在爱好的道路上不断前进,在生活的迷雾中播撒光引

 
 

回复

55

帖子

0

TA的资源

一粒金砂(中级)

4
 
秦天qintian0303 发表于 2024-4-7 16:56 远程和本地地址怎么确定啊  

你是问服务器其地址吗,服务器地址直接使用ifconfig查看即可

 
 

回复

755

帖子

5

TA的资源

纯净的硅(高级)

5
 

楼主分享的技术内容非常详细,图文并茂,对入门的新手帮助很大,非常感谢

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表