Я делаю программу на Python для автоматической настройки модема с использованием AT-команд (не важно знать, что это такое)
Я использую последовательный модуль для связи через COM-порт.
Способ работает так, что я посылаю команду, а затем я хочу «сохранить» ответ, пока в конце не появится строка с надписью «ОК».Я попробовал это:
import serial
ser = serial.Serial(port='COM15', baudrate=115200, timeout=3, parity=serial.PARITY_NONE, stopbits=serial.STOPBITS_ONE)
intline =''
ser.write('AT+COPS?'+'\r\n') '''This specific commands asks for network status'''
while ser.inWaiting() >0:
intline += ser.read(1)
if 'Greentel' in intline:
print "Internet access"
else:
print "No internet access"
Моя проблема в том, что иногда я получаю несколько строк ответа.В качестве примера, для команды, использованной здесь, я получаю ответ:
"+ UMWI: 0,4
+ UMWI: 0,5
AT +COPS?
+ COPS: 0,0, "Greentel", 7
OK "
Что я действительно хочу, так это сделать функцию, которую я могу вызыватьчитать, пока не встретится ОК, поместите текст в строку / список, и позвольте мне искать в нем конкретные слова.