Описание первого варианта на PyBoard было здесь - https://dzen.ru/a/ZZarmL_25nM2ZbmT
Большим недостатком контроллера является относительно большое энергопотребление. Это не является проблемой, если он подключен к сети. Но если питать от аккумуляторов, то смысл такого решения сомнителен. В моём случае 4х AA аккумуляторов хватало максимум на двое суток.
Было найдно решение, о котором хочу поведать.
Ядром будет контроллер Seeed Studio XIAO ESP32C3.
Контроллер обладает массой преимуществ. Например:
- Разные режимы сна с крайне низким потреблением (минимум 44 мкА)
- Радио модуль с WiFi и Bluetooth
- И, конечно, размер - 21мм x 17.5мм
Остальные ингридиенты тоже заменены. В качестве драйвера помпы исользован TB6612FNG:
А помпа взята от запасных частей для робота пылесоса с функцией мойки.
Код для обработки написан заново. Он теперь включает две части: для собственно контроллера и для веб сервера. Веб сервер служит для хранения и выдачи параметров работы помпы и периода засыпания. Сделано для того, чтобы можно было удалённо управлять настройками работы контроллера. В планах сделать веб интрефейс, чтобы можно было менять параметры через на веб страницу, а не редактированием файла.
Логика теперь такая: контроллер просыпается, считывает конфигурацию подключения к WiFi и веб серверу, подключается, забирает с сервера настройки работы помпы, работает и засыпает до следующего сеанса.
Энергопотребление снизилось кардинально и, похоже, что на одном заряде может проработать как минимум неделю.
Код для контроллера и веб сервера прилагается: https://gitlab.com/esp32c31/ant_rinser_wifi