欢迎来到皮皮网网首页

【苏宁源码出售】【pb排序源码】【rfid 仓库 源码】rtps源码解析

来源:git项目源码 时间:2024-11-24 21:42:34

1.开源Fast-DDS安装示例及DDS模型架构

rtps源码解析

开源Fast-DDS安装示例及DDS模型架构

       讨论本文的源码主题之前,先更正一个错误,解析在 DDS概述及DCPS模型一文中提到:CP Autosar中,源码暂时不支持DDS。解析此处表述有误,源码CP Autosar R-版本中,解析苏宁源码出售已开始支持DDS。源码

       提示:本文使用Linux(Ubuntu.4)操作系统

       DDS和Autosar一样,解析是源码一套标准,任何组织或者个体,解析均可以去实现它。源码不同组织或者公司实现该标准时,解析会形成不同的源码风格和版本。比如:Fast-DDS就是解析一套开源的DDS标准实现,由eProsima维护。源码之前讨论的MICRO-XRCE-DDS也由eProsima发布。MICRO-XRCE-DDS需要代理(Agent),pb排序源码面向的对象是MCU这种资源紧缺的Device,如果使用域控或者中央大脑对应的平台,在资源和算力足够的情况下,可以使用Fast-DDS,不用代理。

       Fast-DDS安装及注意事

       本文讨论的开源Fast-DDS采用源码安装方式,安装参考链接: fast-dds.docs.eprosima.com...

       (一)3.1. Fast DDS library installation

       本文选择"3.1. Fast DDS library installation"小节的方式安装,按照提示,rfid 仓库 源码逐步安装。

       Q1:command vcs not found

       A1:解决措施,修改PATH环境变量:PATH=$PATH:~/.local/bin

       参考链接: cnblogs.com/tengzijian/...

       (二)3.3. Fast DDS-Gen installation 安装Fast DDS-Gen的主要目的是根据用户自定义idl文件生成对应的源文件。编译Fast DDS-Gen之前,需要先安装Java JDK和Gradle。

       需要将编辑好的*.idl文件放置在~~/Fast-DDS/Fast-DDS-Gen/Scripts文件下,*.idl文件放置位置如下所示:

       在此文件夹下打开终端,并输入如下命令:

       生成的sns 源码 app源文件如下所示:

       HelloWord示例

       (一)启动Publisher

       在示例进程中,使用命令行启动Publisher进程,如下所示:

       (二)启动Subscriber

       在示例进程中,使用命令行启动Subscriber进程,如下所示:

       (三)订阅/发布的通信示意

       Publisher与Subscriber之间的发布、订阅行为如下所示:

       DDS模型架构

       DDS模型架构可以分为四层:Application、DDS、RTPS、Transport。c 源码 access如下所示:

       (一)Application

       如果用户应用程序需要通过DDS协议与对等实体通信,可以直接调用封装的DDS API。发布数据时,可以调用DataWriter对象的Write()接口;接收数据时,可由SubscriberListener触发DataReader注册的on_data_on_readers()接口。

       (二)DDS

       DDS层可以部署多个DDS Domian,相同DDS Domian下的DomainParticipant通过Publish/Subscribe方式交互信息。关于DDS,后续文章会展开细节讨论,不在这过多赘述。

       (三)RTPS

       RTPS(Real-Time Publish-Subscribe),抽象传输层,为什么要抽象传输层呢?答:DDS协议并未有明确使用什么方式传输数据,但是,数据的交互又脱离不开通信方式。所以,这就是RTPS出现的目的。

       (四)Transport

       可使用多种方式传输DDS数据,eg:UDP、TCP、SHM(Shared Memory)。不管UDP还是TCP,使用的总线类型均为Ethernet,使用CAN或者其他总线是否可行呢?答:个人理解,可以。但是,任何方案的落地均脱离不了使用场景,如果使用场景是高速、大数据传输,选用CAN总线可不是一个明智之举。