如何转储写入 tty 的每个字节?

如何转储写入 tty 的每个字节?

当使用 PuTTY 通过串行 ( ) 连接到交换机时/dev/ttyUSB0,系统会显示登录提示。如果我使用 Pythonpyserial库进行连接并写入几个换行符 ( \n\n\n),则交换机不会返回任何信息。

但是,如果我先连接pyserial,然后连接PuTTY,然后关闭PuTTY,那么我就能够完美地使用读写字节pyserial

这让我相信 PuTTY 在尝试连接时会自动发送一些我看不到的字节。我如何监视 PuTTY 写入的内容,/dev/ttyUSB0以便我可以从 Python 中模拟它?


详细说明一下,以下是我尝试使用 Python 做的事情:

import pyserial

ser = pyserial.serial_for_url("/dev/ttyUSB0")
ser.timeout = 1
ser.write("\n".encode("ASCII"))

print(ser.read(1))   # Times out and returns b""

如果在serial_for_url方法调用之后,我使用 PuTTY 连接,在 PuTTY 中发送换行符(按 Enter),然后断开连接,那么我就可以写入ser并读取交换机发送的登录提示。

相关内容