Часть 1.
Для примера возьмем две платы arduino UNO.
Из одной сделаем имитацию работы модема, другой будем модему посылать АТ команды, и выбирать нужные ответы.
И так начнем с «клиента», УНка дающая запросы модему, и принимающая ответы.
С помощью кнопки будем подавать запрос модему.
Делаем плату1 «кнопка».
Дальше нужно слушать ответ.
Делаем плату2 « Прием через UART»
Чтобы не городить паровоз, использую в ней задержку на пакет с помощью таймера.
Таймер настраивается на самый длинный пакет символов.
Если время будет мало – пакет будет резать, если большое – будет зацикливание.
Теперь определимся:
Если модем на связи, должен прийти ответ «ОК».
Это будет сигналом для автоматической отправки следующей команды «AT+CSQ».
Если не готов, ответ «NO» никаких дальнейших действий. + эту информацию будем выводить на дисплей.
Создаем нужный алгоритм.
Какие, как информация, и нужно выхватить. Так же помнить о пробелах, и переводах строк, которые тоже учитываются.
************************
Добавлено (18.10.2015, 01:39)
---------------------------------------------
Если команда «AT+CSQ» ушла на модем, должен прийти ответ в виде «+CSQ ХХ,ХY» где:
+CSQ ключ на выборку, после которой следует пробел.
ХХ первая нужная информация
ХY вторая нужная информация
Разделителем между инфой является запятая.
Создаем второй алгоритм на выборку.