linux创建虚拟串口

要将一个终端bash作为串口,并使其可以被pyserial打开,你可以使用 socat 工具。socat 是一个多功能的网络工具,可以创建虚拟串口对。以下是具体步骤:

  1. 安装 socat

    复制代码

    bash复制代码
    sudo apt-get install socat

  2. 创建虚拟串口对:

    复制代码

    bash复制代码
    socat -d -d pty,raw,echo=0 pty,raw,echo=0

    这条命令会输出类似如下的信息:

    复制代码

    复制代码
    2023/10/10 10:10:10 socat[12345] N PTY is /dev/pts/3 2023/10/10 10:10:10 socat[12345] N PTY is /dev/pts/4 2023/10/10 10:10:10 socat[12345] N starting data transfer loop with FDs [5,5] and [7,7]

    这里 /dev/pts/3/dev/pts/4 是创建的虚拟串口对。

  3. 在一个终端中运行bash:

    复制代码

    bash复制代码
    bash < /dev/pts/3 > /dev/pts/3

  4. 使用 pyserial 打开另一个虚拟串口:

    复制代码

    python复制代码
    import serial ser = serial.Serial('/dev/pts/4', 9600) ser.write(b'Hello from pyserial\n') response = ser.read(100) print(response) ser.close()

这样,你就可以通过 pyserial 与运行在虚拟串口上的bash进行通信了。请注意,虚拟串口的设备文件名(如 /dev/pts/3/dev/pts/4)可能会有所不同,具体取决于 socat 的输出。

相关推荐
qq_三哥啊27 分钟前
【python】sys.executable、sys.argv、Path(__file__) 在PyInstaller打包前后的区别
开发语言·python
三天不学习1 小时前
Python 进阶学习之全栈开发学习路线
开发语言·python·学习
曲幽1 小时前
Python字符串处理技巧全解析
python·split·replace·find·str·getstring
都叫我大帅哥3 小时前
Python中的Annotated:不只是类型提示的装饰
python
abort();4 小时前
Iterable:一个容易被忽视的Python编码细节
python
MC皮蛋侠客4 小时前
Python与MongoDB深度整合:异步操作与GridFS实战指南
开发语言·python·mongodb
这里有鱼汤4 小时前
Python菜鸟如何用AI写出高质量代码?这6招我亲测有效!
后端·python
小小菜鸡ing4 小时前
python学习---dayday6
python·学习
向左转, 向右走ˉ4 小时前
Python函数全解析
开发语言·python
测试老哥5 小时前
Jmeter+ant+jenkins接口自动化测试框架
自动化测试·软件测试·python·测试工具·jmeter·jenkins·压力测试