A basic implementation of the ETSI ITS G5 stack including: CAM-DENM / ASN.1 / BTP / GeoNetworking. For lower layer (DataLinkLayer/AccessTechnologies) see udp2eth and utoepy. For even lower layers, see Hardware and Drivers. To test/simulate together with vehicle control models, use e.g. ITT. For a C++ ITS-G5, see vanetza.
Sending CAM via Single Hop Broadcast and DENM via GeoBroadcast is supported. Forwarding of GeoBroadcast packets is on the wishlist. There are currently no plans for GeoUnicast or Security (for Security, try FITSec or vanetza).
Basic functionality was tested at an ETSI Plugtest in March 2015 and at Grand Cooperative Driving Challenge in May 2016.
One way to improve the quality is to set up an automated conformance testing using open-source TTCN-3 Eclipse Titan and ETSI ITS library.
This project uses Maven as a build tool.
Most IDEs work with Maven projects directly, e.g. Eclipse supports Maven through M2Eclipse.
Since this is a multi-module setup, Maven flags for multiple projects become useful (--projects
, --also-make
, --also-make-dependents
). See Maven docs for manual, and a Sonatype blog post for a nice tutorial introduction.
Since this project is a library and not a standalone program, you need some main program. There are two examples of such main programs: one is Upper Tester (used during the ETSI Plugtest), and another is the Rendits Vehicle-to-Anything Router. The router replaces Vehicle Adapter that was used during GCDC. For more details see their respective documentation and the documentation of GeoNetworking.
Here is an example of running the Upper Tester (assuming that udp2eth is already started):
mvn clean install
mvn --projects uppertester exec:java -Dexec.mainClass="net.gcdc.uppertester.ItsStation" -Dexec.args="--localPortForUdpLinkLayer 1237 --remoteAddressForUdpLinkLayer 192.168.159.102:1235 --upperTesterUdpPort 1600 --hasEthernetHeader"
If you'd like to cite this GeoNetworking library or ASN.1 UPER encoder in an academic publication, you can use DOI 10.5281/zenodo.55650. If you'd like to cite Vehicle Adapter that uses the library, you can use DOI 10.5281/zenodo.51295.
This implementation was partly developed within i-GAME project that has received funding from the European Union's Seventh Framework Programme for research, technological development and demonstration under grant agreement no 612035.
This code is released under the business-friendly Apache 2.0 license.