Files
Camper-Monitor/firmware/vanalign/README.md
T
BiasFandClaude Opus 5 9406a749e5 Firmware des Neigungsmessers ins Projekt übernehmen
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>
2026-08-30 15:12:30 +02:00

3.1 KiB
Raw Blame History

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 …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.
  • 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-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)