Linux创造虚拟串口
方案一socat推荐最简单、无需编译内核模块、临时即用# Debian/Ubuntu/银河麒麟 sudo apt update sudo apt install socat -ysudo apt install socat -y 是什么意思sudo以 **管理员root 超级权限** 执行后面的命令安装软件需要系统最高权限普通用户直接运行会报错权限不足。aptDebian/Ubuntu/ 银河麒麟、Deepin这类基于 Debian 体系 Linux 系统的软件包管理器负责下载、安装、卸载系统软件。installapt 的子命令执行安装操作。socat要安装的软件包名称。socat 全称Socket CAT号称超级万能端口转发工具功能极强端口映射、TCP/UDP 转发、套接字代理、内网穿透、双向数据流转发、绑定端口监听等运维、内网穿透、网络调试常用。-y自动确认所有安装询问。 不加-y安装过程中会弹出[Y/n]让你手动输入 Y 确认加了直接全自动一路安装完成。创建一对互通虚拟串口固定设备名执行这条命令生成/dev/ttyV0↔/dev/ttyV1双向连通虚拟串口sudo socat -d -d pty,raw,echo0,link/dev/ttyV0 pty,raw,echo0,link/dev/ttyV1整体作用创建一对互相直通的虚拟串口伪终端 PTY往/dev/ttyV0写数据立刻能从/dev/ttyV1读到往/dev/ttyV1写数据立刻能从/dev/ttyV0读到常用于串口程序调试、嵌入式代码模拟串口、Linux 下模拟两个设备串口互通、Qt 串口开发测试、Modbus 调试等场景。分段拆解参数1. sudosocat创建软链接到/dev/目录属于系统设备目录操作普通用户无权限必须提权。2. socat超级万能的双向数据转发工具全称Socket CAT可以在任意两类数据流之间搭桥串口、TCP、UDP、文件、管道、伪终端、IPv6、SSL 等。3.-d -d日志参数两个-d代表调试级别单个-d基础警告输出两个-d打开详细调试日志输出端口打开、数据收发、错误、EOF等过程 想更详细可以-ddd日常测试-d -d足够。4. 第一个地址pty,raw,echo0,link/dev/ttyV0关键字pty指定使用伪终端Pseudo TerminalLinux 内核虚拟串口硬件不存在纯软件模拟串口设备。参数逐个解释raw原始模式关闭终端行规则处理不做回车换行转换\r↔\n不自动替换不处理退格、CtrlC、CtrlD、信号中断二进制数据透传串口二进制通信必备Modbus、协议帧、十六进制数据包必须加 rawecho0关闭本地回显echo1默认自己发什么终端立刻回显什么类似敲命令屏幕重复打出字符echo0关闭回显完全模拟真实物理串口行为发出去的数据只对端接收本地不回显link/dev/ttyV0给内核自动分配的随机 PTY比如/dev/pts/3创建固定符号链接到/dev/ttyV0。重点内核真实设备是/dev/pts/XttyV0只是软链接方便程序固定路径打开串口。5. 第二个地址pty,raw,echo0,link/dev/ttyV1和上面完全一致创建另一端虚拟串口链接固定为/dev/ttyV1。底层逻辑socat 内部建立双向管道应用程序A → /dev/ttyV0 → socat 内部缓冲区 → /dev/ttyV1 → 应用程序B 应用程序B → /dev/ttyV1 → socat 内部缓冲区 → /dev/ttyV0 → 应用程序A全双工双向互通。权限放行必须否则程序打不开新开终端执行sudo chmod 666 /dev/ttyV0 /dev/ttyV16 110 可读可写不可执行通信测试验证终端 1接收cat /dev/ttyV0终端 2发送echo hello serial /dev/ttyV1终端 1 会立刻收到字符串代表双向通路正常。cat /dev/ttyV0 是什么意思cat Linux 读取文件 / 设备内容并打印到屏幕的命令 /dev/ttyV0 你用 socat 创建的虚拟串口 0 设备文件 整句读取虚拟串口 ttyV0 上收到的所有数据实时打印在终端上为什么执行会提示「设备或资源忙」Linux 串口设备是独占打开 Qt 程序已经调用 QSerialPort 打开了 /dev/ttyV0 占用句柄 系统不允许第二个程序cat、cutecom、minicom再次打开同一个端口直接报错 设备或资源忙。使用cat 查看信息如果发送的是ASCII码接收显示正常。如果发送的是16进制数接收显示是乱码。cat命令只会把读到的字节当成 UTF-8/ASCII 可打印字符渲染0x200x7F 可见 ASCII → 正常文字显示0x00~0x1F、0x80~0xFF 控制字节 / 高位十六进制 → 终端无法解析直接输出方块、问号、特殊符号也就是你看到的乱码乱码只是终端界面显示问题串口底层收到的二进制字节 100% 是正确的没有丢包、没有变值。正确查看十六进制原始数据的命令替代 cat方式 1hexdump 最直观推荐hexdump -C /dev/ttyV1好像没有效果原因:hexdump 打开方式本身有缺陷阻塞读取不灵敏hexdump /dev/ttyV1一次性读取不会持续实时监听。替换成持续实时抓流命令稳定可用stdbuf -i0 -o0 cat /dev/ttyV1 | hexdump -C这条会一直阻塞等待数据流Qt 一发数据立刻打印十六进制。现在可以显示了可以查看信息。但感觉信息有点卡顿而且一次只显示一行不全不完整。原因:hexdump默认按块刷新、按行格式化输出小包数据会攒到缓冲区才打印造成卡顿尝试方案持续实时抓包写入文件 实时 tail 看兼顾存日志 实时查看终端 1后台持续保存所有串口原始数据cat /dev/ttyV1 serial_recv.bin 终端 2实时十六进制滚动查看tail -f serial_recv.bin | stdbuf -oL xxd -Cxxd 是什么通俗版xxd是 Linux 自带的二进制文件 / 二进制流十六进制查看工具预装在绝大多数系统Ubuntu、银河麒麟、Debian 都自带。作用一句话把一堆看不见的原始二进制字节翻译成人类能看懂的 16 进制格式打印出来替代你之前卡顿、攒包输出的hexdump。

相关新闻

Obsidian数据迁移终极指南:如何将Notion、Evernote等笔记应用快速导入Obsidian

Obsidian数据迁移终极指南:如何将Notion、Evernote等笔记应用快速导入Obsidian

Obsidian数据迁移终极指南:如何将Notion、Evernote等笔记应用快速导入Obsidian 【免费下载链接】obsidian-importer Convert your data to Markdown files you can use in Obsidian. Works with Apple Notes, OneNote, Evernote, Notion, Google Keep, and many oth…

2026/7/30 5:40:26 阅读更多 →
基于SpringBoot的果园生产溯源管理系统(源码+LW+部署讲解)

基于SpringBoot的果园生产溯源管理系统(源码+LW+部署讲解)

温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台官方提供的学长联系方式的名片! 温馨提示:本人主页置顶文章(点我)开头有 CSDN 平台…

2026/7/30 5:39:26 阅读更多 →
Dify 自托管部署教程:使用 Docker Compose 在 Linux 服务器运行完整服务栈

Dify 自托管部署教程:使用 Docker Compose 在 Linux 服务器运行完整服务栈

Dify 的可视化编排界面把模型调用、条件分支、知识检索和工具节点放在同一张画布上。对自托管部署而言,难点不在启动某个 Web 容器,而在于同时管理 API、异步任务、数据库、缓存、向量存储、插件服务、代码沙箱和反向代理。 工作流画布用于连接模型、检索…

2026/7/30 5:39:26 阅读更多 →

最新新闻

FreeRTOS下STM32 HAL硬件I2C稳定性全解析:从互斥锁到错误恢复

FreeRTOS下STM32 HAL硬件I2C稳定性全解析:从互斥锁到错误恢复

1. 项目概述:当FreeRTOS遇上HAL硬件I2C如果你正在用STM32的HAL库,跑着FreeRTOS,然后去驱动硬件I2C,大概率已经踩过或者即将踩进一个“坑”里。这个坑的表现形式五花八门:可能是I2C通信偶尔失败,返回HAL_BUS…

2026/7/30 5:47:28 阅读更多 →
C/C++中i++与++i的深度解析:从表达式求值到未定义行为避坑

C/C++中i++与++i的深度解析:从表达式求值到未定义行为避坑

1. 项目概述:为什么这几个运算符值得深究?在C/C的日常编码中,i、i、ai、ai这几个表达式就像空气一样常见,以至于很多开发者,包括一些有几年经验的,都觉得自己已经“掌握”了。不就是后置加加和前置加加的区…

2026/7/30 5:47:28 阅读更多 →
3步终极方案:用Jasminum解决Zotero中文文献识别难题的完整指南

3步终极方案:用Jasminum解决Zotero中文文献识别难题的完整指南

3步终极方案:用Jasminum解决Zotero中文文献识别难题的完整指南 【免费下载链接】jasminum A Zotero add-on to retrive CNKI meta data. 一个简单的Zotero 插件,用于识别中文元数据 项目地址: https://gitcode.com/gh_mirrors/ja/jasminum 你是否…

2026/7/30 5:47:28 阅读更多 →
字符串数字提取与运算:从正则表达式到完整数据处理流程

字符串数字提取与运算:从正则表达式到完整数据处理流程

你有没有遇到过这种情况:手里拿着一串文本,里面混杂着数字和文字,需要把其中的数字挑出来做计算?比如从“订单A2023收入5000元”中提取2023和5000,然后计算增长率;或者从日志文件里找出所有的时间戳进行统计…

2026/7/30 5:47:28 阅读更多 →
Vue 3组合式与选项式API深度对比:从原理到实战选型指南

Vue 3组合式与选项式API深度对比:从原理到实战选型指南

1. 从“怎么选”到“怎么用”:Vue 3两种API风格深度实践最近在带团队做技术栈升级,从Vue 2全面转向Vue 3,一个绕不开的核心议题就是:到底用组合式API(Composition API)还是选项式API(Options AP…

2026/7/30 5:47:28 阅读更多 →
MyBatis-Plus Wrapper深度解析:告别SQL拼接,掌握声明式查询与更新

MyBatis-Plus Wrapper深度解析:告别SQL拼接,掌握声明式查询与更新

1. 项目概述:从“手写SQL”到“优雅封装”的进化之路如果你和我一样,从早期手写大量拼接SQL字符串的时代走过来,第一次接触到MyBatis-Plus的Wrapper(条件构造器)时,那种感觉就像是给近视眼配了一副合适的眼…

2026/7/30 5:46:28 阅读更多 →

日新闻

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南

Windows驱动存储终极清理工具:DriverStoreExplorer完全指南 【免费下载链接】DriverStoreExplorer Driver Store Explorer 项目地址: https://gitcode.com/gh_mirrors/dr/DriverStoreExplorer 您是否曾因Windows系统盘空间不足而烦恼?是否遇到过设…

2026/7/30 0:00:13 阅读更多 →
如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南

如何3步掌握Video Download Helper:网页视频下载的完整实战指南 【免费下载链接】VideoDownloadHelper Chrome Extension to Help Download Video for Some Video Sites. 项目地址: https://gitcode.com/gh_mirrors/vi/VideoDownloadHelper 你是否曾经在浏览…

2026/7/30 0:00:13 阅读更多 →
“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

“双减”后首个AI备课压力测试报告:覆盖32所中小学的176节AI辅助课,暴露4大隐性增负节点

更多请点击: https://intelliparadigm.com 第一章:AI 教师备课辅助 AI 教师备课辅助系统正逐步成为教育数字化转型的核心支撑工具,它并非替代教师,而是通过语义理解、知识图谱与多模态生成能力,将教师从重复性劳动中解…

2026/7/30 0:00:13 阅读更多 →

周新闻

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 道路桥梁裂缝检测数据集 道路桥梁病害识别检测数据集

深度学习道路桥梁裂缝检测系统 数据集6000张 完整源码已标注数据集训练好的模型环境配置教程程序运行说明文档,可以直接使用!系统支持图片、视频、摄像头等多种方式检测裂缝,功能强大实用。 1数据集6000张 8各类别

2026/7/29 22:18:20 阅读更多 →
深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

深度学习YOLO模型如何训练 PUBG 绝地求生目标检测数据集

pubg数据集 精选原图1.42万数据 1.49万标签 无任何重复、算法增强或冗余图像! pubg绝地求生目标检测数据集 1分类:e_body,14905个标签,txt格式 共计14244张图,99%为640*640尺寸图像 适合yolo目标检测、AI训练关键词&am…

2026/7/29 14:34:28 阅读更多 →
Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex英雄目标检测数据集 深度学习框架YOLO如何训练APEX数据集

Apex检测数据集数据集详情检测类别: allies enemy tag图片总量:7247张训练集:5139张验证集:1425张测试集:683张标注状态:全部已标注,即拿即用数据格式:支持YOLO格式及其他格式&#…

2026/7/29 15:00:03 阅读更多 →

月新闻