TODO This is untested and possibly incomplete.
TODO: RTI Connext 6 Update
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/
. This should be done after the ARM libraries have been installed. The required files can be found in opt/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/
(copy the arm folder).
It should look like this afterward:
pi@raspberrypi-06:~ $ find /usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscppd.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscd.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddstransporttcpzd.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscpp2z.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtidlcppz.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtimonitoringd.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddstransporttcp.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscpp2.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscpp2d.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtimonitoringz.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddstransporttcpd.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscz.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscppzd.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddsc.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddstransporttcpz.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtidlcpp.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscpp.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscore.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtimonitoringzd.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscorez.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscppz.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscored.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtidlcppd.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddsjava.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscpp2zd.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddsczd.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddscorezd.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/libnddsjavad.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtimonitoring.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtidlcz.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtidlcppzd.a
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtidlc.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtidlcd.so
/usr/local/lib/rti_connext_dds-6.0.0/armv6vfphLinux3.xgcc4.7.2/librtidlczd.a
Make the libraries available. Insert /usr/local/lib/rti_connext_dds-6.0.0/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.