DroneEngage Installation

Hardware Requirements

Drone-Engage can be installed on a variety of Raspberry Pi models. The choice of model depends on the desired functionality.

If you want to install Telemetry without Video then you can use RPI-Zero W .

If you want to install Telemetry and Video streaming then you can use RPI-Zero W2 or and for multiple camera support please use RPI-4.

The following steps assume that you know how to install a raspberry-pi and have a raspberry-pi board up and running and accessible using SSH.

Ready Image

For users who prefer not to install binaries directly onto their Raspberry Pi, pre-built images are available. These images, containing the necessary binaries, can be downloaded from Ready Image repository Support for these pre-built images extends to both the Raspberry Pi Zero W2 and Raspberry Pi 4.

Further information regarding image downloads can be found in the Drone Engage RPI-WZero2 Ready Image section.

Installing from Binaries

System installation is straightforward, requiring a functional Raspberry Pi with SSH access. Raspberry Pi OS can be downloaded from the official website. Drone-Engage software packages are available here.

The “Video” package is necessary for camera integration. For 64-bit Bullseye, download this version. Users wishing to build binaries themselves should consult Building DroneEngage Code. Pre-built images are also available; visit Drone-Engage website and select “Download Application” link.

Tip

For Bullseye, enable “Legacy Camera Support” via raspi-config.

Preparing Raspberry

Please use Raspberry Pi OS (bullseye) 64-bit to run compiled binaries of DroneEngage. You can still compile your code on other versions check Building DroneEngage Code.

The following steps assume that you know how to install a raspberry-pi and have a raspberry-pi board up and running and accessible using SSH.

Important

You need to execute this script also to install libcrypto_1.1 install_libcrypto_1.1.sh the installation script will install it for you and may ask you to re-run the installion script again.

Download Binaries

Binaries are available at Binaries Download and are ordered by date. There is a version for each application. i.e. de_comm may have a different version than de_mavlink as each one has its own fixed and updates.

$ ssh pi@raspberrypi.local
$ wget https://cloud.ardupilot.org/downloads/RPI/01__29Aug2022/Drone_Engage_29Aug_2022.zip
$ wget https://cloud.ardupilot.org/downloads/RPI/01__29Aug2022/Drone_Camera_29Aug_2022.zip

Now you can see two scripts:

  • install_droneengage.sh for telemetry.

  • install_droneengage_camera.sh for camera

make sure that these scripts are executable by running

chmod a+x ./install_droneengage.sh
chmod a+x ./install_droneengage_camera.sh

now execute scripts

./install_droneengage.sh
./install_droneengage_camera.sh

after they finish you will a folder called drone_engage

  • /home/pi/drone_engage/de_comm Communicator Module.

  • /home/pi/drone_engage/de_mavlink Mavlink Module that communicates with FCB.

  • /home/pi/drone_engage/de_camera Camera Module that streams video and records video and images.

each folder contains config.module.json that you need to edit.

DE_COMM Configuration File

de_comm config.module.json Configuration File

You mainly need to enter two fields:

“userName” :”team@ardupilot.org”, “accessCode” :”1234”,

use your own account and access code from registration.

DE_CAMERA Configuration File

you mainly need to define cameras. bedefault there is a camera defined on /dev/video0 and given name “AI1”

"one_session_per_camera"    : true,
"camera_list": [
{
  "name": "AI1", "device_num": 0
  "name": "AnotherCAM", "device_num": 1 // you can add additional cameras
} // name should be unique across all cameras.
],

you can also choose to enumerate on video devices that exists in a given range. for example list all video devices from /dev/video0 to /dev/video10 :

"one_session_per_camera"    : true,
"camera_start_index"        :0,
"camera_end_index"          :10,

You can comment the unwanted option by adding // at the beginning if its line.

Other parameters exists but they are not mandatory to change and you can just leave them as a start.

Important

you need to enable legacy camera suppot on camera devices that you are using, and remember to reboot. sudo raspi-config nonint do_legacy 0

The following video describes installation procedures. It may differ from version to another, but the video includes the main steps.