Link Search Menu Expand Document

VRX Ground Unit Developer Guide

Table of contents

  1. VOXL SDK Support
    1. SDK Versions
  2. Use Cases
    1. Video Streaming over RF
      1. Using Multiple VRX to View Single VTX
      2. Viewing Multiple VTX from Single VRX
    2. Video Streaming over IP Networks
      1. Overview
      2. VRX Software Configuration
      3. VTX Software Configuration
      4. voxl-joystick-server Setup
      5. Interface Options
        1. Ethernet Adapter
        2. Doodle Labs
        3. LTE
    3. Static IP from VRX with USB-to-Ethernet
    4. SSH Access to VRX
    5. ADB Access to VRX

VOXL SDK Support

SDK Versions

The VRX uses a different SDK than the drones at this time (5.4 kernel, Ubuntu20 rootfs):

SDK VersionFile NameLink
VRX 1.5.0ubun2.0-multi_SDK_1.5.0.tar.gzDownloads

Note: this version won’t work on drones yet.

Use Cases

Video Streaming over RF

This is how systems are configured by default and use the integrated RF path to stream video.

Using Multiple VRX to View Single VTX

Multiple VRXs can view the stream from the same VTX (assuming they share encryption keys) and are on the same channel.

Viewing Multiple VTX from Single VRX

Again assuming the VTXs and VRXs share the same encryption keys, we can stream from multiple VTXs to a VRX (or again multiple VRXs…).

For this use case, we need to first configure the VTXs to be on different channels. The procedure is as follows:

Setup:

  • Ensure VTXs/VRXs have same encryption key (or are all using the default)
  • Power on one VTX at a time
  • Change the frequency/channel of the VTX using the OSD menu (see this video at 223 seconds as to how to change frequencies/channels)
  • Power off the VTX
  • Set VRX back to default frequency/channel (5805/161)
  • Power on next VTX to setup (assuming its out of the box, default frequency is 5805), and change frequency again off the default. Repeat for N VTXs.

Usage:

  • All VTXs and VRX can be powered on now
  • Using the Channel Scan buttons, you can scan through the available streams from the VTXs

Video Streaming over IP Networks

Overview

Another use case the VTX/VRX system supports is streaming over IP networks.

The pilot can view the low latency video via goggles connected to Display Port output of the VRX.

If using LTE, both drone and VRX can be configured with VPN clients and can stream over through a network a VPN server facilitates.

Additionally, the voxl-joystick-server can be used to send RC over MAVLink to a drone for command and control, plugging a controller into a USB hub connected to the AUX USB port.

VRX Software Configuration

To enable receiving IP traffic (UDP really), edit the /etc/modalai/voxl-vrx.conf file.

udp - true to enable UDP receiving udp_ip - IP address of the transmitter IP (the VTX/UAS) udp_port - the UDP port the transmitter is using

For example:

...
	"udp":	true,
	"udp_ip":	"100.1.1.XX",
	"udp_port":	50000,
...

VTX Software Configuration

To enable this use case, edit the /etc/modalai/voxl-vtx.conf file:

udp - true to enable UDP transmission udp_transmitter_ip - IP address of the transmitter IP (the VTX/UAS) on the interface specified udp_transmitter_interface - the interface to use (e.g. wwan0) udp_receiver_configs - array of receiver address/port configs

...
    "udp": false,
    "udp_transmitter_ip": "",
    "udp_transmitter_interface": "",
    "udp_receiver_configs": [
        {
            "ip": "",
            "port": -1
        }
    ],
...

For example, set udp_transmitter_ip and udp_transmitter_interface to the IP and interface name on the trasmitter/VTX/UAS side, and the reciever IP/ports that you want to send data to:

...
    "udp": false,
    "udp_transmitter_ip": "100.ZZ.YY.XX",
    "udp_transmitter_interface": "tailscale0",
    "udp_receiver_configs": [
        {
            "ip": "100.ZZ.YY.AA",
            "port": 50000
        }
    ],
...

voxl-joystick-server Setup

TODO

NOTE: voxl-joystick-server requires SDK 1.5.0+

Interface Options

Ethernet Adapter

The VRX’s AUX USB port can be used to add an Ethernet adapter (like the TUC-ETGH3).

When the VRX is connected to an IP network, we can send video over IP instead of RF.

Doodle Labs

On the VRX, to setup the Doodle Lab modem connected over USB, you will need to:

  • ADB on to the VRX (see ADB Access to VRX below).
  • run voxl-configure-modem doodle X.X.X.X Y.Y.Y.Y where:

X.X.X.X - TODO Y.Y.Y.Y - TODO

LTE

On the “VTX” side (where in this case there is no M0185 VTX modem), we can use an IP based modem like the M0130 LTE modem/antennas/SIM card, e.g. similar to this.

Static IP from VRX with USB-to-Ethernet

Using a USB-to-Ethernet adapter (and sommetimes a USBC to USBA adapter like in belows setup), you can easily get an IP connection with the VRX.

Starting in SDK 1.6, the voxl-static-ip-watcher service will run by default on the VRX.

When you plug in a USB to Ethernet dongle to the AUX port, it enumerates as eth0, and will be assigned static IP 10.0.0.2 with default netmask 255.255.255.0

If you want to customize this, edit /etc/systemd/system/voxl-static-ip-watcher.service.

Environment=NETWORK_INTERFACE=eth0
Environment=STATIC_IP=10.0.0.2
Environment=DEBUG=0
Environment=NETMASK=255.255.255.0

SSH Access to VRX

After getting an IP connection following the previous setup, you can get an SSH connection.
NOTE: The static IP functionality is supported in SDK 1.6.X and newer

ssh root@10.0.0.2
(password: oelinux123)

ADB Access to VRX

To access the VRX via ADB, disconnect the USB-C to HDMI adapter from the VRX and connect your USB-C cable to the same USB-C port.

adb shell

See the Interfaces section of the VRX Ground Unit Quick Start Guide for more details.