Мой скрипт на python работает с модемом, и первым шагом процесса является проверка, достаточно ли сигнала.С помощью AT-команд я могу запросить у модема интенсивность сигнала, поэтому я сделал цикл, который постоянно запрашивает мощность сигнала, а затем продолжает работу, если сигнал достаточно сильный.
Если сигнал доступен, это работает просто отлично.Проблема в том, когда нет сигнала.Я пытался увеличить время сна, но, похоже, это не сработало.
Signal = False
while Signal is not True:
x = ser.readline()
y = x.rstrip()
z = y.decode('utf-8')
ser.write(str.encode('AT+CSQ?\r'))
time.sleep(9)
if (z.startswith("+CSQ")):
a = int(z[5])
if a >= 3:
Signal = True
time.sleep(4)
enough_signal_write()
else:
checking_signal
При длинных циклах, например, 10 попыток перехватить сигнал, это выглядит странно, например, игнорирование, если сигнал достаточно сильныйиногда, наконец, догонять и бежать.(Я могу проверить это по странному порядку выходов модема с помощью строки 'print (z)')
Мне кажется, мне нужно что-то подождать, пока модем ответит, и затем предпринять действия с этим, но я не уверен, как мне это сделать.
Спасибо за ваше время