3 ms·
Been there, done that. http://code.google.com/p/microbridge/ http://code.google.com/p/microbridge/ edit: a bit of technical background. We all know that most
by inoop 15y ago
Been there, done that.
http://code.google.com/p/microbridge/ http://code.google.com/p/microbridge/
edit: a bit of technical background. We all know that most Android devices and almost all phones really only support USB slave. This is mostly electrical, their controller chips almost always support OTG or Host, but they simply do not provide +5v on the USB bus to power an external device.
Hence in order to talk USB with your phone you had the option of rooting your device and use OTG (if supported), or to make the accessory play Host. In the latter case the accessory needs to talk the ADB (Android Debug Bridge) protocol to the phone, which is precisely what MicroBridge did using exactly the same hardware as ADK (Arduino + max3421e USB host controller). The ADB protocol provides byte stream multiplexing over USB, meaning that your USB-enabled microcontroller can tell your phone to give you a bidirectional byte stream to TCP ports, running daemons like logcat, a shell, etc. To establish a connection with a running app, that app simply listens on a TCP port, and the MCU opens a byte stream to that port using ADB.
What ADK does differently however, is that it adds a new USB protocol to Android. It previously supported three configurations: USB storage device, tethering, and ADB. The new ADK protocol is much simpler than ADB and really just only offers a single pipe with just reading/writing functionality. This is much simpler to implement (although ADB wasn't exactly rocket science), but most of all it's much cleaner and doesn't require the user to enable debugging in the phone settings.
ADB implementations have sprung up recently for various microcontrollers, such as PropBridge http://robots-everywhere.com/re_wiki/index.php?title=PropBridge http://robots-everywhere.com/re_wiki/index.php?title=PropBri... for the propeller (which also comes in a DIP package btw, really nice for hobbyists), and IOIO for the PIC24: http://www.sparkfun.com/products/10585 http://www.sparkfun.com/products/10585. These people will support the new protocol as well, so I expect there will be quite a bit of hardware choice in the near future.