Google Developers Group
I am in need of information about Android applications which require external hardware to function. By this I mean things like the below.
My ultimate goal is to gain enough information about how this works to make it plausible to develop a hardware-based app for my own purposes.
You need to start in some different areas:
xda-hackers, the ones that do android roms..they have amailing list nd forums.
the andorid platforms mailing list
there is also an google groups android hackers mailing list
Certain io components can be driven in ways not originally intended by the OS. Let me give you an example. USB synching we have a-mode usb ports on devices but to get that synching requires b usb ports.
SO you do a ubs dongle to trick the OS into booting the usb port into b mode than you can do usb synch and run cool stuff like extra keyboards etc...
Start also trolling the FCC device licensing site..you can often get lists of components and than track down manufacture specs which than allows you to find out different stuff. That is how they first jail broke iphones, in fact. :0
The accessory api for Android is somewhat non-existant right now. There are various ways around this. The main one is the Square way. Square uses the mic built into the phones to transmit information to the phone.
Currently there are two solutions around this. First is the Arduino MicroBridge http://goo.gl/6AcaC. It allows for microcontrollers to communicate to the Android platform. Second is a new product from SparkFun called IOIO http://goo.gl/m6VQC. It has it's own libraries which allows for external communication.
The downside to both of these are that they require the debugging platform to be active.
The best way to really do this kind of communication currently is though the Bluetooth module. Android supports the Bluetooth Serial profile which allows for any device to connect to the phone though Bluetooth. I believe this is what was used in the Android rubric cube solver http://goo.gl/Dgbef.
So there are a few ideas for you.
Go to YouTube and search for "spiritplumber". He has worked on several projects utilizing Android phones, USB ADB and the mic/earphone jack method to communicate with Android to the outside world. Here is one example:
I am also interested in these type of devices. I recently received one of those "Square" credit card adapters. All you have to do is sign up for a free account to get one. I wanted to tear the reader apart to see what sort of magic there might be inside of it but was quickly disappointed to see that all there is to it is a simple magnetic reader head and a phone jack. All the "magic" is in the app software to read and decode the magnetic stripe info.
I am currently working on a project that communicates via Bluetooth SPP to a device I built. In fact I am looking for some HELP! with programming the app to communicate via Bluetooth. Would love to talk with you if you are fluent with Android Bluetooth programming code.
Thank you for the lead. Spiritplumber's stuff is very informative.
Sadly I am not experienced with Android or Bluetooth yet, although that may be in my future. Good luck with your project!
Thought I'd post more information to this as it just became available at Google IO. Android is now starting support of USB devices though it's Accessory Development Kit. This is perfectly suited for the request outlined.
The link should give you an idea of what is needed. Also while I don't believe that Google is going to be selling a kit of their own several over venders are creating kits that vary from $69 to $159 depending on what you want the dev board to do.
I picked up one of the Google branded kits at IO and I'm pumped to get home and start messing with it.
let's hook up together and see what interesting things we can do with it. I got my ADK, too. Very excited about it.