Hardware-Module

Die Komponenten des Systems

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)