You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 11 Next »

TODO This is untested and possibly incomplete.

TODO https://community.rti.com/content/forum-topic/howto-run-rti-connext-dds-raspberry-pi is not related to RTI 6 - new support package needed, probably needs to be created by hand

Also: change connext libraries on Raspberry (how?)

First Time Setup

https://www.raspberrypi.org/downloads/raspbian/

Install Raspbian Lite

Install and configure NTP

Install tmux, sudo apt install tmux

Install the RTI Connext libraries under /usr/local/lib/. It should look like this:

pi@raspberrypi-06:~ $ find /usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscppd.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscd.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddstransporttcpzd.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscpp2z.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtidlcppz.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtimonitoringd.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddstransporttcp.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscpp2.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscpp2d.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtimonitoringz.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddstransporttcpd.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscz.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscppzd.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddsc.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddstransporttcpz.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtidlcpp.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscpp.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscore.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtimonitoringzd.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscorez.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscppz.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscored.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtidlcppd.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddsjava.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscpp2zd.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddsczd.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddscorezd.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/libnddsjavad.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtimonitoring.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtidlcz.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtidlcppzd.a
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtidlc.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtidlcd.so
/usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2/librtidlczd.a

Make the libraries available. Insert /usr/local/lib/rti_connext_dds-5.3.1/armv6vfphLinux3.xgcc4.7.2 into /etc/ld.so.conf. Then run sudo ldconfig.

Copy the file git:software/vehicle_raspberry_firmware/bootloader_raspberry.bash to /root/bootloader_raspberry.bash on the Raspberry.

Enable autostart, using sudo nano /etc/rc.local and insert

tmux new-session -d -s "bootloader_raspberry" "bash /root/bootloader_raspberry.bash"

Edit the /etc/hostname file to give the Raspberry a unique name. The name should correspond to the vehicle ID, for example raspberrypi-06 or raspberrypi-42.

Create a DHCP reservation for the Raspberry on the router. The vehilce ID is derived from the IP. The IP is 192.168.1.1XX where XX are the digits of the vehicle ID.

Cross Compilation and Software Distribution

The vehicle Raspberry software is cross-compiled from the master PC. The build script git:software/vehicle_raspberry_firmware/build.bash creates an archive of the compiled software and other required files and publishes it via Apache. The bootloader_raspberry.bash autostart script on the Raspberry downloads and runs this software.

  • No labels