# 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. ```bash 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 | Längsneigung, Float32 little-endian, Grad | | Roll | `…3425` | lesen | Querneigung, Float32 little-endian, Grad | | Kalibrieren | `…3427` | schreiben | ein Byte: `0` setzt zurück, alles andere kalibriert | Der Client fragt Pitch und Roll im Takt ab; Camper Monitor tut das zweimal je Sekunde. 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 Bewusst wenig – siehe unten. * **Kalibrierung funktioniert jetzt überhaupt.** Die Charakteristik `…3427` war 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. * **Der ESP-NOW-Rest ist entfernt.** Er schickte bei jedem einzelnen Messwert ein `"hallo"` an eine fest eingetragene MAC-Adresse. ## Was bewusst nicht geändert wurde Eine weitergehende Fassung hatte `notify` auf Pitch und Roll, setzte die Werte aktiv bei jeder Messung und stellte die Kalibrier-Offsets zum Auslesen bereit. Sie liess sich mit `esphome config` prüfen und fehlerfrei übersetzen – auf dem Gerät blieb sie danach jedoch stumm, ohne jede Ausgabe über die serielle Schnittstelle. Woran genau es lag, ist offen. Verdächtig sind das Setzen der Werte aus dem `on_boot`-Ablauf heraus, bevor der BLE-Server bereit ist, sowie zwei Benachrichtigungen zehnmal je Sekunde. Weil sich das nur am Gerät klären lässt, bleibt es beim bewährten Aufbau: Pitch und Roll sind reine Lesewerte mit hinterlegtem Ausdruck, der Client fragt ab. Die verworfene Fassung ist in der Projektgeschichte unter *Neigungsmesser VanAlign einbinden* nachlesbar, falls jemand daran weiterarbeiten will. 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-Pro` unter `WebAPP/`. ## 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)