Всем привет! Скетч работы Arduino Uno R3 с припаянным GSM модулем - работает на "ура" при состоянии "отправлять SMS каждые 2 минуты". Но переделываю скетч на отправку SMS каждые сутки - и всё, SMS не идут. В силу того, что разница этих 2 скетчей только в величинах временных интервалов - появляется подозрение, что виноват модуль GSM, например в пределах суток успевающий уйти в сон, и далее не реагирующий на команды с Дуни. Так вот вопрос, может ли быть такое? Есть у кого подобный опыт? Ну и как не дать модулю GSM в таком случае уходить в сон?
Заснуть вряд ли но зависнуть запросто. Лечиться - периодической передачей АТ команды и проверки ответа ввиде ОК.Если не пришло передёргиваем питание.
Да. может засыпать. Например про А6 многие пишут, что он довольно быстро отваливается при неактивности. Решение простое - каждые (час, полчаса. 10 минут - интервал подобрать) нужно посылать модему команду "АТ", а при отсуствии ответного "ОК" - перезагружать.
Программно как-то можно ресетить? Или питанием только? Вся эта конструкция не совсем под рукой находится, а в произв. помещении, в коробе, и на высоте 1,5 м )) Постоянно бегать кабель питания дергать - ну как бэ совсем не то. Возможно, повесить на питание релюху, и при отсутствии ОК - размыкать её Дуней секунд на 5-10? Или как-то без этого можно обойтись, командой некой?
чисто программно - нет. Но, конечно, не вручную же... Можно поставить мосфет, управляемый пином ардуино.
Зависит от типа модуля.На выключение есть АТ команда AT+CPWROFF Включение подачей питания 1сек на Шилд с 9 пина на AIThinker A6 есть да и у Neoway 590 тоже есть пин включения.В принципе все можно делать слаботочкой но я не проверял у меня реле тупо отрубает питание а потом его включает.
Я тоже за реле, мелкое, как на фото, рядом кроватка для AtTiny13 для сравнения. Так получилось, у меня их много . Периферию подключаю через нормально замкнутые контакты.
И все-таки интересно знать, какое время нужно модулю для его ухода в сон? Почитал-почитал интернеты, но совсем нет инфы, не нашел во всяком случае... Сброс дело понятное, но это жесткое решение - типа "ну завис, ну грузись", как-то непрогнозируемое событие получается. Опять же, чтобы не дать уйти в сон GSM-у, возможно нужно подавать на него периодически какую-либо команду - установку скорости порта, например, каждые N минут, или еще чего... Вот такие мысли, вобщем. Как думаете?
Но опять же, при условии, что именно эта команда не даёт модулю уйти в сон ) Где это вычитать, непонятно. Документация есть... но не полная, что ли. Только экспериментами добиваться истины?
Модуль уходит в сон при неактивности. Любой обмен по сериал - это активность. Нет специальной "именно этой команды", подойдет любая. Очевидный вариант - "АТ"
Не помню интервал с которым дергал, но если нет ответа, то дергал еще и резет. А еще регулярно не только активность модуля, но и наличие сети проверять не мешает (команду с ходу не помню), если отвалилась, рецепт тот же - резетить.
Мде, жоско... АТ и так каждые 3 секунды летит, по идее значит спать не даёт модулю... Но тот виснет, скажем так на каждые 2 запуска "с нуля", с включения - 1 зависает в скором времени. Как-то совсем непрогнозируемо, ненадёжно ) Но тут что поделать, железки бюджетные и т.п.
Думаю, железки не при чем. Сколько читал жалоб на зависание А6 - у всех в итоге нашлась причина. При должном терпении и аккуратности в итоге у всех работает стабильно сутками. Из вариантов - - плохое питание - неправильное использование SoftwareSerial - ошибки в скетче, особенно касающиеся переполнения памяти
А зачем Software Serial?Я вот категорический противник его и не только в Ардуино проектах.Народ его тупо лепит либо по незнанию либо по лени а может и то и другое.