A lightweight DDS-XRCE implementation enabling resource-constrained devices to communicate in DDS networks via a client-agent architecture.
eProsima Micro XRCE-DDS is an implementation of the DDS-XRCE protocol that enables extremely resource-constrained devices, such as microcontrollers, to communicate within DDS networks. It solves the problem of integrating lightweight embedded systems into real-time, data-centric DDS ecosystems by using a client-agent architecture. The client runs on the constrained device, while the agent acts as a broker to the broader DDS world.
Embedded systems engineers and IoT developers working with microcontrollers or other resource-constrained devices that need to participate in DDS-based communication networks. It is also relevant for robotics, automotive, and industrial automation projects using DDS.
Developers choose Micro XRCE-DDS for its strict adherence to OMG standards, lightweight footprint optimized for constrained environments, and support for both publish/subscribe and RPC patterns. Its flexibility in transport options and compile-time configurability makes it adaptable to diverse embedded scenarios.
An XRCE DDS implementation. Looking for commercial support? Contact info@eprosima.com
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 the official DDS-XRCE standard, ensuring seamless interoperability with existing DDS networks and compliance with OMG specifications.
Allows compile-time optimization via CMake flags to minimize library size, making it adaptable to various microcontroller constraints.
Includes built-in UDP, TCP, and Serial transports, plus the ability to create custom transports for flexible deployment in diverse environments.
Supports request/reply communication patterns as per the DDS-RPC standard, extending capabilities beyond basic publish/subscribe for embedded devices.
The client-agent architecture introduces a central point of failure and additional latency, which can hinder real-time performance in time-critical applications.
Requires compiling and deploying both client and agent components, along with understanding DDS concepts, increasing the initial learning and development overhead.
Tied to the DDS ecosystem, which may be overkill for projects not requiring its full feature set, limiting flexibility compared to lighter-weight IoT protocols.