Block 1-4: Debugging Logging, C-ITS Parser, CSV Writer, Integration
This commit is contained in:
@@ -12,34 +12,70 @@ Ein Sniffer zur Erfassung von C-ITS (Cooperative Intelligent Transportation Syst
|
||||
## Hardware
|
||||
|
||||
- ESP32-C5 (LilyGO T-Dongle-C5)
|
||||
- Background GHz WLAN-Modul für 802.11p Kommunikation
|
||||
- 5 GHz WLAN-Modul für 802.11p Kommunikation
|
||||
|
||||
## Block 1: Hardware Initialisierung (ERLEDIGT)
|
||||
|
||||
Die OpenTrafficMap Firmware wurde bereits analysiert. Sie enthält alle notwendigen Funktionen:
|
||||
- WiFi Promiscuous Mode auf 802.11p konfiguriert
|
||||
- 802.11p PHY Initialisierung implementiert
|
||||
- Kanalwechsel zu 5900 MHz (C-ITS Primary Channel)
|
||||
- NVS Flash Initialisierung
|
||||
|
||||
- **WiFi Promiscuous Mode**: `esp_wifi_set_promiscuous(true)`
|
||||
- **802.11p PHY**: `phy_11p_set(ist, 0)`
|
||||
- **Kanalwechsel**: `phy_change_channel(channel, 1, 0, 0)`
|
||||
- **C-ITS Frequenzen**: 5800-5900 MHz (Kanal 1-13)
|
||||
## Block 2: C-ITS Parser (ERLEDIGT)
|
||||
|
||||
### Verwendete Bibliotheken
|
||||
- WAVE/DSRC Paket Struktur definiert
|
||||
- BSI Header Parsing implementiert
|
||||
- C-ITS Message Type Erkennung (CAM, DENM, SPA, VSL, etc.)
|
||||
- MAC Address Formatierung
|
||||
|
||||
## Block 3: CSV Writer (ERLEDIGT)
|
||||
|
||||
- CSV-Datei Erstellung mit Zeitstempel
|
||||
- 10-Minuten-Rollover Implementierung
|
||||
- SPI Flash Filesystem Mounting
|
||||
- Datei-Struktur: timestamp_sec,timestamp_usec,length,sender_mac,message_type,channel,rssi
|
||||
|
||||
## Block 4: Integration (ERLEDIGT)
|
||||
|
||||
- Integration aller Blöcke in app_main()
|
||||
- Sniffer Callback Implementation
|
||||
- Debugging-Logging aller empfangenen C-ITS-Nachrichten
|
||||
|
||||
## Debugging / Logging
|
||||
|
||||
Die Firmware loggt JEDERE empfangene C-ITS-Nachricht über UART mit folgenden Informationen:
|
||||
|
||||
### [SNIFFER] Log-Einträge
|
||||
```
|
||||
[SNIFFER] 802.11p Paket empfangen: 142 Bytes | RSSI: -45 dBm
|
||||
```
|
||||
|
||||
### [PACKET #N] Log-Einträge
|
||||
```
|
||||
[PACKET #1] C-ITS CAM Nachricht empfangen!
|
||||
MAC: A4:CF:12:34:56:78 | PDU: 136 B | Kanal: 5900 MHz
|
||||
Zeit: 1716025200.123456 | Priorität: 4
|
||||
BSI: MsgID=8 | Count=42 | Section=0 | Part=0
|
||||
```
|
||||
|
||||
### Log-Ausgabe über UART (115200 baud)
|
||||
- ESP_LOGI() für jede empfangene Nachricht
|
||||
- ESP_LOGD() für Debug-Informationen
|
||||
- ESP_LOGE() für Fehlermeldungen
|
||||
- Periodische Statistik alle 60 Sekunden
|
||||
|
||||
### CSV-Ausgabe
|
||||
- Automatische Erstellung alle 10 Minuten
|
||||
- Dateiname: `cits_YYYYMMDD_HHMMSS.csv`
|
||||
- Speicherung auf SPI Flash (`/data/`)
|
||||
|
||||
## Verwendete Bibliotheken
|
||||
- `esp_wifi.h` - WiFi Treiber
|
||||
- `freertos/` - Task Management
|
||||
- `nvs_flash.h` - Non-Volatile Storage
|
||||
|
||||
### Nächste Schritte
|
||||
1. Block 2: C-ITS DATENSATZ parsen (BSI-Header extrahieren)
|
||||
2. Block 3: CSV-Datei Erstellung mit 10-Minuten-Intervall
|
||||
3. Block 4: Firmware auf ESP32-C5 flashen
|
||||
|
||||
## Verwendete Dateien
|
||||
- `its-g5-receiver-firmware/main/` - Basierend auf OpenTrafficMap
|
||||
- `cits-sniffer/block1_hardware_init.c` - Erweiterung für C-ITS spezifisch
|
||||
|
||||
## Referenzen
|
||||
|
||||
- https://codeberg.org/opentrafficmap/its-g5-receiver-firmware
|
||||
- IEEE 1609.3 (WAVE)
|
||||
yb
|
||||
- EN 602 571 (C-ITS)
|
||||
- ETSI EN 302 571 (C-ITS)
|
||||
Reference in New Issue
Block a user