.. _de-software-installation:
=====================
Software Installation
=====================
System installation is a straightforward process, beginning with a functional Raspberry Pi board with SSH access. Raspberry Pi OS can be obtained from the `official website `_. Software packages for Drone-Engage are available for download `here `_.
The "Video" package is required for camera integration. For 64-bit Bullseye, download `this version `_. Please check :ref:`de-dev-building-code` if you want to build your own binaries.
On the otherside ready made images are available here :ref:`de-install`.
.. youtube:: cvQgMcnM7NA
Steps
=====
Ensure the Raspberry Pi is running Raspberry Pi OS Lite (Legacy) (https://downloads.raspberrypi.org/raspios_oldstable_lite_armhf/images/raspios_oldstable_lite_armhf-2022-01-28/2022-01-28-raspios-buster-armhf-lite.zip) or that legacy camera support is enabled on Bullseye-64. Camera support is essential if using a camera module. For Bullseye-64, enable legacy camera support using `raspi-config`.
|
.. important::
For Bullseye, enable "Legacy Camera Support" via `raspi-config`.
|
Visit the `Drone-Engage website `_ and select "Download Application" `link `_.
Connect to the Raspberry Pi via SSH:
.. code-block:: bash
ssh pi@raspberry_pi_ip_address
mkdir tmp
cd tmp
wget
unzip
chmod +x ./install_droneengage.sh
Initiate the installation:
.. code-block:: bash
chmod +x ./install_droneengage.sh
./install_droneengage.sh
This script extracts the `drone_engage` directory, containing the `de_comm` (communication with the Drone-Engage server) and `de_mavlink` (communication with the flight controller) applications. It also configures these applications to run automatically on boot.
Configuring Apps
================
The installation script allows editing of essential fields. Manual configuration is also possible via text editor.
Update account details (email and :term:`Access Code`) and optionally set a vehicle name in `./drone_engage/de_comm/config.module.json`:
.. code-block:: bash
nano ./drone_engage/de_comm/config.module.json
Configure the flight controller connection in `./drone_engage/de_mavlink/config.module.json`. Options include UDP (for Linux FCBs like [OBAL](https://ardupilot.org/copter/docs/common-obal-overview.html)) and serial (using TX/RX pins).
Further details on this file can be found in :ref:`de-config-comm`.
.. code-block:: bash
nano ./drone_engage/de_mavlink/config.module.json
Further details on this file can be found in :ref:`de-config-mavlink`.
Ready-Image
===========
A pre-built image for the Raspberry Pi Zero W2, inclusive of all modules including camera support, is available. See :ref:`de-software-installation_download` for details.