Die ESPHome-Firmware lag bisher im eigenständigen Projekt VanAllign-Pro. Da die App der einzige Client ist, gehören Firmware und App zusammen: ändert sich die Bluetooth-Schnittstelle, muss beides gemeinsam angefasst werden. Übernommen sind die Firmware selbst und die beiden Experimente zu WLAN/BLE-Umschaltung und ESP-NOW, letztere nach experimente/ einsortiert und als nicht betriebsnotwendig gekennzeichnet. Die WebBLE-Oberfläche bleibt im Ursprungsprojekt - sie ist durch die App abgelöst und bringt 2 MB Bilder mit, die in einem iOS-Projekt nichts zu suchen haben. Die .gitignore schliesst jetzt die ESPHome-Build-Verzeichnisse aus; im Ursprungsprojekt fehlte das, dort liegen inzwischen 233 MB Bauartefakte neben den Quellen. Am neuen Ort mit esphome config gegengeprüft. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
3.1 KiB
VanAlign Pro – Neigungsmessung für den Camper
ESP32-S3 mit MPU6050, der Längs- und Querneigung des Fahrzeugs misst und über Bluetooth bereitstellt. Zum Ausrichten beim Parken: die Anzeige zeigt, welche Seite höher steht und wie weit es noch ist.
Teile dieses Projekts wurden mit KI-Unterstützung erstellt.
Firmware
esp32_ble.yaml – die einzige Datei, die für den Betrieb gebraucht wird.
cd firmware/vanalign
esphome run esp32_ble.yaml
Bluetooth-Schnittstelle
Dienst 2a24b789-7aab-4535-af3e-ee76a35cc42d (wird beworben, das Gerät ist
darüber auffindbar).
| Charakteristik | UUID (Ende) | Zugriff | Inhalt |
|---|---|---|---|
| Pitch | …3424 |
lesen, benachrichtigen | Längsneigung, Float32 little-endian, Grad |
| Roll | …3425 |
lesen, benachrichtigen | Querneigung, Float32 little-endian, Grad |
| Offsets | …3426 |
lesen, benachrichtigen | zwei Float32: die gespeicherten Kalibrierwerte |
| Kalibrieren | …3427 |
schreiben | ein Byte: 0 setzt zurück, alles andere kalibriert |
Positiver Pitch heißt: das Heck steht höher. Positiver Roll: die rechte Seite steht höher.
Kalibrierung
Fahrzeug eben stellen, dann ein beliebiges Byte ungleich 0 auf …3427
schreiben – oder in Camper Monitor auf Auf aktuelle Lage kalibrieren tippen.
Die Offsets werden dauerhaft gespeichert und überstehen einen Neustart.
Was sich gegenüber 1.0 geändert hat
- Kalibrierung funktioniert jetzt überhaupt. Die Charakteristik
…3427war zwar beschreibbar, hatte aber keine Aktion hinterlegt und tat nichts. Der Kalibrier-Knopf war nur über den Webserver erreichbar, der auskommentiert ist – kalibrieren war damit auf keinem Weg möglich. - Die Werte werden gesendet, statt abgefragt. Pitch und Roll haben jetzt
notify. Vorher musste der Client im Sekundentakt lesen, was für eine Wasserwaage zu träge ist. - Die gespeicherten Offsets sind auslesbar, sodass ein Client zeigen kann, ob überhaupt schon kalibriert wurde.
- Der ESP-NOW-Rest ist entfernt. Er schickte bei jedem einzelnen Messwert
ein
"hallo"an eine fest eingetragene MAC-Adresse.
Die UUIDs sind unverändert, die vorhandene WebApp läuft weiter.
Clients
- Camper Monitor (iOS) – die App in diesem Projekt. Geräteart Nivellierung: grafische Libelle, Kalibrierung aus der App, zusammen mit den übrigen Geräten im Fahrzeug.
- Die ursprüngliche WebBLE-Oberfläche liegt weiterhin im Projekt
VanAllign-ProunterWebAPP/.
Weitere Dateien
Unter experimente/ liegen esp32_switch.yaml (Umschalten zwischen WLAN und
BLE) und esp32_EspNow-rec.yaml (ESP-NOW-Empfänger). Beide gehören nicht zum
Neigungsmesser und werden für den Betrieb nicht gebraucht – sie sind nur
aufgehoben, weil sie Ideen aus der Entstehungszeit festhalten.
Herkunft
Übernommen aus dem eigenständigen Projekt VanAllign-Pro. Dort liegen
weiterhin die WebBLE-Oberfläche (WebAPP/, durch die iOS-App abgelöst) und
unter bin/ die gebauten Binärdateien der Version 1.0.
Voraussetzungen
- ESP32-S3, MPU6050 an I²C (SDA GPIO8, SCL GPIO9)
- ESPHome (geprüft mit 2026.6.5)