# Embedded-dds **Repository Path**: myplease514/embedded-dds ## Basic Information - **Project Name**: Embedded-dds - **Description**: 嵌入式微控制器使用的DDS服务 - **Primary Language**: C++ - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2025-07-10 - **Last Updated**: 2025-09-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # DDS-Mid 中间件使用说明 ## 1. DDS 中间件介绍 **DDS**(Data Distribution Service)是由对象管理组织(OMG)制定的专为实时分布式系统设计的通信中间件标准。 - **核心特性**:基于发布-订阅模型,以数据为中心 - **优势**:提供高效、可靠、灵活的数据分发机制 - **应用领域**:物联网、工业自动化、航空航天、机器人等 **常用 DDS 三方库**: - OpenDDS - FastDDS - Cyclone DDS - Tiny-DDS > 各库在特定领域有独特优势,可根据需求选择探索。 ------ ## 2. DDS-Mid 中间件说明 本中间件参考 **Tiny-DDS** 使用 C++ 实现,专为无 Linux 系统的嵌入式场景设计(支持 RTOS 或裸机系统)。 - **当前功能**:发布者/订阅者模型 - **未来扩展**:服务、动作、参数等模型 ### 文件结构 ``` /- ├── examples/ # 示例工程 ├── include/ # 头文件 └── src/ # 源码目录 ├── api/ # 用户公共接口 ├── config/ # 自定义消息接口(JSON 序列化/反序列化) ├── core/ # DDS 核心实现 ├── serialization/ # 序列化接口 ├── third_party/ # 第三方库 │ ├── json/ # C++ JSON 库 │ └── mutex/ # 互斥锁实现 └── transport/ # 传输层硬件接口实现 ``` ------ ## 3. 使用指南 ### 基础操作流程 1. 导入头文件 `ddsNode.h` 2. 创建 `Node` 实例 3. 创建发布者 → 获取数据写入器实例 → 写入数据 4. 创建订阅者 → 注册回调函数 ### 工程构建 参考 `src/board/zynq` 目录下的 `README` 构建指南。 ------ ## 4. 版本迭代记录 | 版本号 | 日期 | 修改内容 | | :----- | :-------- | :----------------------------------------------------------- | | V1.0.1 | 2025/9/10 | 优化共享内存传输方式中对环形缓存的读写处理,新增CRC16查表法校验方式 | | V1.0.0 | 2025/7/16 | 1. 完成 UDP 广播+本地回环传输调试 ✅ 2. 完成共享内存传输调试 ✅ | | V1.0.0 | 2025/7/10 | 实现 DDS 中间件基础框架 |