当使用 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
并读取交换机发送的登录提示。