I have an Arduino + USB host shield. I would like to start developing with the Android Open Accessory Framework.
Can I connect my Arduino to the Android Emulator whilst developing? Or do I need to buy a compatible handset?
Cheers,
Marcus
I have an Arduino + USB host shield. I would like to start developing with the Android Open Accessory Framework.
Can I connect my Arduino to the Android Emulator whilst developing? Or do I need to buy a compatible handset?
Cheers,
Marcus
The emulator guide states:
In this release [3.1, accessed 5/27/11], the limitations of the emulator include:
- No support for placing or receiving actual phone calls. You can simulate phone calls (placed and received) through the emulator console, however.
- No support for USB connections [emphasis added]
- No support for camera/video capture (input)
- No support for device-attached headphones
- No support for determining connected state
- No support for determining battery charge level and AC charging state
- No support for determining SD card insert/eject
- No support for Bluetooth
While the "In this release" clause might bring you some hope, I'm not sure that USB support for the ADK is likely in the near future. USB host might happen, but I've not found any PCs that have the USB device port (micro USB) that you'd need to connect the ADK in a useful way. The ADK doesn't use the Arduino's UBS type B device port, it uses a female USB A host.
Of course, USB OTG would be perfect for this, but, as the release video says at 34 minutes in, Android handsets all support USB device mode, while few to none support USB OTG.
So, it seems the answer is "No." I'd love to see something to the contrary. If you just want to get into development, but don't want to give up your current phone/plan, I'd suggest buying the cheapest Android tablet or unactivated cell phone (that can run a recent enough version of the OS) that you can find. The emulator is fantastic for doing GUI tests for your apps, but you really need an Android device if you're serious about development.
There are earlier, alternative implementations of ADK-like functionality using the ADB protocol built into almost all android devices instead of the ADB protocol only supported by a few.
If your goal is to make actual ADK products, that may not help.
If your goal is to control something with your own current personal android device, it's probably the solution you want.