A Java implementation of the ETSI ITS G5 GeoNetworking stack for vehicular communication, supporting CAM-DENM, ASN.1 PER, BTP, and GeoNetworking protocols.
GeoNetworking is an open-source Java implementation of the ETSI ITS G5 GeoNetworking stack, providing protocols for vehicle-to-vehicle and vehicle-to-infrastructure communication. It handles geographical addressing, packet forwarding, and transport layer services for intelligent transportation systems. The project enables real-time exchange of safety messages like CAM and DENM over vehicular networks.
Developers and researchers working on intelligent transportation systems, vehicular ad-hoc networks (VANETs), and connected vehicle applications who need a standards-compliant communication stack.
It offers a modular, tested implementation of the ETSI ITS G5 standards in Java, with proven interoperability from ETSI plugtests and real-world events like the Grand Cooperative Driving Challenge. The project integrates with existing hardware and link layer solutions for flexible deployment.
ETSI ITS G5 GeoNetworking stack, in Java: CAM-DENM / ASN.1 PER / BTP / GeoNetworking
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements key ETSI ITS G5 protocols including CAM-DENM and BTP/GeoNetworking, ensuring interoperability with standardized vehicular communication systems.
Tested during ETSI ITS plugtests and the Grand Cooperative Driving Challenge, demonstrating real-world functionality and conformance in competitive environments.
Uses UDP for link layer communication, allowing flexible integration with various hardware via external tools like udp2eth and utoepy, as documented in the setup examples.
Employs ASN.1 Unaligned Packed Encoding Rules (UPER) for compact binary serialization of CAM and DENM messages, optimizing bandwidth usage in V2V networks.
Lacks GeoUnicast and security implementations, with GeoBroadcast forwarding only on the wishlist, requiring integration with external projects like FITSec or vanetza for full functionality.
Requires manual configuration with separate link layer entities, TAP interfaces, and tools like OpenVPN for testing, increasing deployment overhead and potential for errors.
Built for Java 7 with backported features, which may hinder adoption of modern Java ecosystems and pose compatibility issues with newer libraries or frameworks.