Описание проекта
Прошивка должна опрашивать датчики по расписанию, применять простую калибровку и пороги и управлять исполнительными механизмами локально, чтобы устройство продолжало работать даже при пропаже сети. Нужно подключение по WiFi, а BLE используется для первичной настройки со смартфона, после чего телеметрия отправляется на наш сервер небольшими JSON-пакетами по MQTT или HTTPS. Для нас критична надёжность: логика переподключения, сторожевой таймер, безопасное поведение при просадке питания и аккуратный конечный автомат вместо одного огромного цикла. Обновление по воздуху обязательно, с откатом на прежний образ, если новая прошивка не загрузилась, потому что физически добраться до каждого устройства мы не сможем.
Больше всего нас беспокоит управление питанием. Устройство большую часть времени проводит в глубоком сне и просыпается либо по таймеру, либо по внешнему прерыванию, поэтому нам важно, чтобы ток потребления во сне был измерен и сведён к минимуму, периферия корректно обесточивалась, а причины пробуждения обрабатывались чисто. Пожалуйста, покажите примеры своих встраиваемых работ, расскажите, какой инструментарий предпочитаете (ESP-IDF или Arduino core) и как тестируете прошивку перед выпуском. Чистый комментированный C или C++ и короткая инструкция по прошивке и настройке блока входят в результат.
Что мы ждём от готовой работы:
— чтение датчиков с калибровкой и локальными порогами;
— безопасное управление механизмами в офлайне;
— связь по WiFi и BLE с надёжным переподключением;
— телеметрия по MQTT или HTTPS в задокументированном формате;
— обновления по воздуху с откатом;
— управление питанием с глубоким сном и измеренным током.