windows系统和虚拟机上ubuntu系统通过虚拟串口进行通信

本文的目的是实现windows系统和虚拟机上安装的ubuntu通过串口进行通信。为了直观观测串口收发数据的内容,需要在windows系统和ubuntu系统使用串口助手来进行监听。windows系统端用的监听工具是串口助手SSCOM,ubuntu系统端使用的串口助手是CuteCom。

ubuntu端CuteCom发送字符"1"和"2",windows端SSCOM可以接收到这两个字符。再通过windows端SSCOM发送字符串"button_up"和"button_down",ubuntu端的CuteCom同样可以接收到这两个字符串。这样就实现了windows系统和ubuntu系统的串口通信。

本例用到的虚拟机VMware版本为17.5.0,ubuntu版本为22.04.3,虚拟串口vspd版本为7.2,windows系统串口助手SSCOM版本V5.13.1,ubuntu系统串口助手为CuteCom版本为0.30.3。

本文推荐了虚拟机下载安装、在虚拟机上安装ubuntu系统教程的博文链接。vspd和SSCOM的下载安装比较简单,网上资料也比较多,大家可以自行搜索。

目录

一、什么是虚拟机

二、在windows系统安装虚拟机

三、在虚拟机上安装Ubuntu

四、在windows系统安装虚拟串口vspd

五、在windows系统配置vspd虚拟串口

六、在虚拟机上添加虚拟串口

1、在虚拟机上添加虚拟串口

2、关联虚拟机和宿主机的串口

3、连接虚拟机上的虚拟串口

七、在ubuntu系统安装配置串口助手

1、调出终端命令行窗口

2、安装CuteCom

3、打开CuteCom

4、配置CuteCom

(1)设置串口参数

(2)打开串口使用权限

5、CuteCom功能分区

6、ubuntu串口命名规律

八、windows系统SSCOM和ubuntu系统CuteCom进行通信

九、结论


一、什么是虚拟机

虚拟机(Virtual Machine)指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。在实体计算机中能够完成的工作在虚拟机中都能够实现。在计算机中创建虚拟机时,需要将实体机的部分硬盘和内存容量作为虚拟机的硬盘和内存容量。每个虚拟机都有独立的CMOS、硬盘和操作系统,可以像使用实体机一样对虚拟机进行操作。

简单的说,虚拟机就是在windows系统上安装的一个仿真软件,这个软件虚拟仿真出的另外一台独立的电脑,windows所在的实体机也叫宿主机,虚拟的这台电脑叫虚拟机,这台虚拟机和真实的电脑一样,可以安装操作系统,也可以在操作系统里安装软件。本文在虚拟机里安装的操作系统是ubuntu。

二、在windows系统安装虚拟机

操作步骤可参考以下链接博文:

Vmware下载安装教程(非常详细)从零基础入门到精通,看完这一篇就够了_vmware安装教程-CSDN博客

三、在虚拟机上安装Ubuntu

操作步骤可参考以下链接博文:

Ubuntu系统下载及安装教程_ubuntu下载-CSDN博客

注意:如果下载的ubuntu文件为iso格式,那么可以省略此博文的第2、3两步。

四、在windows系统安装虚拟串口vspd

操作步骤略。

五、在windows系统配置vspd虚拟串口


操作步骤可参考以下链接博文的第一步"配置vspd虚拟串口":

利用proteus实现串口助手和arduino Mega 2560的串口通信-CSDN博客

本例添加的串口号为COM1和COM2。

六、在虚拟机上添加虚拟串口

要想让宿主机的windows系统和虚拟机的ubuntu系统进行串口通信,就需要在宿主机和虚拟机分别配置虚拟串口,并且需要把两个虚拟串口关联起来。

上边第四步和第五步实现了在宿主机安装配置虚拟串口,虚拟机上已经带有虚拟串口,不用另外安装软件,只需要添加即可。宿主机配置的虚拟串口在虚拟机上是可以检测到的,所以可以把虚拟机上的虚拟串口和宿主机的虚拟串口关联起来

下边介绍关联两个系统的虚拟串口的步骤:

1、在虚拟机上添加虚拟串口

虚拟机安装完ubuntu,默认的设备里是没有虚拟串口的,需要在ubuntu处于关机的状态下,单击"编辑虚拟机设置"来进行添加,如下图所示。

在"虚拟机设置"对话框里选择"硬件"标签,然后单击"添加"按钮。

在“添加硬件向导”对话框中选择“串行端口”,然后单击“完成”按钮。

2、关联虚拟机和宿主机的串口

在“虚拟机设置”对话框,可以看到硬件列表里已经成功添加了一个串行端口,在右侧“使用物理串行端口”下侧的下拉列表框中选择COM2,然后点击“确定”按钮。COM1和COM2是在宿主机windows系统下创建的,见上边第五步。

此时在ubuntu界面设备列表里,也可以看到一个串行端口,鼠标移动到这里,可以显示“正在使用端口 COM2”,关联成功。

3、连接虚拟机上的虚拟串口

单击“开启此虚拟机”启动ubuntu系统,在ubuntu界面右下角有一个任务栏,有虚拟串口的图标,如下图所示。

鼠标右键点击这个图标,在弹出的菜单里有“连接”或者的“断开连接”的选项,单击即可完成相应的操作。串口连接后图标下侧会出现一个小绿点,断开时没有小绿点。鼠标移动到这个图标上,会显示“串行端口:正在使用端口 COM2”

七、在ubuntu系统安装配置串口助手

本例安装的串口助手为CuteCom,安装需要在终端命令窗口来操作。

1、调出终端命令行窗口

打开终端命令行窗口的操作步骤:单击“显示应用程序”图标->单击“终端”图标即可。

调出终端命令行窗口,如下图所示。

2、安装CuteCom

在命令行输入:sudo apt-get install cutecom

安装过程如下图所示。

安装完成后,单击“显示应用程序”图标->应用程序最后一项就是CuteCom,单击“终端”图标即可打开这个软件。应用程序图标比较多,一页放不下,可以上下滚动滚轮进行翻页

3、打开CuteCom

CuteCom打开后的界面如下图所示。

4、配置CuteCom

(1)设置串口参数

在Device选择/dev/ttyS0,然后单击“Settings”按钮。

在Settings设置界面,设置Baudrate(波特率)为9600,然后单击“Open”按钮,连接串口。

(2)打开串口使用权限

如果单击“Open”后出现下图所示报错信息,“Permission denied”意思是ttyS0串口未授权,所以需要在终端命令行进行授权。

授权的操作步骤:

在终端命令行输入:sudo chmod 777 /dev/ttyS0,然后回车。这行命令的作用是开放串口ttyS0的使用权限。

执行命令前需要输入用户登录密码,然后回车即可完成设置。注意,此时输入密码时不显示输入内容,输完密码后直接回车即可。

完成串口授权后,再单击cutecom窗口的"open"按钮,就可以打开ttyS0串口了。

5、CuteCom功能分区

CuteCom界面如下图所示,在"Input"后边的编辑框输入要发送的内容,然后回车,即可完成发送。发送的内容在"Input"上侧的文本框显示,"Input"下侧的文本框用来显示接收到的内容。

6、ubuntu串口命名规律

本文在设备里只添加了一个虚拟串口,所以Device里只有一个ttyS0,如果添加了多个虚拟串口,那命名有什么样的规律呢?ubuntu串口的命名规律为:ttyS0,ttyS1,ttyS2......,在设备列表中名称对应为:串行端口,串行端口2,串行端口3......,如下图所示。

八、windows系统SSCOM和ubuntu系统CuteCom进行通信

windows系统SSCOM串口助手端口号设置为COM1,波特率也设置为9600,然后单击“打开串口”按钮。

在CuteCom的Input输入框内输入字符“1”,然后回车,可以看到在SSCOM的接收框内也显示收到了字符“1”。

在CuteCom的Input输入框内输入字符“2”,然后回车,可以看到在SSCOM的接收框内也显示收到了字符“2”。

在SSCOM的发送框内输入字符串“button_up”,然后回车,可以看到在CuteCom的接收框内也显示收到了字符串“button_up”。

在SSCOM的发送框内输入字符串“button_down”,然后回车,可以看到在CuteCom的接收框内也显示收到了字符串“button_down”。

九、结论

通过以上操作,可以看到在宿主机系统上安装的虚拟串口,能够为宿主机上安装的虚拟机所共用,因此虚拟机上安装的ubuntu系统就可以通过这些虚拟串口实现与windows系统的通信。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/230268.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电子眼+无人机构建平安城市视频防控监控方案

电子眼(也称为监控摄像机)可以通过安装在城市的不同角落,实时监控城市的各个地方。它们可以用于监测交通违法行为、监控公共场所的安全以及实时监测特定区域的活动情况。通过电子眼的应用,可以帮助警方及时发现并响应各类安全事件…

『Redis』在Docker中快速部署Redis并进行数据持久化挂载

📣读完这篇文章里你能收获到 在Docke中快速部署Redis如何将Redis的数据进行持久化 文章目录 一、拉取镜像二、创建挂载目录1 宿主机与容器挂载映射2 挂载命令执行 三、创建容器—运行Redis四、查看运行情况 一、拉取镜像 版本号根据需要自己选择,这里以…

PPT插件-好用的插件-图形缩放-大珩助手

图形缩放 包括适合屏幕、适合宽度、适合高度、水平翻转、垂直翻转、指定角度,可同时对多个形状进行操作 适合屏幕 一键设置图像、文本、形状的长宽尺寸与当前幻灯片一致 适合宽度 一键设置图像、文本、形状的宽度尺寸与当前幻灯片一致 适合高度 一键设置图像…

鸿蒙方舟开发框架ArkUI简介

语雀知识库地址:语雀HarmonyOS知识库 飞书知识库地址:飞书HarmonyOS知识库 嗨,各位别来无恙呐,我是小白 众所周知,华为在今年推出了 HarmonyOS 4.0 版本,而在此之前的版本中,HarmonyOS 应用的 …

第17章:随堂复习与企业真题(反射机制)

第17章:随堂复习与企业真题(反射机制) 一、随堂复习 1. 反射的概述(熟悉) Java给我们提供了一套API,使用这套API我们可以在运行时动态的获取指定对象所属的类,创建运行时类的对象,…

web漏洞原理与防御策略,web漏洞怎么挖掘

目录 Web安全的重要性 ​编辑常见的Web漏洞类型及其原理: 1、跨站脚本攻击(XSS): 2、SQL注入: 3、跨站请求伪造(CSRF): 4、远程文件包含(RFI)和本地文件包含(LFI):…

[笔记]ARMv7/ARMv8 交叉编译器下载

开发 Cortex-A7、Cortex-A72 或其他 ARM 架构 profile 芯片时,经常需要下载对应架构的交叉编译器,所以写这篇笔记,用于记录一下交叉编译器下载流程,免得搞忘。 编译环境:ubuntu 虚拟机 下载地址 我们可以从 ARM 官网…

使用MfgTool烧写前需准备的文件

一. 简介 本文我们就来学习,如何将我们编译的 uboot,zImage(内核镜像),xxx.dtb设备树文件,还有制作的根文件系统,这四个文件烧写到开发板中,最后 开发板能正常启动。 本文这里使用…

数据可视化软件的兴起:背后的驱动力

在当今信息时代,数据变得比以往任何时候都更为重要。数据可视化软件的广泛应用成为了一种趋势。那么,为什么越来越多的人选择使用数据可视化软件呢?今天我就以自己的工作经验为基础,进行简单的分析。 数据可视化软件能将枯燥的数…

分布式系统CAP理论与BASE理论

CAP理论 Cap理论又被称作布鲁尔定理(Brewers theorem),它指出对于一个分布式系统来说,不可能同时满足如下三点: 一致性(Consistency) 可用性(Availability) 分区容错性…

STM32单片机项目实例:基于TouchGFX的智能手表设计(3)嵌入式程序任务调度的设计

STM32单片机项目实例:基于TouchGFX的智能手表设计(3)嵌入式程序任务调度的设计 目录 一、嵌入式程序设计 1.1轮询 1.2 前后台(中断轮询) 1.3 事件驱动与消息 1.3.1 事件驱动的概念 1.4 定时器触发事件驱动型的任…

软件设计师——面向对象技术(一)

📑前言 本文主要是【面向对象技术】——软件设计师—面向对象技术的文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是听风与他🥇 ☁️博客首页:CSDN主页听风与他 &#…

《微信小程序开发从入门到实战》学习四十五

4.4 云函数 云函数是开发者提前定义好的、保存在云端并且将在云端运行的JS函数。 开发者先定义好云函数,再使用微信开发工具将云函数上传到云空间,在云开发控制台中可看到已经上传的云函数。 云函数运行在云端Node.js环境中。 小程序端通过wx.cloud.…

【Python】Numpy库近50个常用函数详解和示例,可作为工具手册使用

本文以yolo系列代码为基础,在其中查找用到的numpy函数,包含近50个函数,本文花费多天,三万多字,通过丰富的函数原理和示例对这些函数进行详解。以帮助大家理解和使用。 目录 np.array()运行示例 np.asarray()函数解析运…

【网络】简单聊一下 TIME_WAIT

问题背景 笔者在看自己服务状态数据的时候,会发现有很多 tcp 的连接,也会发现有很多处于不同状态下的 tcp 连接,TIME_WAIT 的连接数有83个,为了弄清楚这个 TIME_WAIT 是什么,整理了下面的笔记用于梳理概念 基础流程…

RPC基础

RPC基础知识 RPC 是什么? RPC(Remote Procedure Call) 即远程过程调用,通过名字我们就能看出 RPC 关注的是远程调用而非本地调用。 为什么要 RPC ? 因为,两个不同的服务器上的服务提供的方法不在一个内存空间&…

使用 Tailwind CSS 完成导航栏效果

使用 Tailwind CSS 完成导航栏效果 本文将向您介绍如何使用 Tailwind CSS 创建一个漂亮的导航栏。通过逐步演示和示例代码,您将学习如何使用 Tailwind CSS 的类来设计和定制导航栏的样式。 准备工作 在开始之前,请确保已经安装了 Tailwind CSS。如果没…

聚观早报 |华为畅享 70正式开售;梦饷科技双12玩法

【聚观365】12月8日消息 华为畅享 70正式开售 梦饷科技双12玩法 华为Mate X5应对火海挑战 谷歌发布AI模型Gemini 字节跳动开启新一轮回购 华为畅享 70正式开售 精致外观与创新科技兼具的华为畅享 70正式开售,1199元起搭载6000mAh超大电池,带来超强…

ModStartBlog v8.7.0 LayUI全新升级,文件顺序选择

ModStart 是一个基于 Laravel 模块化极速开发框架。模块市场拥有丰富的功能应用,支持后台一键快速安装,让开发者能快的实现业务功能开发。 系统完全开源,基于 Apache 2.0 开源协议。 功能特性 丰富的模块市场,后台一键快速安装 …

酿酒生产废水处理的设备需要哪些

酿酒生产废水处理的设备需要以下几种: 1. 格栅:用于去除废水中较大的漂浮物,如酒糟和塑料袋等。 2. 沉淀池或澄清器:进一步去除废水中更小的悬浮物和颗粒物,同时使有机物进行厌氧分解。 3. 过滤器和活性炭吸附装置&…
最新文章