欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 汽车 > 新车 > Rock Pi 5B Linux虚拟串口设置方法

Rock Pi 5B Linux虚拟串口设置方法

2025/4/6 1:44:26 来源:https://blog.csdn.net/qq_34459334/article/details/146949956  浏览:    关键词:Rock Pi 5B Linux虚拟串口设置方法

方法 1:使用 socat 工具

socat 是一个多功能网络工具,可创建虚拟串口对。

步骤:

  1. 安装 socat

    sudo apt update
    sudo apt install socat

  2. 创建虚拟串口对

    socat -d -d pty,raw,echo=0 pty,raw,echo=0

    输出示例:

    N PTY is /dev/pts/2
    N PTY is /dev/pts/3

    此时生成了一对虚拟串口 /dev/pts/2/dev/pts/3

  3. 测试通信

    • 终端 1:监听一个端口

      cat /dev/pts/2
    • 终端 2:向另一个端口发送数据

      echo "Hello Rock Pi" > /dev/pts/3

    终端 1 应显示接收到的消息。


方法 2:使用 tty0tty 内核模块

tty0tty 是一个内核模块,提供虚拟串口对(如 /dev/tnt0/dev/tnt1)。

步骤:

  1. 安装依赖

    sudo apt install build-essential dkms

  2. 下载并编译 tty0tty

    git clone https://github.com/lcgamboa/tty0tty.git
    cd tty0tty/module
    make
    sudo cp tty0tty.ko /lib/modules/$(uname -r)/kernel/drivers/misc/
    sudo depmod

  3. 加载模块

    sudo modprobe tty0tty

  4. 验证设备文件

    ls /dev/tnt*

    应看到 /dev/tnt0/dev/tnt7

  5. 设置权限(可选):

    sudo chmod 666 /dev/tnt0


方法 3:使用 Python 的 pyserial

通过伪终端(PTY)模拟虚拟串口。

步骤:

  1. 安装 pyserial

    pip install pyserial

  2. 创建 Python 脚本

    import serial
    import os# 创建虚拟串口对
    master, slave = os.openpty()
    serial_name = os.ttyname(slave)print(f"Virtual Serial Port: {serial_name}")# 示例:写入数据
    ser = serial.Serial(serial_name)
    ser.write(b"Hello from Python")
    ser.close()
     

常见问题

  1. 权限不足

    • 将用户加入 dialout 组:

      sudo usermod -aG dialout $USER
    • 重新登录生效。

  2. 虚拟串口无响应

    • 检查是否已正确创建端口对。

    • 确保读写程序使用相同的波特率(虚拟端口通常忽略波特率,但某些软件可能要求设置)。


应用场景

  • 开发调试:模拟硬件串口进行软件测试。

  • 多设备通信:在无物理连接时测试串口协议。

  • 容器/虚拟机:在虚拟化环境中使用串口通信。

根据需求选择合适的方法,推荐使用 socat 快速测试,或 tty0tty 获得持久化设备。

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com

热搜词