Nikita, Про стабильность так скажу. Программа у меня делает следующее:
1. Запускает DC-DC преобразователь на 5в(у него есть отдельный вход для запуска). К к этому DC-DC подключен микро роутер с Yota модемом.
2. Выжидает некоторое время.(Пока роутер запустится и Yota сконнектится).
3. Получает c BMP180 температуру и давление.
4. Получает через ADC напряжение источника питания(У меня все работает от автомобильного аккумулятора).
5. Проверяет входящие команды(в моем случае на запуск насоса полива). Команды получаю с TalkBack(это приложение сервера thingspeak.com)
6. Если нужно включает насос(через реле) на заданное время. Тут кстати еще возможен болт, т.к. на насосе я не проверял, и боюсь что "искра" в контактах реле при включении насоса может дать помеху на esp. Но спаянное устройство перестало бояться настольную лампу, и это дает больше шансов.
7. Передает телеметрию на thingspeak.com (Давление, температуру, напряжение, количество неудачных коннектов к роутеру, количество неудачных коннектов к серверу, объем свободной памяти, факт перезагрузки esp(если был), количество осадков ).
8. Выключает DC-DC на 5в(т.е. выключаю роутер и Йоту).
9. Тупит некоторое время и повторяет все с пункта 1.
Параллельно еще есть прерывание по изменению сигнала на одном из входов(На нем весит датчик количества осадков. Замыкает контакты при прохождении через него определенного количества осадков)
При цикле раз в 5 минут, оно у меня проработало двое суток без перезагрузок, отъев 2кб оперативы(Отъедает стандартно при неполучении ответа от сервера). Это было самое продолжительное испытание. Т.к. постоянно дописываю код и дольше проверить не получалось.
В принципе, в моем случае редкие перезагрузки не критичны. Если что, потеряю данные о количестве осадков между двумя удачным коннектами. В боевых условиях я планирую передавать данные раз в 15-30 мин.
PS. Да. Все это можно сделать было на обычной ардуине + ethernet модуль(благо и роутер с wifi в непосредственной близости, причем я его сам включаю на сеанс связи), но захотелось реализовать на esp... и по размерам меньше и дешевле.
Все это планируется для полуавтоматического полива на даче. Т.е. я получаю и анализирую телеметрию(температуру и количество осадков) и выдаю команду на полив. Поливает из бочки, насосом на 12в, питается от автомобильного аккумулятора(С электричеством проблем нет, но захотелось сделать полностью автономную вещь, которую можно поставить в любом месте и управлять). В прошлом году делал аналогичный полив, но через таймер. Приходилось задавать программу таймера исходя из прогноза погоды на будущее... В этом году буду исходить уже из фактической погоды.
Боевых испытаний еще не было, поэтому как оно себя поведет покажет время.
UPD: Проверил с насосом. Не забоялась.
Возможная помеха при включении/выключении перезагрузку не вызвала. А там ампер 7 на старте должно быть. Это добавляет позитива.