.. _de-software-installation_binaries: ======================================================== Installing Drone Engage RPI-WZero2 / RPI-4 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 `_. Users wishing to build binaries themselves should consult :ref:`de-dev-building-code`. The following video describes installation procedures. It may differ from version to another, but the video includes the main steps. .. youtube:: cvQgMcnM7NA | 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 :ref:`de-dev-building-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. .. code-block:: bash $ ssh pi@raspberrypi.local .. code-block:: bash $ wget https://cloud.ardupilot.org/downloads/RPI/Latest/64bit/Drone_Engage_05Mar_2025.zip $ wget https://cloud.ardupilot.org/downloads/RPI/Latest/64bit_camera/Drone_Engage_Camera_25Feb_2025.zip * Please check https://cloud.ardupilot.org/downloads/RPI/Latest/ to download latest version.* 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 .. code-block:: bash chmod a+x ./install_droneengage.sh chmod a+x ./install_droneengage_camera.sh now execute scripts .. code-block:: bash ./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 -------------------------- :ref:`de-config-comm` You mainly need to enter two fields: "userName" :"team@ardupilot.org", "accessCode" :"1234", use your own account and access code from registration. DE_MAVLINK Configuration File ----------------------------- :ref:`de-config-mavlink` you can enable wifi connection or serial connection form the settings: .. code-block:: bash "fcb_connection_uri": { "type": "udp", "ip": "0.0.0.0", "port":14445 }, // Using serial interface //"fcb_connection_uri": // { // "type": "serial", // "port": "/home/mhefny/ttyUSB23", // "baudrate": 115200 // }, The wifi can be used also to connect to SITL on your laptop by running that sends UDP to 14445 on your RaspberryPI IP. .. code-block:: bash $ python3 ardupilot/Tools/autotest/sim_vehicle.py -j4 -v ArduCopter -M --map --console --instance 50 --out=udpout:RPI-IP:14445 or .. code-block:: bash //"fcb_connection_uri": //{ "type": "udp", // "ip": "0.0.0.0", // "port":14445 //}, // Using serial interface "fcb_connection_uri": { "type": "serial", "port": "/home/mhefny/ttyAMA0", "baudrate": 115200 }, .. important:: Only one connection should be active and the other should be commented by "//" or remove it form the file. DE_CAMERA Configuration File ----------------------------- you mainly need to define cameras. bedefault there is a camera defined on /dev/video0 and given name "AI1" .. code-block:: json "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** : .. code-block:: json "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**