Embedded data logger przemysłowy (ESP32 + Modbus RTU)
Brama Modbus RTU→MQTT na ESP32 z FreeRTOS — dane z czujników przemysłowych, zapis na SD, dashboard Grafana. 99.7% uptime przez 12 miesięcy, zero utraty danych przy przerwach WiFi.
Wyzwanie
Zakład produkcyjny miał czujniki temperatury, wilgotności i ciśnienia z interfejsem Modbus RTU — starszy protokół, zero łączności sieciowej. Dane były odczytywane raz dziennie przez technika z laptopem. Klient chciał monitoring w czasie rzeczywistym i alerty gdy parametry wychodzą poza normy.
Rozwiązanie
ESP32 z modułem RS485 jako brama Modbus RTU → MQTT. FreeRTOS z dwoma taskami: odczyt Modbus co 10s i publikacja MQTT co 60s. Przy braku WiFi dane zapisywane na kartę SD z timestampem; po powrocie łączności automatyczna synchronizacja z brokerem (Mosquitto na VPS).
Grafana + InfluxDB na VPS jako warstwa wizualizacji i alertów. Alerty konfigurowane per parametr per strefa (hala A, hala B, chłodnia) z eskalacją: email → SMS po 30 minutach bez odpowiedzi.
Firmware aktualizowany przez OTA (ESP32 Arduino OTA) — nie trzeba dotykać urządzenia fizycznie przy aktualizacji.
Efekty
- 99.7% uptime loggera przez 12 miesięcy produkcyjnego działania
- Zero utraty danych przy przerwach WiFi (bufor SD + auto-sync)
- Klient wykrył awarię sprężarki chłodni 4 godziny przed jej fizyczną awarią na podstawie anomalii temperatury