b46283d94f52be2ae733c3c4636292be93dc71fb
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 Treiberfreertos/- Task Managementnvs_flash.h- Non-Volatile Storage
Referenzen
- https://codeberg.org/opentrafficmap/its-g5-receiver-firmware
- IEEE 1609.3 (WAVE)
- ETSI EN 302 571 (C-ITS)
Description
Releases
2
CITS Sniffer v4.0.0
Latest
Languages
C
100%