Photo Gallery
The gallery is an application composed of 2 containers:
camera-control:
Written in C++ and uses mavsdk to communicate with Auterion Payload Manager running in AuterionOSgallery-service
: Written in Python and uses Flask to exposes a simple API and a WebUI with a gallery of all the pictures taken from Auterion Payload Manager
This service is in charge of sending request to Auterion Payload Manager over mavlink, first we set the camera in Photo Mode and then we continuously send the
take_photo
request every 10 seconds.This service is based on
auterion/ubuntu-mavsdk:0.35.1
. This base image is itself based on Ubuntu Focal ARM64V8 (20.04) and contains essential build dependencies to build C++ programs. It also contains mavsdk v0.35.1.
Our container is built using the multi-stage feature from Docker. In the first stage (build-stage
) we copy our source code and build our application. In the second stage (release-stage
), we copy the mavsdk binaries from auterion/ubuntu-mavsdk:0.35.1
and our application binary from the first stage, we also need to install all the dependencies needed to run our application. Finally, using the command ENTRYPOINT
, we define the startup command that Docker will use to start our container.This service is in charge of exposing a Web UI (http://10.41.1.1:5000) with a photo gallery. It also exposes an API using Flask framework.
This service is based on
arm64v8/python:buster
. We install Flask on top it and we copy our source code in it. Finally, using the command ENTRYPOINT
, we define the startup command that Docker will use to start our container.You can build the application by running the following command:
make build
It will create an app artifact in
output/gallery.auterionos
.After a successful build, you can connect your Skynode with USB-C and run the following command to install the application on your device:
make install
You can monitor the application execution by ssh into the device (ssh [email protected]) and run the following command:
docker logs camera-control
docker logs gallery-service
You can stop and remove the application with the following commands:
cd /data/app/gallery/src
docker-compose stop
docker-compose rm -f
docker rmi gallery-service camera-control
Last modified 1mo ago