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

80 lines
3.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 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, 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)