Using a 3g/4g internet connection and two mobile phones

For the fun of it we made an Android app allowing a sender phone and a receiver phone to act as a remote control. The reciever phone is connected to a Polulo Maestro servo card with Usb Host.

It work pretty fine actually.

We use some nice piece of communication software (from another project) enabeling mobilphones to communicate peer to peer bypasing NAT restrictions using no server in between. This software also allow for logical peer identites without any spesific account or setting, just figure a peer name and connect. (so it make it very easy to connect with a standard phone connected to internett with 3g/4g)

Why not use mobilphones for controller directly, it have everything, gps, gyro, accelerometer (+ easy programmable i java) ?


Views: 3167

Comment by Leif Auke on November 23, 2015 at 6:53am

@Daimen -> Yes, it work with any peer located anywhere on internet (and from any subnet to any subnet)

@Martin -> Yes

Comment by Leif Auke on November 23, 2015 at 6:54am

@Daimian -> In general, to do a nat traversal (also called hole bang nat) you need a 3 party service to exchange each parties IP address.

To do this public IP exchange the 3 party service must know the peers public addresses. This is done by each peer regularly communicate with the service. By communicate the last known public IP/port for the peer is the address to the public router, (the router at the public side of the subnet) and a dedicated port for the peer on the subnet.

A Nat traversal is done by supporting each party with the other parties last known public IP/port address. Each party start sending packets to each other to this other party known public IP/port. Normally after some packets they both are connected (a hole is banged in nat)

In m2 this is a set of services enabling look-up and session connect.

Comment by Martin on November 23, 2015 at 7:33am

@Leif, it would be really nice if an app could stream video from an android phone or raspberry and also transmit telemetry over 4G.

Comment by Leif Auke on November 23, 2015 at 7:42am

@Martin -> yes -> its a question of development hours :)

The m2 protcol itself allow for both way communcation of any binary infomation.

Telemeri: I will make feed of geoposition and orientation data from the reciever phone. For other telemetri information its a matter of what reciever can support :)  

Media: M2 support raw binary data streams. Any media stream packet into this stream can be communcated ....

Comment by Leif Auke on November 23, 2015 at 7:51am

@Martin ->

Using a mobile phone will need a USB interface to external camera and to other information sensors. I have not tried this yet.

Using Rasberry pi, the pi need a 3g dongle, and as I understand there are a lot of software and supporting sensors for Rasberry pi. It need some programming to interface and make the messaging from remote to sender etc. 

But it’s all possible 

Comment by Vitor Ramalho on November 23, 2015 at 7:53am

@Leif You can always try to transmit the own smartphone camera video.

Comment by Leif Auke on November 23, 2015 at 8:03am

@Vitor Ramalho -> Yes :)

(That works basically, but to make it practically useful it need to be packet into some compressed format like H.264 or something) -> It remains to be done. :)

For a practical app the mobile phone will be located inside a drone or a model plane, so make that practical it should have an external camera. 

I use a 24 channel Polulo Maestro servo card, so it’s plenty of channels to also support a camera gimbal (actually) :)

Comment by Greg Dronsky on November 24, 2015 at 2:09pm

Very impressing work Leif. You can use a 45 degree mirror to use the camera from the phone, a little periscope :) You can even make it on a gimbal...

Comment by Leif Auke on November 26, 2015 at 5:03am

I see there is a rasberry pi zero comming out with smaller size and without all this unnessesary ports to externals.

Q: ..... Could anoyone wire for ex. a polulo maestro or another servo card to it, and attach a 3g dongle, (or wifi) i can provide the software to comunicate and control it :)

Its all java an run very nicely on rpi.

Comment by Sven Hoffmann on November 29, 2015 at 7:36am

Hi Leif,

we did some similar with UAVs and UGVs. I figure out to get a fixed public IP over 3G and 4G-Networks. I prefer 3G for doing the R/C. I know, there is a little more Latency (roundabout 80ms / 4G <30ms possible) The HandOver is the gist. Actually 4G-Networks can´t handle a HandOver (Every time we did this the FailSafe would be activated cause it needs to long to say bye-bye to one Base and do the HandShake with the new one. In Case of 3G it´s a thing of milliseconds; means seamless. ;) R/C over IP : 1. by using public cellular network or 2. by using  a PtP-Connection with regular WiFi-Components (we use a ballon as Repeater > 100m up in the air means >30km connection @line of sight)btw FPV over Cellular works fine: 720p25@2Mbit/s with a Latency <200ms ;)

....Nice to see that there is something going on ;)

UGV: R/C and FPV over Cellular

FPV with a drone by using cellular


You need to be a member of DIY Drones to add comments!

Join DIY Drones


Season Two of the Trust Time Trial (T3) Contest 
A list of all T3 contests is here. The current round, the Vertical Horizontal one, is here

© 2019   Created by Chris Anderson.   Powered by

Badges  |  Report an Issue  |  Terms of Service