4G Cam-Caddy (Waveshare) – Mobiler MeshCore OTA-Updater

PROJEKT · 4G CAM-CADDY

Ein Board, drei Jobs: Kamera, Caddy, Kurier

Auf Basis des Waveshare ESP32-S3-A7670E entstand ein autarkes Gerät, das als Drohnen-Payload Firmware zu MeshCore-Nodes bringt, unterwegs Fotos und GPS-Tracks liefert — und seinen Status auf Deutsch ansagt, weil es kein Display hat.

// HARDWARE

Was steckt drin

ProzessorESP32-S3, 8 MB PSRAM, 16 MB Flash
MobilfunkA7670E · LTE Cat-1 (inkl. GNSS)
KameraOV5640, 5 Megapixel
SpeichermicroSD als Firmware-Bibliothek
Strom18650-Akku + Solar-Ladeeingang, Fuel-Gauge
AudioLautsprecher am Modem-Codec (Sprachansagen)
FunkBLE + WiFi für OTA, MQTT über TLS
FeedbackTelegram-Bot: /ota, /sync, /foto, /status
// FEATURES

Gebaut für den Feldeinsatz

🔊

Sprach-UI statt Display

Zwölf deutsche Ansagen — von „Drohnen-LTE-Einheit bereit“ bis „Update beendet“ — werden direkt über den Modem-Audiopfad abgespielt. Der Operator hört den Systemzustand, ohne hinzusehen.

📸

Snapshot & Visit-Records

Auf Kommando entsteht ein hochaufgelöstes Foto auf SD plus ein Thumbnail, das über die schmale Mobilfunkverbindung gestückelt übertragen wird — zusammen mit GPS-Position, Signalstärke und Akkustand als „Site Passport“ des besuchten Nodes.

🛰️

Live-Track

Während des Fluges sendet der Caddy alle paar Sekunden seine GNSS-Position als kompaktes Beacon — sparsam genug für ein IoT-Datenbudget von wenigen MB pro Monat.

📶

WLAN-Setup per Captive Portal

Zweimal kurz stromlos machen — schon öffnet das Gerät einen eigenen Hotspot mit Einrichtungsseite. Kunden tragen ihr WLAN lokal am Handy ein; das Passwort verlässt das Gerät nie.

📦

Firmware-Store-Sync

Ein Kommando gleicht die komplette SD-Bibliothek gegen den versionierten HTTPS-Store ab — nur fehlende oder geänderte Dateien werden geladen, alles CRC-geprüft.

📨

Ergebnis-Queue

Endet ein Update, während das Gerät offline ist (Funkloch, Flugphase), wird die Meldung gepuffert und beim nächsten Datenfenster garantiert zugestellt — kein Ergebnis geht verloren.

// LESSONS LEARNED

Erkenntnisse aus dem Maschinenraum

Die spannendsten Probleme saßen nicht im eigenen Code, sondern zwischen Modem, SIM-Karte und Mobilfunknetz.

📶

Falscher APN = wochenlanges „Funkloch“

Eine IoT-SIM der neuen Plattform-Generation braucht einen anderen APN als dokumentiert. Das Symptom — Verbindung registriert, aber keinerlei Daten — sah wochenlang wie ein Hardware-Defekt aus und war am Ende eine Konfigurationszeile.

📡

LTE ist nicht gleich LTE

Cat-1 und LTE-M sind unterschiedliche Funkklassen: Eine SIM, die im LTE-M-Board einwandfrei läuft, beweist nichts für ein Cat-1-Modem. Diese Lektion kostete einen kompletten Debugging-Tag.

🔢

Modem-AT ist nicht binärfest

Der AT-Datenmodus des Modems verschluckt rohe Binärdaten — Foto-Chunks gehen deshalb Base64-kodiert über die Leitung. 33 % Overhead, dafür 100 % Zuverlässigkeit.

🌐

DNS hängt vom Carrier ab

Derselbe Hostname, den Carrier A sauber auflöst, scheitert bei Carrier B im Modem-Stack. Robuste IoT-Firmware darf sich auf nichts verlassen, was sie nicht selbst verifiziert hat.

Das große Ganze

Der Cam-Caddy ist Teil des Walter-AirControl-Systems für drohnengestützte MeshCore-Updates.

Zum OTA-Updater-Projekt    Alle Projekte