Jedes Modul ist eigenständig betreibbar, über TCP (Port 1234) oder seriell konfigurierbar
und auf handelsüblicher Hardware aufgebaut.
MOD-01 · obd_bridge
BLE-Bridge µC
Verbindet sich per NimBLE mit dem OBD-BT-Dongle, liest PIDs im Prioritätspoller aus, zeigt Werte auf dem OLED an, stellt alles per TCP bereit und sendet Extended-Pakete per LoRa.
- Heltec WiFi LoRa 32 (V3), SX1262
- NimBLE 1.4.x (BLE-Client, 5 Profile)
- WiFi STA → AP-Fallback (192.168.4.1)
- TCP Port 1234 · HTTP Port 80
- LoRa 868 MHz, SF7, BW125, 14 dBm
- 43 PIDs, 6 Gruppen, Capability-Scan
- Hardware-Watchdog 60s
- Demo-Modus: alle PIDs simuliert
- DTC lesen (Mode 03) + loeschen (Mode 04)
- Piezo-Beeper GPIO 48 —
beep on/off/ack
- LoRa-Rückkanal: CMD-Pakete (0x04) vom Receiver empfangen
MOD-02 · obd_lora_receiver
LoRa-Empfänger µC
Empfängt Extended-Pakete per LoRa, dekodiert TLV-Payload, stellt alle Werte auf dem OLED dar und gibt sie per TCP weiter. Verbindet sich als STA zum Bridge-AP falls kein Heimnetz.
- Heltec WiFi LoRa 32 (V3), SX1262
- 5 OLED-Pages (Page 4: Extended-PIDs scrollend)
- Sequenznummer-Tracking, Verlust-Zaehler
- Config-Paket-Empfang (SF/Region/Power)
- pkt-Modus: auto / basic-only / ext-only
- WiFi STA Heimnetz → Bridge-AP-Fallback
- LoRa-Rückkanal:
beep on/off/ack → CMD-Queue → Bridge
- TCP Port 1234 · HTTP Port 80
MOD-03 · obd_gui2.py
Python Dashboard
Tkinter-GUI mit animierten 3D-Rundinstrumenten und Balkenanzeigen. Verbindet sich direkt mit der Bridge (--bridge) oder dem Receiver. Vier wählbare Styles per Tastenkürzel.
- 4 Styles: F1, Sci-Fi, Aviation, Luxury
- 6 Gauges + 3 Bars (konfigurierbar)
- --bridge: RSSI-Balken ausgeblendet
- live on — kein Toggle-Problem bei Multi-Client
- Python 3, nur tkinter + optional pyserial
MOD-04 · obd_simulator
OBD2-Simulator µC
Simuliert ein Fahrzeug-ECU via CAN-Bus. Antwortet auf OBD-II-Anfragen des Dongles — für Tests ohne laufendes Fahrzeug. Web-Interface zum manuellen Setzen aller Werte.
- ESP32 WROOM-32 + MCP2515 (TJA1050)
- ISO 15765-4 CAN, 500 kBit/s
- Mode 01 (19 PIDs), 03 DTC, 04 Clear, 09 VIN
- Simulationsmodus: realistische Fahrdynamik
- Web-Interface: alle Werte live setzbar
- TCP Port 1234 · verbose on/off
- WiFi STA → eigener AP (192.168.4.2)
MOD-05 · Gemeinsame Konfiguration
Shared Headers
Bridge, Receiver und Simulator teilen sich zentrale Konfigurationsdateien — ein einziger Änderungspunkt für WLAN-Zugangsdaten und PID-Definitionen.
- pid_registry.h/.cpp: 43 PIDs, Enum, Scaling
- wifi_config.h: SSID/Pass, AP-Credentials
- http_server.h: HTTP-Server fuer Bridge+Receiver
- DEVICE_BRIDGE / DEVICE_RECEIVER / DEVICE_SIMULATOR
- Symlinks: Receiver+Simulator zeigen auf Bridge-Verz.
- Partition Scheme: Huge APP (3 MB Flash)