Photo Gallery
Last updated
Last updated
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 AuterionOS
gallery-service
: Written in Python and uses 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 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 () 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:
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:
You can monitor the application execution by ssh into the device (ssh root@10.41.1.1) and run the following command:
You can stop and remove the application with the following commands: