串口模拟工具实现测试

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

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

了解相关的串口模拟工具,串口通信工具,实现模拟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来获取新创建的设备的。
目录
相关文章
|
23天前
|
前端开发 Java jenkins
Jmeter压力测试工具全面教程和使用技巧。
JMeter是一个能够模拟高并发请求以检查应用程序各方面性能的工具,包括但不限于前端页面、后端服务及数据库系统。熟练使用JMeter不仅能够帮助发现性能瓶颈,还能在软件开发早期就预测系统在面对真实用户压力时的表现,确保软件质量和用户体验。在上述介绍的基础上,建议读者结合官方文档和社区最佳实践,持续深入学习和应用。
408 10
|
2月前
|
敏捷开发 运维 数据可视化
DevOps看板工具中的协作功能:如何打破开发、测试与运维之间的沟通壁垒
在DevOps实践中,看板工具通过可视化任务管理和自动化流程,提升开发与运维团队的协作效率。它支持敏捷开发、持续交付,助力团队高效应对需求变化,实现跨职能协作与流程优化。
|
3月前
|
数据可视化 测试技术 Go
Go 语言测试与调试:`go test` 工具用法
`go test` 是 Go 语言内置的测试工具,支持单元测试、基准测试、示例测试等功能。本文详解其常用参数、调试技巧及性能测试命令,并提供实际项目中的应用示例与最佳实践。
|
3月前
|
Java 测试技术 容器
Jmeter工具使用:HTTP接口性能测试实战
希望这篇文章能够帮助你初步理解如何使用JMeter进行HTTP接口性能测试,有兴趣的话,你可以研究更多关于JMeter的内容。记住,只有理解并掌握了这些工具,你才能充分利用它们发挥其应有的价值。+
701 23
|
2月前
|
人工智能 数据可视化 测试技术
UAT测试排程工具深度解析:让验收测试不再失控,项目稳稳上线
在系统交付节奏加快的背景下,“测试节奏混乱”已成为项目延期的主因之一。UAT测试排程工具应运而生,帮助团队结构化拆解任务、清晰分配责任、实时掌控进度,打通需求、测试、开发三方协作闭环,提升测试效率与质量。本文还盘点了2025年热门UAT工具,助力团队选型落地,告别靠表格和群聊推进测试的低效方式,实现有节奏、有章法的测试管理。
|
3月前
|
弹性计算 JavaScript Ubuntu
WebSocket协议相关的测试命令工具使用简介
本文介绍了针对WebSocket的测试工具wscat和websocat的基本使用方法,以及通过curl命令测试HTTP/HTTPS协议的方式。对于WebSocket,直接使用curl测试较为复杂,推荐使用wscat或websocat。文中详细说明了这两种工具的安装步骤、常用参数及连接示例,例如在ECS上开启8080端口监听并进行消息收发测试。此外,还提供了curl命令的手动设置头部信息以模拟WebSocket握手的示例,但指出curl仅能作为客户端测试工具,无法模拟服务器。
683 4
|
9月前
|
Java 测试技术 数据安全/隐私保护
软件测试中的自动化策略与工具应用
在软件开发的快速迭代中,自动化测试以其高效、稳定的特点成为了质量保证的重要手段。本文将深入探讨自动化测试的核心概念、常见工具的应用,以及如何设计有效的自动化测试策略,旨在为读者提供一套完整的自动化测试解决方案,帮助团队提升测试效率和软件质量。
|
5月前
|
SQL 安全 测试技术
2025接口测试全攻略:高并发、安全防护与六大工具实战指南
本文探讨高并发稳定性验证、安全防护实战及六大工具(Postman、RunnerGo、Apipost、JMeter、SoapUI、Fiddler)选型指南,助力构建未来接口测试体系。接口测试旨在验证数据传输、参数合法性、错误处理能力及性能安全性,其重要性体现在早期发现问题、保障系统稳定和支撑持续集成。常用方法包括功能、性能、安全性及兼容性测试,典型场景涵盖前后端分离开发、第三方服务集成与数据一致性检查。选择合适的工具需综合考虑需求与团队协作等因素。
614 24
|
6月前
|
JSON 测试技术 网络安全
Apifox工具让我的 Socket.IO 测试效率翻倍
用了 Apifox 测试 Socket.IO 后,我整个人都升级了!不仅操作简单到令人发指,功能还贼全面,真的是 提升开发效率的神器 !
|
9月前
|
Web App开发 IDE 测试技术
Selenium:强大的 Web 自动化测试工具
Selenium 是一款强大的 Web 自动化测试工具,包括 Selenium IDE、WebDriver 和 Grid 三大组件,支持多种编程语言和跨平台操作。它能有效提高测试效率,解决跨浏览器兼容性问题,进行性能测试和数据驱动测试,尽管存在学习曲线较陡、不稳定等缺点,但其优势明显,是自动化测试领域的首选工具。
557 17
Selenium:强大的 Web 自动化测试工具