• 在Linux系统中创建虚拟串口


    在Linux系统中创建虚拟串口


    有多种方法可以在 Linux 中创建虚拟串口来测试和调试串行通信协议。 在本文中,我们将详细介绍如何在Linux中创建虚拟串行端口。

    1、虚拟串口介绍

    虚拟串口是物理串口的逻辑表示。 这些端口不与串行端口连接。 虚拟串行端口允许我们模拟物理串行端口,从而消除电缆和物理通信接口的要求。

    此外,虚拟端口允许软件包使用空调制解调器仿真器与内部存储器进行通信。 空调制解调器模拟器是 Linux 的虚拟驱动程序,可实现虚拟串行端口通信。

    2、使用 socat创建虚拟串行端口

    创建虚拟串行端口的第一种方法是使用 socat 实用程序。 该实用程序使用标准输入和输出将端口流量传输到可执行文件。 socat 的语法如下:

    socat [OPTIONS]

    这两个ADDRESS可以是:

    • stdio:标准输入/输出
    • udp:host:port:与主机和端口的 UDP 连接
    • tcp:host:port:与主机和端口的 TCP 连接
    • file:<文件名>:文件或 FIFO(命名管道)
    • pty:伪终端
    • pty,link=<文件名>:带有符号链接的伪终端
    • pty,rawer,link=<文件名>:具有原始数据传输和符号链接的伪终端

    2.1 安装socat

    尽管 socat 实用程序通常默认可用,但我们可以将其安装在我们的计算机上。 要安装它,我们将使用 apt-get 包或 yum 包:

    #Debian-based Linux
    sudo apt-get install -y socat
    # RHEL-based Linux
    sudo yum install -y socat
    
    • 1
    • 2
    • 3
    • 4

    这将在 Linux 计算机上安装 socat。

    2.2 创建简单的虚拟串口

    例如,要创建两个打开调试模式的伪终端,我们需要键入 socat 并使用 -d 选项和 pty,rawer 代替地址:

    socat -d -d pty,rawer,echo=0 pty,rawer,echo=0
    
    • 1

    输出如下:

    2023/11/15 17:34:44 socat[78860] N PTY is /dev/pts/3
    2023/11/15 17:34:44 socat[78860] N PTY is /dev/pts/4
    2023/11/15 17:34:44 socat[78860] N starting data transfer loop with FDs [5,5] and [7,7]
    
    • 1
    • 2
    • 3

    socat 命令后面的 -d -d 选项打印致命、错误、警告和通知消息。 此外, pty,rawer,echo=0 参数在 /dev/pts 下创建两个伪终端。 这些端子充当串行连接的端点。 要连接这两者,我们可以使用任何串行通信工具,例如 minicom。 例如,要以 9600 的波特率连接 /dev/pts/3,我们将运行:

    minicom -D /dev/pts/3 -b 9600
    
    • 1

    这将连接 /dev/pts/3,波特率为 9600。

    2.3 创建指定波特率的串行端口

    或者,我们可以通过将 baud 参数添加到 socat 命令来创建具有自定义波特率的虚拟端口:

    socat -d -d pty,rawer,echo=0,link=/tmp/ttyV0, baud=115200 pty,rawer,echo=0,link=/tmp/ttyV1,baud=115200
    
    • 1

    这将创建一对具有自定义名称 /tmp/ttyV0 和 /tmp/ttyV1 的虚拟速率。

  • 相关阅读:
    hot100-最大正方形
    Springboot+学生作业管理系统 毕业设计-附源码251208
    vue项目打包优化的方法
    linux:vi和vim的使用
    html实现图片裁剪处理(附源码)
    测试工作3年还在基础岗?可能只是因为你的工作能力差
    mysql 半同步复制模式使用详解
    OpenGL 桶形畸变算法-常用VR
    微信小程序 | 微信公众平台SpringBoot开发实例 │ 开发一个简易的个人微信公众号
    2023牛客OI赛前集训营-提高组(第三场) 分糖果
  • 原文地址:https://blog.csdn.net/wujuxKkoolerter/article/details/134425519