Configure Zerotier¶
So the goal of this configuration is to build a new Zerotier Network, and join the UAV and handcontroller to the network. In the process we need to follow a convention for IP addresses for both UAV and handcontroller, to ensure connectivity. Should you decide to deviate from the recommended addresses, you will have to change configurations for MAVLink Router, and Video Streamer. Having said that, it is possible to have more than one UAV in the same network, and control severeal UAVs from the same handcontroller.
Steps to build network¶
-
- Go to my.zerotier.com to log in or sign up for an account. The setup here suggest that this is the only network and only one UAV in the network.
-
- Click
Create A Networkand click into the network.
- Click
-
- Expand the
Settingsregion, and give the network a name you can recognize (only important fot this portal, not used outside for anything). Something like UAVNet. Make sure theAccess Controlis set to Private.
- Expand the
-
- Scroll down to
Advanced. Remove the current managed route, and add a new one for10.10.10.0/24. UnderIPv4 Auto-AssignchooseAdvanced, remove the current range, and add a new Range10.10.0.100 - 10.10.0.200.
- Scroll down to
-
- Save the Network ID. Should be a 16 character long unique ID for your network. You will need this ID to join both the UAV and the handcontroller next
When done, the settings should look like the picture below.
Steps to join UAV¶
-
- Make sure you have noted the Network ID from the building of the network.
-
- Log in to the UAV and type
sudo zerotier-cli join XXXXXWhere XXXXX is the Network ID from above. The response should be200 join OK.
- Log in to the UAV and type
-
- Go back to your network in my.zerotier.com. Collapse all regions, and expand the
Membersregion. You should now have a line looking something like ther picture below. Note the dotted vertical line, which indicates this is a new request from a node to join the network:
- Go back to your network in my.zerotier.com. Collapse all regions, and expand the
-
- The next step is to approve the node. Tick the box under
Auth?, and a few moments later the vertical line should turn solid and green
- The next step is to approve the node. Tick the box under
-
- Now we need to assign a specific IP for this new node, which will be the same as the UAV. We will stick to the convention of giving the UAV the address of
10.10.10.2. UnderManaged IPstype inn the address, and click the plus sign. Also remove the auto assigned adress.
- Now we need to assign a specific IP for this new node, which will be the same as the UAV. We will stick to the convention of giving the UAV the address of
-
- Give the node a short name, like UAV
-
- Reboot the Raspberry Pi.
The page should now show like this:
Steps to join handcontroller¶
-
- Make sure you have noted the Network ID from the building of the network.
-
- Make sure the phone is an Android device, as QGroundcontrol is very outdated on iOS. Search for and install the app called
ZeroTier Onein thePlay Store. And then start the app.
- Make sure the phone is an Android device, as QGroundcontrol is very outdated on iOS. Search for and install the app called
-
- Tap the wrench to get to settings, and make sure that
Use Cellular Datais checked. Go back.
- Tap the wrench to get to settings, and make sure that
-
- Click the plus sign to add a new network, and type in the Network ID from above, and click the button
Add Networkat the button (you might have to hide the keyboard).
- Click the plus sign to add a new network, and type in the Network ID from above, and click the button
-
- Still on the phone, tap the slider next to you new network, and approve that Zerotier tries to set up a new VPN.
-
- Now move to the portal, and you should see a new node showing up, with a dotted red vertical line next to itself.
-
- Give the node a name (like GCS - Ground Control Station), check the
Auth?box, and set a fixed IP to10.10.10.70.
- Give the node a name (like GCS - Ground Control Station), check the
When done the portal should look something like this:
Verify¶
Go to the UAV console and type ip a. A network starting with the letter z should be listed, with the address 10.10.10.2. Next type ping 10.10.10.70 to verify you can connect from UAV to the handcontroller. The response should give you how long time the ping took (Ctrl+C to stop).


