При подключении к последовательному коммутатору (/dev/ttyUSB0
) с помощью PuTTY, я получаю приглашение для входа в систему. Если я подключаюсь с помощью pyserial
библиотеки Python и пишу несколько разрывов строк (\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, отправляю разрыв строки (нажмите Enter) в PuTTY, затем отключаюсь, я могу затем написать через ser
и прочитать запрос на вход в систему, который отправляет коммутатор.