These steps describe using an Ubuntu desktop environment to install Ubuntu
and the Spinnaker Python interface on a Beaglebone Black. Commands to be run
on the desktop are prefaced with (desktop)$
, and commands to be run on the
Beaglebone are prefaced with (beagle)$
-
Flash the latest Beaglebone Ubuntu image (at the time of writing: 18.04) to an SD card by following these instructions
-
Boot the Beaglebone from the SD card (hold down the USER/BOOT button and then plug it in)
-
Ensure a new network interface has appeared on your desktop:
(desktop)$ ip a
-
SSH into the beaglebone:
(desktop)$ ssh ubuntu@192.168.7.2
Username: ubuntu. password: temppwd. If these login credentials don’t work, it’s possible that the Beagleboard booted into its onboard Debian image instead of Ubuntu.
-
Perform basic software updates on the beagleboard:
(beagle)$ sudo apt update && sudo apt upgrade
-
Go to the FLIR File Download website for your camera. The software downloads will require a free FLIR account.
-
On the FLIR website, find the latest Linux Ubuntu ARM Operating System version that has support for 32 bit software packages. At the time of writing, this is 16.04, which is outdated compared to the Beaglebone image. This will require some extra setup later on.
-
Download the ARMHF/ARMV7 packages for the Spinnaker SDK and Spinnaker Python interface, and transfer them to the beagleboard. Eg:
(desktop)$ scp spinnaker-1.*-pkg.tar.gz spinnaker_python-1.*armv7l.tar \ ubuntu@192.168.7.2:~
-
On the beagleboard, untar the spinnaker sdk and enter the untarred directory
(beagle)$ tar -xf spinnaker-1.*-pkg.tar.gz (beagle)$ cd spinnaker-1.*-armhf
-
Read the README file fully, then run the install script. Eg:
(beagle)$ sudo sh install_spinnaker_arm.sh
-
You will probably run into some dependency issues while installing the SDK. If that’s the case, missing packages can be installed manually with
(beagle)$ sudo apt install <name-of-missing-package>
If a required package isn’t found by apt, see section "Adding Packages from Previous Ubuntu Versions".
-
Change back to your home directory, untar the python interface, then untar the python 3.6 interface and change directories into it.
(beagle)$ tar -xf spinnaker_python-1.*armv7l.tar (beagle)$ tar -xf spinnaker_python-1.*cp36*.tar.gz (beagle)$ cd spinnaker_python-1.*-cp36
-
Read the README.txt fully, then install numpy and the python interface:
(beagle)$ python3 -m pip install numpy # this may take several hours (beagle)$ sudo python3 -m pip install spinnaker_python-1.*.whl
-
Ensure the python module can be imported successfully:
(beagle)$ python3 -c 'import PySpin' (beagle)$ echo $? # should print 0
You will probably run into more dependency issues here, specifically the ffmpeg development headers. See step 11 and section "Adding Packages from Previous Ubuntu Versions" for help resolving these issues.
At the time of writing, FLIR stopped providing support for 32 bit Ubuntu ARM after version 16.04. The Ubuntu 16.04 SDK can still be installed on later versions of Ubuntu, but may depend on packages that are no longer included in the default apt repositories. To add 16.04 repositories to later versions of Ubuntu, follow the steps below:
-
Install the apt-add-repository utility
(beagle)$ sudo apt install software-properties-common
-
Use apt-add-repository to make Ubuntu 16.04 packages available for installation
(beagle)$ sudo add-apt-repository "deb http://ports.ubuntu.com/\ xenial main universe multiverse"
The key part here is the "xenial", which is the release name for Ubuntu 16.04. Other release names can be found here
-
Install any needed 16.04 packages with apt, as normal:
(beagle)$ sudo apt install <name-of-missing-package>