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

3689672304?profile=original

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) ?

3689672214?profile=original

:)

3689672297?profile=original

E-mail me when people leave their comments –

You need to be a member of diydrones to add comments!

Join diydrones

Comments

  • @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 

  • @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 ....

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

  • @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.

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

    @Martin -> Yes

  • Would it be possible to stream video with M2?

  • Fair enough, Leif!

    Does your trick work with different mobile providers on these 2 phones? Or the 2 phones with the same provider, but in different geographies?

  • hmm @Daimian its a trick of the trade actually :)

  • Have you published a paper/ more info about the UDP NAT traversal???

    Thanks!

  • M2 is based on UDP. This app send positions as simple streamed packets (see above comment) and commands as messages (for the moment commands are very limited ;) but I plan to enable some)

    M2 is based on UDP, but sending messages are reliable, i.e. it's handshake and fail proof with an internal protocol (almost like TCP) The reason for using UDP is easy NAT traversal.

This reply was deleted.