Many people out there want to extend their UAV range and heads over to cellular devices, but soon they realize that this is too complicated and way over theirs head and at last give up.
I will try to explain a few things you need to know about cellular communication and highlight frequently issues that may show up when diving into this side of UAV hobby.
1. UAV (Unmanned aerial vehicle)
2. GCS (Ground Control Station)
3. RPI (Raspberry Pi)
What is Mobile Broadband?
Well, i think wikipedia says it all.
' Mobile Internet ' refers to access to the Internet via a cellular telephone service provider. It is wireless access that can handoff to another radio tower while it is moving across the service area. It can refer an immobile device that stays connected to one tower, but this is not the meaning of "mobile" here. Wi-Fi and other better methods are commonly available for users not on the move. Cellular base stations are more expensive to provide than a wireless base station that connects directly to an internet service provider, rather than through the telephone system. A mobile phone, such as a smartphone, that connects to data or voice services without going through the cellular base station is not on mobile Internet. A laptop with a broadband modem and a cellular service provider subscription, that is traveling on a bus through the city is on mobile Internet.
What is APN? Again
wikipedia is our friend. An Access Point Name (APN) is the name of a gateway between a GSM, GPRS, 3G or 4G mobile network and another computer network, frequently the public Internet. A mobile device making a data connection must be configured with an APN to present to the carrier. The carrier will then examine this identifier to determine what type of network connection should be created, for example: which IP addresses should be assigned to the wireless device, which security methods should be used, and how or if, it should be connected to some private customer network
Where should I start?
Before you start looking into the all the other stuff / parts you need to get your UAV on "Mobile internet", you need to make sure that your cell operator can supply you with an correct IP address needed to access external devices on cell network, and does not restrict port forwarding.
A port is always associated with an ip address, think if it as a tunnel. There are 0 to 65535 ports available to each ip address. When connection your UAV to GCS you need to specify an IP address and Port number to use.
If your cell provider does block your mobile broadband ports, you will not be able to get communication between UAV and GCS, so this is quite important to figure out.
Cell operators normally use several different APN names to determine your internet security. Ask you operator if they can deliver an APN name with Public ip (No restrictions). APN name can be altered in setup menu on all cell devices, to my knowledge.
There are other workarounds if you struggle to get Public IP, such as VPN(Virtual Private Network) , but the drawback is more latency, which we don’t want.
What Equipment do i need?
It all depends on which flight controller you want to use and if you want both video and telemetry. A common setup is consisting of;
- Raspberry PI . Placed onboard and deals with Internet connection, telemetry and video stream.
- 2x USB cell dongle . One connected to RPI and one in GCS laptop.
- Serial to Ethernet converter. Placed between Flight controller and RPI. Converts Serial data to Ethernet
- Picam or USB cam. Connected to RPI
Another Great solution is Navio+ flight controller from Emlid.com which requires less components! Navio+ is running Ardupilot software, so if you are familiar with APM / Pixhawk this would be easy to integrate. This board is mounted on top of RPI and makes the process allot easier.
Read more about Navio+ https://emlid.com/navio/
- 2x USB cell modems.
- Picam Or USB webcam
Where do I get the necessary Software?
UAVmatrix has developed a complete software package with easy installation and operation.
Check out UAVcast
Common Issues and concerns
Besides the Public IP and port forwarding which we talked about, there are some other bumps on the road which we need to take into account.
DNS . When connecting a Cellular device to internet your operator will assign your device with an unique IP address which you need know, otherwise RPI wouldn’t know where to send telemetry or video stream to, right!. This IP address normally changes every time upon connection. This could be a headache to find and it would make the hole startup process more difficult as you need logon your RPI and change the GCS address every time.
The solution is Dynamic DNS (Domain Name System). This is used worldwide for many applications and is a very common tool to get access to devices without knowing the actual IP address. What it does is linking the current IP to a known name.
e.g Take Google.com for example, you don’t know the IP address to google, do you? you only write Google.com and you will get there. You could also type 126.96.36.199 in browser and achieve same result.
This is DNS. Converts IP to a known name, more convenient for people to remember, and it is consistent all the time.
Same thing we do for our onboard UAV cell network and GCS network.
A good and FREE Dyn Dns provider is No-Ip.com
Security is always first priority. Imagine if a computer hacker takes control of your drone in mid air!! That could be devastating. My configuration doesn’t have any security at all, and I’m currently looking into several ways to implement this, such as VPN tunnel. The only problem is latency. Packing video and telemetry into a VPN tunnel will increase the latency for sure.
So always consider where you are flying, and take necessary precautions.
Failsafe is very important. A cellular controlled UAV will not change any of the Failsafe function provided by APM.
I’m using GCS FS on in mission planner, and this will send the aircraft home if connection is lost to GCS, even though if you are using cellular connection. Test failsafe on ground before takeoff .
Cell Wi-Fi hotspot. There are several modems which can create a WIFI hotspot (Like your home Router) and you could connect several devices to the same hotspot. This could be useful in context of GCS. If you are using hotspot device, you need to be aware of the firewall settings applied to Wi-Fi LAN side.
All Wi-Fi hotspot will generate a LAN network (typical subnet start with 192.168.x.x) and blocking incoming port as default, you need to configure the incoming data(External IP) to correct LAN IP address and port. Read about port forwarding for your hotspot device, it should be descibed in User Manual.
Cost is always something we take into account these days. And as you need a Sim card for your UAV and one in GCS, this can be an extra cost. Prices varies depending on which country you live in. A roughly estimated data consumption would be approx. 250kb/s, or ~200MB for 15min flights. This includes High quality video and telemetry. If you only want Telemetry, the data would not be noticeably.
Hopefully you know a little more where to start, and what to look out for, before diving into cellular world. Fly by cellular is awesome, and works incredible good. You need to try it, and won’t get disappointed. If you have any questions, please post it bellow.
Happy Flying Bernt Christian Egeland