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