Sunday, October 20, 2013

I was able to get the Android client up and running last night. It's a fairly simple affair, since I am definitely an Android GUI newbie, but it is working enough to drive around. Today I took it for my first drive outside my line of sight, driving strictly with the camera. Good fun!

First, I got a new laptop that has a processor that has the right support for the Intel HAXM hardware accelerated simulator. That is a dramatic improvement - it boots fast and runs quickly enough to test the video streaming and network control code. HIGHLY recommended to use it if your hardware supports it. It's worth the 20-30 minutes to set it up.

Right now, the client only has an ImageView for displaying the frames from the rover's camera, ImageButtons for the directional controls, and a SeekBar to set the motor speed. Additionally, there is a text box to enter the rover's IP address.

For momentary contact buttons, I used an OnTouchListener, with the direction being set with MotionEvent.ACTION_DOWN. The UP event calls a stop when you release the button.

I need to do a better job of handling rotation/app pause type events and make sure the socket code handles most events cleanly. I also intend to punch a couple holes in my home router so that some friends can try to drive it over the Internet.

About Me

One guy's wanderings through science and technology, just for the fun of it. Currently focused on astronomy and hobby robotics, but likely to wander into photography, DIY drones, CNC and 3D printing, or whatever seems interesting at the time.