Need help with Navio 2 and Rpi3B+

Hey, guys i’ve been struggling to get my setup working right.
Im using the emlid raspbian image provided for navio 2 and ardupilot 3.6

I managed to get my setup:
-Navio 2, RaspberryPi3
-Mediatek 4G Modem USB
-C270 Logitech Webcam
Working on my home network, telemetry over udp and stream video to gstreamer over udp too.
But i can’t find any docs here that give me a clue on how to do it with 4g cellular connection. I wonder, ¿has anybody managed to get navio 2 and raspberry pi 3 transmitting telemetry and video over 4g?

Hi @marwane.oukh,

To connect to Raspberry using mobile data, you need to configure it as a hotspot. Then you can connect the device with the Ground control station to this network and get an IP for UDP connection.

Please make sure your mobile data provider can provide you with a private IP address to create an access point.

What do you mean by configure “it” as a hotspot? Are you talking about the modem? Don’t i need something else to get it working? Any software?

How is that going to work when the drone is flying 20km away from the GCS? isn’t that the same as doing it over home network?

Marwane,

You can configure Raspberry as a hotspot. There is a guide in the Raspberry docs, please check it out for more information.

Also, you can use a TCP connection instead of UDP. For this method, you don’t need to configure a hotspot. You need to specify the IP address of your 4G dongle when connecting to a drone in MissionPlanner.

The easiest way to connect to your drone over 4g would be to use Zerotier-One. Zerotier is a virtual Global Area Network. Install Zerotier on your GCS device and on the RPi of your drone, add both to the same Zerotier network and use the Zerotier IPs to forward telemetry. This way it does not matter if your provider uses NAT for the 4g connection or your home internet uses 4over6. As long as both, GCS and drone, have an internet connection, they should be able to connect to each other.

I’ve already managed to do that! Thank you!

1 Like

Is there any docs on how to do that? Thank you, very much appreciate the info!

You need a free account at zerotier.com to manage your network(s). Then you install the zerotier client on both devices. For RPi you have to copy and paste a curl command to the command line .
For Windows and Mac OS you can use the provided installers.
After installing, you join the network you created on the website with both devices. On RPi:

sudo zerotier-cli join “network number”

On Windows you do a right click on the zerotier task icon and click “join network”. Then enter the number.
The telemetry configuration is the same as with other network devices. Enter the GCS zerotier IP as the telemetry target for ardupilot on the RPi and it should work.

I figured it out on my own already, got it working, thank you very much thought!