使用的部署环境:

操作系统:Ubuntu 18.04

编译器:gcc 7.3

GNU Make 4.1 

 

步骤:

  1. 下载OpenDDS最新版(3.13)并解压缩,在Linux系统需要下载.tar.gz格式的压缩包,下载地址:http://download.objectcomputing.com/OpenDDS/

  2. 下载树莓派交叉编译工具并解压缩,下载地址:https://github.com/raspberrypi/tools

  3. cd至OpenDDS-3.13目录下,输入命令:./configure --target=linux-cross --target-compiler="<PITOOLS>/tools/arm-bcm2708/gcc-linaro-arm-linux-gnueabihf-raspbian-x64/bin/arm-linux-gnueabihf-g++" --ace=download,其中<PITOOLS>/tools替换为树莓派交叉编译工具解压绝对路径,(我的绝对路径 /home/lei/opendds)此时OpenDDS会自动下载配套的ACE+TAO,并解压缩至相应文件夹。(后生成build文件夹,用于树莓派交叉编译)

  4. 分别cd至OpenDDS-3.13/build/host和OpenDDS-3.13/build/target目录下,并输入./setenv.sh命令来配置相应的环境变量(环境变量分别配置在build/host和build/target目录下),如果不能运行该脚本,注意文件夹权限是不是有运行脚本的权限。(host为ubuntu主机,target为树莓派从机)

  5. 重新cd至OpenDDS-3.13目录下,并输入make –j 4来编译OpenDDS(可根据CPU线程数自行修改-j后的参数来加快编译速度)。

  6. 将计算机和树莓派连接到同一路由器上组成局域网(或者直接通过网线组成局域网),打开计算机和树莓派的ssh服务。

  7. 在计算机端cd至OpenDDS-3.13上级目录,并输入tar czf OpenDDS.tar.gz OpenDDS-3.13将其压缩。

  8. 通过ssh服务将压缩包发送至树莓派用户目录下,命令为scp OpenDDS.tar.gz USER@ADDRESS:,其中USER为用户名,ADDRESS为树莓派的IP地址,此步骤需要输入树莓派用户密码确认。

  9. 传输完成后,在树莓派上cd至用户目录下,并输入tar xzf OpenDDS.tar.gz将其解压缩,由于文件较大,需要等待一段时间。

  10. 在树莓派上cd至用户目录,输入ls –al命令查看隐藏文件,通过gedit .bashrc编辑此文件,在文件末尾添加以下语句配置环境变量,其中DDS_ROOT中的$PWD替换为OpenDDS-3.13文件夹绝对路径。(树莓派Linux系统配置环境变量)

export DDS_ROOT="$PWD/build/target"

export ACE_ROOT="$DDS_ROOT/ACE_wrappers"

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:"$ACE_ROOT/lib":"$DDS_ROOT/lib"

export PATH=${PATH}:"$ACE_ROOT/bin":"$DDS_ROOT/bin"

11.部署完成,在$DDS_ROOT/DevGuideExamples/DCPS/Messenger目录下,添加rtps.ini文件,文件内容为:

[common]

DCPSGlobalTransportConfig=$file

DCPSDefaultDiscovery=DEFAULT_RTPS

[transport/the_rtps_transport]

transport_type=rtps_udp

12.开两个命令框,分别cd至$DDS_ROOT/DevGuideExamples/DCPS/Messenger目录下,分别输入./subscriber -DCPSConfigFile rtps.ini和./publisher -DCPSConfigFile rtps.ini启动发布者和订阅者(此时该目录下有publisher和subscriber的可执行文件,无后缀名),若订阅者正常收到发布者消息,则部署成功。

        

配图为树莓派上实现OpenDDS的发布与订阅。

基本步骤如上所示,同时有需要交流的朋友可以加我QQ420516520,一起交流,一起进步!

Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐