Its-g5: Difference between revisions

From RevSpace

No edit summary
 
(10 intermediate revisions by the same user not shown)
Line 1: Line 1:
{{Project
{{Project
   |Name=ITS-G5
   |Name=ITS-G5
   |Picture=yunopicture.png
   |Picture=its-g5.png
   |Omschrijving=Investigating ITS-G5 signals
   |Omschrijving=Investigating ITS-G5 signals
   |Status=In progress
   |Status=In progress
Line 8: Line 8:


== Introduction ==
== Introduction ==
This page is about investigating reception and processing of so-called C-ITS or ITS-G5 signals, see also https://en.wikipedia.org/wiki/Vehicle-to-everything
This page is about investigating reception and processing of so-called C-ITS or ITS-G5 signals (802.11p) as used in the Netherlands, see also https://en.wikipedia.org/wiki/Vehicle-to-everything
These signals are exchanged between passenger cars, emergency vehicles, traffic lights and other traffic-related equipment.
These signals are exchanged between passenger cars, emergency vehicles, traffic lights and other traffic-related equipment.


Line 17: Line 17:
* Crowd-sourced live map of messages received: https://opentrafficmap.org/
* Crowd-sourced live map of messages received: https://opentrafficmap.org/
* Simplest source code for Arduino-based sniffer: https://git.devlol.org/jstsmthrgk/simple-its-g5-receiver-firmware
* Simplest source code for Arduino-based sniffer: https://git.devlol.org/jstsmthrgk/simple-its-g5-receiver-firmware
* How to contribute to opentrafficmap: https://wiki.opentrafficmap.org/?utm_source=chatgpt.com#zur_karte_beitragen


In the Netherlands, SPAT/MAPem messages are not transferred over wifi-p, but over UDAP.
In the Netherlands, SPAT/MAPem messages from traffic lights are not transferred over wifi-p, but over UDAP.
You need credentials to access that data, it is not clear if it is feasible to hobbyist to access it.
You need credentials to access that data, it is not clear if it is feasible to hobbyist to access it.
Interesting project: https://github.com/idkmanLool9/Verkeerslicht
Interesting project: https://github.com/idkmanLool9/Verkeerslicht
Line 24: Line 25:
== Hardware ==
== Hardware ==
I got this board, and it worked for me:
I got this board, and it worked for me:
https://nl.aliexpress.com/item/1005012416463528.html
* aliexpress product page https://nl.aliexpress.com/item/1005012416463528.html
* espressif schematic https://dl.espressif.com/dl/schematics/SCH_ESP32-C5-DevkitC-1_V1.1_20240621.pdf
* espressif devkit-c page: https://docs.espressif.com/projects/esp-dev-kits/en/latest/esp32c5/esp32-c5-devkitc-1/user_guide.html


It has an onboard antenna. There are also other boards with an antenna connection, which allows using an external antenna. This may be better, I don't know yet.
It has an onboard antenna. There are also other boards with an antenna connection, which allows using an external antenna. This may be better, I don't know yet.
Connect your USB-C cable to the "UART" port. It is connected to an actual USB-UART converter chip and always shows up, regardless of whether the ESP32 is in reset or not.


== Software ==
== Software ==
TODO
See https://github.com/bertrik/its-g5-receiver
 
=== Compiling the firmware ===
Needs python.
 
Preparation:
* If you didn't have a python venv, create it:
  python -m venv .venv
* Activate the venv:
  bash source .venv/bin/activate
* Install platformio into the venv:
  python pip install platformio
 
Compile and upload:
  pio run -t upload
 
Watch packets come in:
  pio device monitor
Packets are logged as a 'hexdump'.
 
The can be converted for wireshark, for example:
  text2pcap -l 105 message.txt message.pcap
Then viewed in wireshark:
  wireshark message.pcap
 
=== opentraffic map interface ===
See https://github.com/MPW1412/openwrt-otm-bridge#wire-format-mimics-the-esp32-c5-firmware for the wire format.

Latest revision as of 10:34, 21 June 2026

Project ITS-G5
Investigating ITS-G5 signals
Status In progress
Contact bertrik
Last Update 2026-06-21

Introduction

This page is about investigating reception and processing of so-called C-ITS or ITS-G5 signals (802.11p) as used in the Netherlands, see also https://en.wikipedia.org/wiki/Vehicle-to-everything These signals are exchanged between passenger cars, emergency vehicles, traffic lights and other traffic-related equipment.

An ESP32-C5 development board is capable of receiving WiFi in the 5 GHz band and can receive/sniff these kinds of packets from live traffic.

Stuff to investigate:

In the Netherlands, SPAT/MAPem messages from traffic lights are not transferred over wifi-p, but over UDAP. You need credentials to access that data, it is not clear if it is feasible to hobbyist to access it. Interesting project: https://github.com/idkmanLool9/Verkeerslicht

Hardware

I got this board, and it worked for me:

It has an onboard antenna. There are also other boards with an antenna connection, which allows using an external antenna. This may be better, I don't know yet.

Connect your USB-C cable to the "UART" port. It is connected to an actual USB-UART converter chip and always shows up, regardless of whether the ESP32 is in reset or not.

Software

See https://github.com/bertrik/its-g5-receiver

Compiling the firmware

Needs python.

Preparation:

  • If you didn't have a python venv, create it:
 python -m venv .venv
  • Activate the venv:
 bash source .venv/bin/activate
  • Install platformio into the venv:
 python pip install platformio

Compile and upload:

 pio run -t upload

Watch packets come in:

 pio device monitor

Packets are logged as a 'hexdump'.

The can be converted for wireshark, for example:

 text2pcap -l 105 message.txt message.pcap

Then viewed in wireshark:

 wireshark message.pcap

opentraffic map interface

See https://github.com/MPW1412/openwrt-otm-bridge#wire-format-mimics-the-esp32-c5-firmware for the wire format.