在一台计算机上的两个控制台进行Pyserial测试

时间:2014-07-31 16:09:12

标签: python serialization

与Pyserial取得联系我想建立一个非常小的测试环境。我的基本想法是打开两个python控制台,一个用于在端口写入,另一个用于从同一端口读取。不幸的是它不起作用:

我在这里做了什么:

控制台1:

import serial
serwrite = serial.Serial()
serwrite.port = 0
serwrite.open()
serwrite.write("testtext")
serwrite.close()

控制台2:

import serial
serread = serial.Serial()
serread.port = 0
serread.timeout = 15
serread.open()
a = serread.read()

然后a的输出是' ' 。

我假设它并不像我想象的那么容易。我的测试基于这样的想法:端口或多或少像我可以写入和读取的引脚。

非常感谢!

1 个答案:

答案 0 :(得分:0)

感谢@Joran和@Batman以及this我找到了一种简单的方法来测试它(在ubuntu上),创建两个虚拟端口并桥接它们。

控制台0

socat -d -d PTY: PTY:

它为您提供了两个连接的端口。就我而言/dev/pts/6/dev/pts/8

控制台1

import serial
serwrite = serial.Serial()
serwrite.port = '/dev/pts/6'
serwrite.open()
serwrite.write("testtext")

控制台2

import serial
serread = serial.Serial()
serread.port = '/dev/pts/8'
serread.timeout = 15
serread.open()
a = serread.read()

好吧,a只包含t,因为.read()中没有给出进一步的选项,但进一步测试的测试设置有效......