A lightweight client library enabling resource-constrained devices to communicate with DDS networks via the DDS-XRCE protocol.
Micro XRCE-DDS Client is a lightweight library that implements the DDS-XRCE protocol, enabling microcontrollers and other resource-constrained devices to communicate within DDS (Data Distribution Service) networks. It solves the problem of integrating low-power embedded systems into real-time, scalable data-centric architectures by acting as a client that connects to a broker agent for DDS operations.
Embedded systems engineers and IoT developers working on microcontroller-based projects that require integration with DDS middleware for real-time data distribution.
Developers choose it for its minimal footprint tailored for XRCE (eXtremely Resource Constrained Environments), compliance with OMG standards, and flexibility with multiple transport protocols, making it a go-to solution for bringing DDS to embedded devices.
Micro XRCE-DDS Client repository. 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.
The library is tunable via CMake flags to optimize size for resource-constrained environments, as highlighted in the README's configurable compilation feature, allowing fine-grained control over memory usage.
Implements OMG DDS-XRCE and DDS-RPC standards, ensuring compatibility with DDS ecosystems and enabling reliable, data-centric communication for embedded devices.
Supports built-in UDP, TCP, Serial, and custom transports, providing versatility for different embedded scenarios, as specified in the README's multiple transport support section.
Enables request/reply communication patterns through DDS-RPC, adding robust DDS features like remote calls, which is detailed in the README's description of DDS-RPC standard integration.
Requires a separate Micro XRCE-DDS Agent to bridge clients to DDS, adding deployment and maintenance overhead, as the README emphasizes the client-server architecture.
Only useful within DDS-based systems, and commercial support from eProsima might lead to vendor lock-in, limiting flexibility compared to more general-purpose protocols.
The client-server model introduces latency compared to direct DDS communication, which might not be ideal for real-time critical applications, despite DDS's real-time capabilities.