# C-ITS Sniffer für ESP32-C5 Ein Sniffer zur Erfassung von C-ITS (Cooperative Intelligent Transportation Systems) Daten von Fahrzeugen und Verkehrssignalen. ## Ziel - Empfängt C-ITS Nachrichten (IEEE 1609 WAVE/DSRC) auf 5,9 GHz - Parst die empfangenen DATENSATZ - Speichert die Daten in CSV-Dateien - Neue CSV-Datei alle 10 Minuten ## Hardware - ESP32-C5 (LilyGO T-Dongle-C5) - 5 GHz WLAN-Modul für 802.11p Kommunikation ## Block 1: Hardware Initialisierung (ERLEDIGT) - WiFi Promiscuous Mode auf 802.11p konfiguriert - 802.11p PHY Initialisierung implementiert - Kanalwechsel zu 5900 MHz (C-ITS Primary Channel) - NVS Flash Initialisierung ## Block 2: C-ITS Parser (ERLEDIGT) - 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 ## Referenzen - https://codeberg.org/opentrafficmap/its-g5-receiver-firmware - IEEE 1609.3 (WAVE) - ETSI EN 302 571 (C-ITS)