.. _de-install: ======================== DroneEngage Installation ======================== Preparing Raspberry =================== 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. .. important:: You need to execute this script also to install **libcrypto_1.1** `install_libcrypto_1.1.sh `_ 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/01__29Aug2022/Drone_Engage_29Aug_2022.zip $ wget https://cloud.ardupilot.org/downloads/RPI/01__29Aug2022/Drone_Camera_29Aug_2022.zip * Please check https://cloud.ardupilot.org/downloads/RPI 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** The following video describes installation procedures. It may differ from version to another, but the video includes the main steps. .. youtube:: cvQgMcnM7NA