串口模拟工具实现测试

简介: 串口模拟工具实现测试

想要实现串口通信接口测试,手边却没有相对应的工具。

了解相关的串口模拟工具,串口通信工具,实现模拟com口,实现两端通信的测试。

(在使用vspd串口工具时,9.0版本会报串口绑定失败,10.0可能需要注册码,可以试试低版本的)

1:模拟虚拟串口

因为现在电脑都默认不带虚拟串口,虚拟串口一般也都需要USB转串口的工具,并且我手边也没有相关的串口硬件,这里尝试模拟串口进行测试。

采用**VSPD(**Launch Virtual Serial Port Driver Pro)进行串口模拟,参考。

https://blog.csdn.net/zyyujq/article/details/90116079

添加一对串口:

在设备管理器中查看:

2:测试串口的可用:windows上

这里使用串口助手工具进行串口测试,网上串口工具很多,但是发现现网流氓式的安装让人很烦,可以使用windows 10自带的串口工具进行测试,找到这个好用的网站进行下载:

https://docs.ai-thinker.com/tools

经过测试,在windows上可用:

3:测试串口的可用:虚拟机linux上

1: 虚拟机要加载到我们的com。

添加串口端口:

2:这里我们和windows配合进行测试,(也可以两个虚拟机进行测试)

1:配置虚拟机识别串口

我的windows用com2口,虚拟机这里用com1口:

2:确定虚拟机要连接上串口

启动虚拟机,要注意,一定要连接上com口:

确定连接上后,就可以在虚拟机中与windows进行联调测试了。

3: ubuntu使用 串口工具 cutecom 进行调试

ubuntu可以使用相关串口工具进行测试:cutecom

安装命令:sudo apt-get install cutecom

在root用户权限下启动该命令执行: cutecom

跳转到root的方法: sudo -i 或者 su

注意这里的参数选项与windows的对齐,进行测试,发现可以进行通信。

3:也可以直接使用命令接收和发送

同样确定虚拟机连接上串口,我们对linux串口进行监听查看,windows 发信息进行测试,已通过:

root@ubuntu:~# cat /dev/ttyS1

也可以配置不同的com口,一个进行监听数据,一个进行写入数据,写入数据命令。

root@ubuntu:~# echo "my test data" >/dev/ttyS1

4:其他:

虚拟机直接配置管道实现com口的测试:

https://blog.csdn.net/lovescorpio/article/details/103770829

5:注意 dev目录一般是设备对应的一些文件

/dev/null 和 /dev/zero

/dev/null 它是空设备,也称为位桶(bit bucket)或者黑洞(black hole)。你可以向它输入任何数据,但任何写入它的数据都会被抛弃。通常用于处理不需要的输出流。(当然,它也可以作为空的输入流)
/dev/zero 该设备无穷尽地提供空字符(ASCII NUL, 0x00),可以使用任何你需要的数目。它通常用于向设备或文件写入字符串0,用于初始化数据存储。(当然,也可作为输出流的接受容器)
  两个使用实例如下:
    dd if=/dev/zero f=~/test.txt bs=1k count=1
    产生1KB大小的文件~/text.txt
    find / -name access_log 2>/dev/null
      find命令在/目录下查找名为access_log的文件,并且错误输出不会显示出来(文件描述符2被重定向到/dev/null)。

[终端]、[控制台]、[tty]

1>tty(终端设备的统称):
  tty一词源于Teletypes,或者teletypewriters,原来指的是电传打字机,是通过串行线用打印机键盘通过阅读和发送信息的东西,后来这东西被键盘与显示器取代,所以现在叫终端比较合适。
  终端是一种字符型设备,它有多种类型,通常使用tty来简称各种类型的终端设备。
2>pty(伪终端,虚拟终端):
  但是如果我们远程telnet到主机或使用xterm时不也需要一个终端交互么?
    是的,这就是虚拟终端pty(pseudo-tty)
3>pts/ptmx(pts/ptmx结合使用,进而实现pty):
  pts(pseudo-terminal slave)是pty的实现方法,与ptmx(pseudo-terminal master)配合使用实现pty。

dev下设备概述:

在Linux系统的设备特殊文件目录/dev/下,终端特殊设备文件一般有以下几种:
1、串行端口终端(/dev/ttySn)
  串行端口终端(Serial Port Terminal)是使用计算机串行端口连接的终端设备。计算机把每个串行端口都看作是一个字符设备。
  有段时间这些串行端口设备通常被称为终端设备,因为那时它的最大用途就是用来连接终端。这
  些串行端口所对应的设备名称是/dev/tts/0(或/dev/ttyS0), /dev/tts/1(或/dev/ttyS1)等,设备号分别是(4,0), (4,1)等,分别对应于DOS系统下的COM1、COM2等。
  若要向一个端口发送数据,可以在命令行上把标准输出重定向到这些特殊文件名上即可。
  ==》例如,在命令行提示符下键入:echo test > /dev/ttyS1会把单词”test”发送到连接在ttyS1(COM2)端口的设备上。
2、伪终端(/dev/pty/)
  伪终端(Pseudo Terminal)是成对的逻辑终端设备(即master和slave设备, 对master的操作会反映到slave上)。
  例如/dev/ptyp3和/dev/ttyp3(或者在设备文件系统中分别是/dev/pty /m3和 /dev/pty/s3)。它们与实际物理设备并不直接相关。如果一个程序把ptyp3(master设备)看作是一个串行端口设备,则它对该端口的读/ 写操作会反映在该逻辑终端设备对应的另一个ttyp3(slave设备)上面。而ttyp3则是另一个程序用于读写操作的逻辑设备。telnet主机A就是通过“伪终端”与主机A的登录程序进行通信。
3、控制终端(/dev/tty)
  如果当前进程有控制终端(Controlling Terminal)的话,那么/dev/tty就是当前进程的控制终端的设备特殊文件。可以使用命令”ps –ax”来查看进程与哪个控制终端相连。对于你登录的shell,/dev/tty就是你使用的终端,设备号是(5,0)。使用命令”tty”可以查看它具体对应哪个实际终端设备。/dev/tty有些类似于到实际所使用终端设备的一个联接。
4、控制台终端(/dev/ttyn, /dev/console)
  在Linux 系统中,计算机显示器通常被称为控制台终端 (Console)。它仿真了类型为Linux的一种终端(TERM=Linux),并且有一些设备特殊文件与之相关联:tty0、tty1、tty2 等。
  当你在控制台上登录时,使用的是tty1。使用Alt+[F1—F6]组合键时,我们就可以切换到tty2、tty3等上面去。
  tty1–tty6等称为虚拟终端,而tty0则是当前所使用虚拟终端的一个别名,系统所产生的信息会发送到该终端上(这时也叫控制台终端)。因此不管当前正在使用哪个虚拟终端,系统信息都会发送到控制台终端上。
  /dev/console即控制台,是与操作系统交互的设备,系统将一些信息直接输出到控制台上。目前只有在单用户模式下,才允许用户登录控制台。
5 虚拟终端(/dev/pts/n)
  在Xwindows模式下的伪终端.如我在Kubuntu下用konsole,就是用的虚拟终端,用tty命令可看到/dev/pts/1。

dev下各设备:

/dev/hd[a-t]:IDE设备
  /dev/sd[a-z]:SCSI设备
  /dev/fd[0-7]:标准软驱
  /dev/md[0-31]:软raid设备
  /dev/loop[0-7]:本地回环设备
  /dev/ram[0-15]:内存
  /dev/null:无限数据接收设备,相当于黑洞
  /dev/zero:无限零资源
  /dev/tty[0-63]:虚拟终端
  /dev/ttyS[0-3]:串口
  /dev/lp[0-3]:并口
  /dev/console:控制台
  /dev/fb[0-31]:framebuffer
  /dev/cdrom => /dev/hdc
  /dev/modem => /dev/ttyS[0-9]
  /dev/pilot => /dev/ttyS[0-9]
  /dev/random:随机数设备
  /dev/urandom:随机数设备
  (PS:随机数设备,后面我会再写篇博客总结一下)
/dev目录下的节点是怎么创建的?
  devf或者udev会自动帮你创建得。
  kobject是sysfs文件系统的基础,udev通过监测、检测sysfs来获取新创建的设备的。
目录
相关文章
|
3天前
|
网络协议 测试技术 Apache
测试Netty高并发工具
测试Netty高并发工具
14 3
|
3天前
|
人工智能 自然语言处理 测试技术
基于LangChain手工测试用例转接口自动化测试生成工具
本文介绍利用大语言模型自动生成接口自动化测试用例的方法。首先展示传统通过HAR文件生成测试用例的方式及其局限性,随后提出结合自然语言描述的测试需求与HAR文件来生成更全面的测试脚本。通过LangChain框架,设计特定的提示词模板,使模型能够解析测试需求文档和HAR文件中的接口信息,并据此生成Python pytest测试脚本。示例展示了正常请求、非法请求及无效路径三种测试场景的自动化脚本生成过程。最终,整合流程形成完整代码实现,帮助读者理解如何利用大模型提高测试效率和质量。
14 2
|
1月前
|
运维 测试技术 Linux
关于Stress 压力测试工具的介绍与使用
在日益复杂的计算环境中,保证系统的稳定性和性能成为了每个Linux管理员的核心任务。面对不断增长的数据量和业务需求,如何有效评估系统极限和潜在瓶颈? 压力测试工具:stress,成为了不可或缺的助手。这篇记录描述stress工具的使用方法及其在模拟真实负载中的实用性。
关于Stress 压力测试工具的介绍与使用
|
13天前
|
关系型数据库 MySQL OLTP
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
【8月更文挑战第6天】使用 pt-query-digest 工具分析 MySQL 慢日志性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
52 0
性能工具之 MySQL OLTP Sysbench BenchMark 测试示例
|
20天前
|
jenkins 测试技术 持续交付
探索自动化测试的边界:从工具选择到持续集成
【7月更文挑战第30天】自动化测试在软件开发生命周期中扮演着越来越重要的角色,它不仅提高了测试效率,还确保了软件质量的稳定性。然而,自动化测试并非一劳永逸的解决方案,它需要精心规划、选择合适的工具,并持续地集成到开发流程中。本文将探讨如何根据项目需求挑选合适的自动化测试工具,以及如何将这些工具无缝集成到持续集成/持续部署(CI/CD)流程中,以最大化自动化测试的效益。
16 2
|
18天前
|
安全 数据库连接 数据库
可靠性测试-故障注入工具
【7月更文挑战第19天】可靠性测试中的故障注入工具对评估系统容错性与稳定性至关重要。常见工具如 **FaultInjector** (模拟多类故障)、**Xception** (针对特定组件注入错误) 和 **Chaos Monkey** (验证云环境下系统弹性) 帮助开发者提前发现潜在问题, 优化系统设计, 如电商公司通过测试确保促销期稳定, 金融机构降低交易风险。选择合适工具并结合业务场景测试对提升可靠性至关重要。
|
1月前
|
存储 监控 数据可视化
性能测试:主流性能剖析工具介绍
**性能剖析**是识别应用性能瓶颈的关键,涉及指标收集、热点分析、优化建议及可视化报告。常用工具有:**JConsole**监控JVM,**VisualVM**多合一分析,**JStack**分析线程,**FlameGraph**展示CPU耗时,**SkyWalking**分布式跟踪,**Zipkin**追踪服务延迟。这些工具助力开发人员提升系统响应速度和资源效率。
93 1
|
1月前
|
机器学习/深度学习 人工智能 Java
现代软件测试中的自动化工具与挑战
在当今快节奏的软件开发环境中,自动化测试工具发挥着越来越重要的作用。本文探讨了现代软件测试中自动化工具的关键作用、常见挑战以及应对策略。通过深入分析各种自动化工具在提高效率、减少成本和增强质量方面的优势,我们揭示了如何克服技术和组织上的障碍,实现软件测试的最佳实践。 【7月更文挑战第11天】
41 0
|
1月前
|
Java 测试技术 Maven
在Java项目中集成单元测试与覆盖率工具
在Java项目中集成单元测试与覆盖率工具
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程
支付系统---微信支付14----创建案例项目---介绍,第二步引入Swagger,接口文档和测试页面生成工具,定义统一结果的目的是让结果变得更加规范,以上就是谷粒项目的几个过程

热门文章

最新文章