【虚拟机】主机串口—虚拟机串口—linux系统串口之间的关系(实现主机和虚拟机之间的串口通信)

文章介绍了如何使用VSPD创建虚拟串口并绑定到主机和虚拟机的Linux系统,通过串口调试助手进行通信测试。在Windows环境下,VSPD创建COM3和COM4配对,主机绑定COM3,虚拟机(内有Linux系统)绑定COM4,通过/dev/ttyS1文件进行数据传输。

         目录

1、准备工具

2、实现机理

3、实现过程

4、虚拟机串口 —— Linux系统串口文件 


1、准备工具

VSPD:作用是在主机上创建虚拟串口

串口调试助手:作用是方便测试能否接收来自虚拟机串口的消息

2、实现机理

传声筒需要每个人各持一个听筒才能通信,对于主机和虚拟机通信,这里所需的通信工具就是串口,我们可以使用 VSPD 工具来创建一对虚拟串口,这一对串口其实是已经建立了连接关系。

但是虚拟机内部的Linux系统也有自己的串口文件 ttyS 文件,此时虚拟机也需要和内部的Linux系统建立起关系

3、实现过程

(1) 创建虚拟端口

打开VSPD,这里选择选择的一对端口是 COM3 和 COM4(可以自己随意搭配),添加配对以后,这两个端口就会自动建立起连接。

 我们可以在左侧查看这两个端口的占用情况

(2) 绑定端口

在Windows环境下打开串口调试助手,没有的话可以在 MicroSoft Store 下载或者网上下载。

选择 COM3,相当于当前主机绑定了 COM3,然后打开串口。

 然后我们要让虚拟机绑定 COM4,点击确定,然后启动虚拟机。

(3) 通信测试

虚拟机在绑定端口的那一刻,Linux系统和虚拟机之间的连接就已经建立起来了,因为虚拟机使用的串口和Linux系统中的串口文件是存在一定的固有联系的。

虚拟机使用的是串口2,对应虚拟机文件里的 /dev/ttyS1(对应关系详见第三部分),因此,我们给 ttyS1 文件写入内容,其实就是通过 串口2 发送数据。

4、虚拟机串口 —— Linux系统串口文件 

虚拟机串口Linux系统串口文件
串口端口2/dev/ttyS1
串口端口3/dev/ttyS2
串口端口4/dev/ttyS3
......

虚拟机串口查看:

这里仅列举出三对关系,其他对应关系可以请读者自行推导。

在VirtualBox下配置串口实现Ubuntu虚拟机Windows主机虚拟串口通信,可按以下步骤进行: ### 环境准备 - 虚拟机软件:VirtualBox 6.1.12 - 虚拟机操作系统:Ubuntu18.04 - 物理机操作系统:WIN10 [^2] ### 软件准备 在VirtualBox中安装扩展包 [^2]。 ### 具体配置步骤 1. **查看主机串口**:打开设备管理器,查看主机(Windows系统)是否识别出串口。例如显示的串行通信端口是COM3 [^4]。 2. **设置VirtualBox串口USB设备**: - **串口设置**:启用串口后选择端口编号模式以及路径。端口编号选择主机对应的编号,如COM3,路径地址也填COM3 [^4]。 - **USB设备设置**:启用USB控制器,选择USB2.0,添加USB设备筛选器。若主机所有的USB端口共接了四个设备:有线鼠标(0110)、有线键盘(0102)、蓝牙键盘(1211)串口(0600),可选择第四个(0600);若不确定,全选也可以 [^4]。 3. **启动虚拟机并检查识别情况**:设置好后启动虚拟机。进入虚拟机后打开终端,使用`ls /dev/ttyUSB*`查看是否成功识别主机串口设备。若显示成功,则表明虚拟机已经成功识别了主机上的串口设备,并将其映射到了 `/dev/ttyUSB0` [^4]。 4. **安装配置串口调试工具**: - **安装minicom**:在虚拟机终端执行以下命令进行安装: ```bash sudo apt update sudo apt install minicom ``` - **配置minicom**:假设设备为 `/dev/ttyUSB0`,执行`sudo minicom -s`进入minicom主菜单进行如下设置: - 串口设置:修改设备地址为`/dev/ttyUSB0`;设置硬件流控为否;波特率根据设备需求调整。 - 确定变更设置后回到主菜单,然后保存设置为dfl,离开Minicom回到终端 [^4]。 5. **进行串口通信**:在终端使用命令`sudo minicom`进入minicom界面,如果有来自设备的数据,会显示在minicom界面。在minicom界面按 `Ctrl - A + Z`会出现命令提示界面,例如`Ctrl - A + X`命令是退出界面 [^4]。 ### 通信机制说明 VirtualBox虚拟机串口通信机制有两种,一种是通过将虚拟机串口连接主机串口,另外一种是将虚拟机串口连接主机上的一个命名管道,目前命名管道的方式实践成功案例较多 [^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值