Распечатать вывод 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, мне нужно распечатать вывод полной командной строки. Как это сделать?


person Kushal Shah    schedule 04.06.2013    source источник


Ответы (2)


Если вы имеете в виду, как получить вывод от модема, используйте read, readline или readlines методы ser. См. руководство.

person Janne Karila    schedule 04.06.2013

Во-первых, AT-команда должна завершаться только \r, а не \r\n (если только вы не изменили S3, а этого делать не следует), см. V.250 для получения более подробной информации об этом и AT-командах в целом (например, если вы еще не читали эту спецификацию, настоятельно рекомендуется) .

Затем, для чтения из последовательного порта, это уже описано в ответе Янны Карилы.

В-третьих, чтобы обрабатывать AT-команды, вы должны читать и анализировать ответы, которые вы получаете от модема, описание см. в этом ответе. того, как это должно быть сделано.

person hlovdal    schedule 07.06.2013