Вывод на печать команды AT
Я использую python для связи с GSM-модемом, подключенным к моему порту ttyUSB.
import serial
from curses import ascii
ser=serial.Serial('/dev/ttyUSB0', 9600, timeout=3)
command = ser.write('AT+CMGR=3\r\n')
print command
Теперь для связи с моим модемом я передаю AT-команды из python, мне нужно распечатать вывод полной командной строки. Как мне это сделать?
2 ответа
Если вы имеете в виду, как получить выход из модема, используйте read
, readline
или же readlines
методы ser
, Смотрите учебник.
Во-первых, команда AT должна заканчиваться только \r
и не \r\n
(если вы не изменили S3 и не должны этого делать), см. V.250 для более подробной информации об этом и AT-командах в целом (например, если вы еще не прочитали эту спецификацию, это настоятельно рекомендуется).
Затем, для чтения из последовательного порта, это уже описано в ответе Янне Карила.
В-третьих, для обработки AT-команд вы должны прочитать и проанализировать ответы, которые вы получаете от модема, см. Этот ответ для описания того, как это должно быть сделано.