ESP32-OTA und Akkustand

ESP32-Firmware per OTA im LAN aktuell halten, während der Push-Ingest Akku- und RSSI-Werte an die HTTP-API von ProbeHarbor sendet.

Draufsicht auf eine blaue Arduino-Uno-Mikrocontrollerplatine vor weißem Hintergrund
Arduino-kompatible Boards führen den Sketch aus, der die Fühler abfragt und JSON veröffentlicht. Foto: Wikimedia Commons contributor. CC0

Für ProbeHarbor zählen die Messwerte über HTTPS, nicht wie du den Mikrocontroller aktualisierst. Lass OTA in deinem lokalen Netz und den Ingest auf /api/ingest/<key> zeigen. Lade einen vorausgefüllten Sketch unter Devices herunter, nachdem du ein Push-Gerät angelegt hast.

Erstes Flashen oder OTA

  • Erstes Flashen per USB: Nutze die Checkliste im Devices-Hinweis (ESP32-Board-Paket, Bibliotheken, Serial 115200). Unter Flash-Optionen findest du Arduino IDE, PlatformIO, MicroPython und das Web-esptool von Espressif.
  • Später OTA im lokalen Netz: Sobald das WLAN läuft, kannst du mit ArduinoOTA (oder HTTPS-OTA von ESP-IDF) neue Firmware aufspielen, ohne mit einem Kabel zum Fühler klettern zu müssen.

ArduinoOTA (lokales Netz)

Wenn WiFi.begin erfolgreich war, starte OTA und rufe handle() in loop auf. In produktiv genutzten Werkstätten solltest du ein Passwort setzen. Danach zeigt der „Netzwerkport“ in PlatformIO / Arduino IDE das Board an.

#include <ArduinoOTA.h>

void setup() {
  // … WiFi connected …
  ArduinoOTA.setHostname("garage-probe");
  ArduinoOTA.setPassword("change-me");
  ArduinoOTA.begin();
}

void loop() {
  ArduinoOTA.handle();
  // … your ingest POST on an interval …
}

OTA und Ingest sind unabhängig voneinander: Ein fehlgeschlagener Cloud-POST blockiert OTA nicht, und ein OTA-Update ändert deinen ProbeHarbor-Geräteschlüssel nicht.

Ingest-Payload mit Akku und RSSI

Optionale Felder auf oberster Ebene halten den Gerätezustand in Devices und die Warnungen bei schwachem Akku oder Signal korrekt:

{
  "temp1": 42.5,
  "door1": false,
  "battery": 87,
  "rssi": -62
}

Die DS18B20-Beispiele senden rssi bereits mit. Ergänze battery oder battery_pct, wenn du einen Spannungsteiler oder eine Akku-Füllstandsanzeige hast. Zustandswarnungen aktivierst du unter Dashboard → Alerts.

WLAN ohne Neukompilieren

Fest eingetragene WIFI_SSID / WIFI_PASS reichen für einen festen Garagen-AP. Wechselt das Netz häufig, nutze beim ersten Start das Captive Portal des WiFiManager-Sketches; die Ingest-URL kommt weiterhin aus dem Devices-Download oder einem #define.

Verwandte Themen

Häufige Fragen

Können ESP32-Geräte ihre Firmware aktualisieren, während sie an ProbeHarbor senden?
Ja: Führe OTA-Updates der Firmware in deinem LAN aus und lass den Push-Ingest weiter Messwerte an die Cloud-API senden. Akku- und RSSI-Felder sind in der Payload optional. Für das erste Flashen per USB lädst du unter Dashboard → Devices einen vorausgefüllten Sketch herunter.

Muss ich neu kompilieren, wenn sich mein WLAN-Passwort ändert?
Nicht, wenn du das WiFiManager-Beispiel (Captive Portal) nutzt. Ansonsten passt du WIFI_SSID / WIFI_PASS an und flashst erneut. Die Ingest-URL kommt weiterhin aus Devices.