Skip to content

Project setup - Linux distros

Installation steps for Linux distros.

Tested on Ubuntu and Fedora distros

Install Docker Engine

Install the Docker Engine.

The procedures for Ubuntu and Fedora are shown below (copied from the Docker documentation page).

Set up Docker's apt repository

# Add Docker's official GPG key:
sudo apt-get update
sudo apt-get install ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc

# Add the repository to Apt sources:
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu \
$(. /etc/os-release && echo "${UBUNTU_CODENAME:-$VERSION_CODENAME}") stable" | \
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update

Install the Docker packages.

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Install the dnf-plugins-core package (which provides the commands to manage your DNF repositories) and set up the repository.

sudo dnf -y install dnf-plugins-core
sudo dnf-3 config-manager --add-repo https://download.docker.com/linux/fedora/docker-ce.repo

Install the Docker packages.

sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

Info

If prompted to accept the GPG key, verify that the fingerprint matches 060A 61C5 1B55 8A7F 742B 77AA C52F EB6B 621E 9F35, and if so, accept it.

This fingerprint might update! Check it out here.

Linux postinstall instructions

Docker provides some instructions regarding the docker user group.

Create the docker group:

sudo groupadd docker

Add your user to the docker group:

sudo usermod -aG docker $USER

Log out and log back in so that your group membership is re-evaluated.

You can also run the following command to activate the changes to groups:

newgrp docker

Check if you can use docker images for example, without sudo in a new terminal. If not, restart you computer or try again with newgrp docker.

Add user to dialout group

To be able to register data from USB devices, the user needs to be added to the dialout group:

sudo usermod -aG dialout $USER

Log out and log back in so that your group membership is re-evaluated.

Setup the software

Pull the project docker image

Open a terminal and pull the project docker image:

docker pull aaronrpb/force-platform-app

Run a new docker container

Connect your sensors, check if the /dev/bus/usb (and /dev/ttyUSB* in case you have Taobotics IMUs) paths exists and create a new container where the software will be running, with:

docker run -d --name example_app \
  --device /dev/bus/usb \
  --device /dev/ttyUSB0 \
  --device /dev/ttyUSB1 \
  -p 8501:8501 \
  aaronrpb/force-platform-app

Note

  • You can change the name example_app to any name you prefer.
  • If you have no sensors of USB devices connected, the /dev/bus/usb and/or /dev/ttyUSB* could be empty, and the docker daemon will throw a no such file or directory error.
  • You can ignore some --device flags if you are not using Taobotics IMUs (/dev/ttyUSB*).

Check if the container is running, going to http://localhost:8501/ and try to connect your sensors.

You will need to upload a custom configuration file with proper usb paths.

To stop or escape the software, use:

docker stop example_app

Software usage instructions

Follow these steps to ensure proper sensor connectivity and optimal software functionality.

For more information about the software app features, check out the documentation within the software, at the homepage.

Start

  1. Connect sensors to PC.
  2. Start the docker container using the docker start <container_name> command in a terminal.
  3. Open the software app url (http://localhost:8501/) or other configured port/url.
  4. Connect your sensors to the app.
  5. Record data, check graphs and download it in CSV files.

Stop

  1. Make sure you are not recording data from connected sensors.
  2. Stop the docker container using the docker stop <container_name> command in a terminal.
  3. Disconnect the sensors.

Update

You can check new updates from the DockerHub page or the GitHub repository.

If you where using a custom configuration file, you will need to upload it again.

Download your custom configuration file before removing the docker container.

The new updated container will always run with default settings and has no custom configuration file in it.

If you want to update the software to newer versions, follow these steps:

  1. Pull the latest docker image: docker pull aaronrpb/force-platform-app
  2. Remove the previous docker container: docker container rm <container_name>
  3. Create a new container using the docker run command again:
docker run -d --name example_app \
  --device /dev/bus/usb \
  --device /dev/ttyUSB0 \
  --device /dev/ttyUSB1 \
  -p 8501:8501 \
  aaronrpb/force-platform-app