USAV - Telemetry system

USAV is the Unmanned Social Arial Vehicle - A drone with an android based auto pilot system that communicates through Google talk and Twitter. Due to the weather and the fact that an H-frame is being built for the vehicle, no flying is possible here. But I'm making good use of the wait :)

So snow is still falling here in the north and it's not really flying weather.

So I decided to make good of the waiting and create a telemetry unit for the USAV.

I guess telemetry is what Tabasco sauce is for omelets. So of course the USAV should have this kind of thing as well. Since the USAV uses the internet for communication, getting telemetry from the vehicle is a bit tricky. 

Normally, the XMPP protocol is used to talk to the craft and get info back, but this isn't really suitable for near to realtime telemetry. In stead i decided to use standard http, but getting data from the onboard cell phone is not easy since the phone as such has no public static IP address when using various cell towers to communicate.

So I created a middleware solution, where the USAV broadcasts it's telemetry to a webservice, and where clients can then get the telemetry from using another webservice. The middleware component has to have a static IP, but offers some nice features in return.

The middleware dosen't just broadcast the telemety to anyone who's interested - it also stores each telemetry packet in a database for later analysis. This way, a telemetry client is not limited to only getting the current telemetry, but also fetch older data either as a single snapshot or a series for playback of events.

The system looks somewhat like this

3689502640?profile=original

In the video below you'll see a short demonstration using a very primitive telemetry client - what you see is;

1. The USAV becomes online on the Google talk network

2. The telemetry client is started

3. Telemetry broadcasting is started on the USAV

4. Telemetry is received

5. GPS lock is achieved

6. The craft is turned 360 degrees

The telemetry unit onboard the craft is very loosely coupled, meaning that any data can be transmitted as telemetry data, using a single line of code for each and does not have to be initialized from the beginning.  

The rate of updates from the craft is configurable and currently set to once every second.

Instead of using this ugly command line based client (seen in the video), one could build a nice app, web or native gui to display the data in a nice way.

I really do hope I get to fly with this thing soon, so I can post some flight videos with the whole setup running.

Until then - all the best.

Jesper

E-mail me when people leave their comments –

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

Join diydrones