Есть необходимость автоматической корректировки времени на ряде АТС
Harris 20-20.
Для того, чтобы засинхронизировать время необходимо через COM-порт подключиться к АТС и ввести определённую команду.
Для автоматизации процесса было решено использовать Python и модуль pySerial.
Проблема состоит в том, что для подключения к АТС в порт необходимо отправить команду ETX.
В любой терминалке это решается нажатием клавиш Ctrl-C, ну а для того, чтобы это работало в программе, необходимо отправить в порт
\x03
.
Код приведён ниже:
import serial
ser = serial.Serial('COM12', baudrate=9600, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE, bytesize=serial.EIGHTBITS, xonxoff=1)
ser.write(chr(3))
Вот только после отправки этого символа от АТС должно выводиться приглашение ввести логин, как здесь:
<ETX> [len=2]
[len=0]
<LF><LF>*** NO DEFAULT AVAILABLE *** [len=30]
<LF> [len=1]
<LF>Username ...?
А на деле выводится лишь следующее:
<ETX>
В порт отправляется команда ETX, но никакой реакции от АТС не приходит.
Как добиться реакции от АТС?