RTI DDS is used for real-time communication between programs and devices. It implements a publish-subscribe pattern and serialization/deserialization for the messages. It is mandatory.
If you use on of the eProsima branches, take a look at eProsima Setup.
Downloads
Download and extract the following files:
wget https://s3.amazonaws.com/RTI/Bundles/6.0.0/Evaluation/rti_connext_dds_secure-6.0.0-eval-x64Linux4gcc7.3.0.tar.gz
wget https://s3.amazonaws.com/RTI/Community/ports/toolchains/raspbian-toolchain-gcc-4.7.2-linux64.tar.gz
wget https://community.rti.com/static/downloads/connext-dds/6.0.0/rti_connext_dds-6.0.0-core-target-armv6vfphLinux3.xgcc4.7.2.rtipkg
tar xvzf raspbian-toolchain-gcc-4.7.2-linux64.tar.gz
tar xvzf rti_connext_dds_secure-6.0.0-eval-x64Linux4gcc7.3.0.tar.gz
A backup of these files can be found in sciebo/CPM/Project/Lab/08_Other/RtiConnextBackup
.
The Raspbian toolchain and the ARMv6 libraries may be skipped, if compilation for the lab vehicle Raspberry controller is not required.
Installation
Run the RTI installer
sudo ./rti_connext_dds-6.0.0-eval-x64Linux4gcc7.3.0.run
and select /opt/rti_connext_dds-6.0.0
as the installation directory.
Copy the Raspberry toolchain to /opt:
sudo cp -R raspbian-toolchain-gcc-4.7.2-linux64 /opt
Get a copy of the RTI license and move it to /opt/rti_connext_dds-6.0.0/rti_license.dat
.
Environment Setup
Register the RTI libraries with the dynamic linker. Edit with sudo nano /etc/ld.so.conf
and insert:
/opt/rti_connext_dds-6.0.0/lib/x64Linux4gcc7.3.0
The run sudo ldconfig
.
Select a unique DDS domain! To avoid interference from other users in the same network, you need to set a DDS domain ID that is different from everyone in the network. The domain ID is assumed to be in the environment variable DDS_DOMAIN
. Currently occupied IDs are:
ID | purpose |
---|---|
21 | main server |
60 - 66 | Lab PCs |
Edit the global profile with the code below while inserting your own unique ID instaed of the "<>", for example using sudo nano /etc/profile
and insert:
export DDS_DOMAIN=<YOUR UNIQUE DOMAIN ID>
export PATH=$PATH:/opt/rti_connext_dds-6.0.0/bin
export PATH=$PATH:/opt/raspbian-toolchain-gcc-4.7.2-linux64/bin
export NDDSHOME=/opt/rti_connext_dds-6.0.0
export RASPBIAN_TOOLCHAIN=/opt/raspbian-toolchain-gcc-4.7.2-linux64
export RTI_LICENSE_FILE=/opt/rti_connext_dds-6.0.0/rti_license.dat
Reboot to apply the changes made to the environment variables.
Install RTI ARM libraries
sudo /opt/rti_connext_dds-6.0.0/bin/rtipkginstall rti_connext_dds-6.0.0-core-target-armv6vfphLinux3.xgcc4.7.2.rtipkg