树莓派raspberry pi实现部署OpenDDS
使用的部署环境:
操作系统:Ubuntu 18.04
编译器:gcc 7.3
GNU Make 4.1
步骤:
-
下载OpenDDS最新版(3.13)并解压缩,在Linux系统需要下载.tar.gz格式的压缩包,下载地址:http://download.objectcomputing.com/OpenDDS/。
-
下载树莓派交叉编译工具并解压缩,下载地址:https://github.com/raspberrypi/tools。
-
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文件夹,用于树莓派交叉编译)
-
分别cd至OpenDDS-3.13/build/host和OpenDDS-3.13/build/target目录下,并输入./setenv.sh命令来配置相应的环境变量(环境变量分别配置在build/host和build/target目录下),如果不能运行该脚本,注意文件夹权限是不是有运行脚本的权限。(host为ubuntu主机,target为树莓派从机)
-
重新cd至OpenDDS-3.13目录下,并输入make –j 4来编译OpenDDS(可根据CPU线程数自行修改-j后的参数来加快编译速度)。
-
将计算机和树莓派连接到同一路由器上组成局域网(或者直接通过网线组成局域网),打开计算机和树莓派的ssh服务。
-
在计算机端cd至OpenDDS-3.13上级目录,并输入tar czf OpenDDS.tar.gz OpenDDS-3.13将其压缩。
-
通过ssh服务将压缩包发送至树莓派用户目录下,命令为scp OpenDDS.tar.gz USER@ADDRESS:,其中USER为用户名,ADDRESS为树莓派的IP地址,此步骤需要输入树莓派用户密码确认。
-
传输完成后,在树莓派上cd至用户目录下,并输入tar xzf OpenDDS.tar.gz将其解压缩,由于文件较大,需要等待一段时间。
-
在树莓派上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,一起交流,一起进步!
更多推荐
所有评论(0)