Sunday, February 12, 2012

Android ROV Spy

I've been doing some playing around recently with Necessitas to do Android development using Qt.  It's been quite enjoyable!  I am able to write an application that runs on a desktop environment AND an Android device with the exact same code.  While the results aren't that pretty (I haven't bothered to make it look nice yet), they work like a champ!  Here, I'm able to use all of the standard Qt libraries that I usually use while also using two custom classes that I found online (QLedIndicator and QCustomPlot).

This little application that you see above is my second Qt + Android application.  This one is made to sit on the same network as a ROV and its control system and spy on them.  This displays software versions, communication statuses, motor values, relay statuses, voltages, servo values, packets per second for each controller, leak state, depth, vertical motor values and the joystick positioning.  In the box on the bottom right, the blue line with the box shows the joystick position (and therefore how the ROV is responding).  The horizontal blue line above it shows rotation.  In the upper right hand corner, the depth is graphed (that blue line is actually Photoshopped in, but the real line looks just like that).

It's been a pretty fun project, and I plan on using the experience and knowledge gained in making this when I make an Android tablet application that can drive a ROV.  That is one of my next major projects.  My only hurdle which is preventing me from doing that at the moment is getting Qt to read USB joysticks (using SDL on the desktop).  My current thought is using Java and the Android SDK to write a service that reads the joystick and sends its values over UDP.  That way, with one service, I can make multiple joystick reading applications.  Also, if I write that service, then other people can use it to give their applications USB joystick support.

I really need to create a public SVN repo which I can upload all of my code of this nature to.... I'm thinking either Google Code or Sourceforge, but I'm not sure which.  I know that Sourceforge has fancier features and more capabilities, but I'm really only looking for a simple way to share my latest code with whomever wants to access it.  If you have any suggestions, feel free to let me know.

Thanks for reading!

Chris

No comments:

Post a Comment