ADK is a micro controller based on MEGA 2560. As a part of revision of micro-controller ADK is equipped with an USB Host interface.
Because the ADK is a USB Host, the phone will attempt to draw power
from it when it needs to charge. When the ADK is powered over USB, 500mA
total is available for the phone and board.The external power regulator
can supply up to 1500mA. 750mA is available for the phone and ADK
board. An additional 750mA is allocated for any actuators and sensors
attached to the board. A power supply must be capable of providing 1.5A
to use this much current.
The Mega ADK board is a derivative of the Arduino Mega 2560.
The modified Mega 2560 board includes a USB host chip. This host chip
allows any USB device to connect to the Arduino.
The USB host is not part of the original core of
Arduino. To use the new features on this board you will need to include
some libraries in your sketches.
There are three libraries needed to make the system work:
- MAX3421e: handles the USB host chip
- Usb: handles the USB communication
- Android Accessory: checks if the device connecting is one of the available accessory-enabled phones
Android Accessories
An Android accessory is a physical accessory that can
be attached to your Android device. These particular devices perform
specific actions. With an Android phone and the Mega ADK, you can use whatever sensors and actuators you require to create your own accessories.
The USB accessory and the device check to make sure
they are connected by passing back and forth product and vendor IDs.
Google offers two accessory codes for people to try out: product IDs
0×2D00 and 0×2D01. Google has the USB vendor ID 0×1841.
Arduino IDE 1.0
Arduino’s software is based on Processing’s IDE. The current release is version 0022. The Mega ADK has been developed as part of The 1.0 beta release. The libraries needed to make an Android accessory using the USB host chip are not included as part of version 0022, so you’ll need the 1.0 beta to work with the ADK and Android.
There are some fundamental changes in the way version
1.0 works, including a new extension for sketches. The suffix will
change from *.pde to *.ino, any previous sketches will need to re-saved with the new extension.
Android SDK
The Android OS is based on Linux. Android Apps are made in a Java-like language running on a virtual machine called Dalvik.
Android offers a single download location to get the
development software used by the different hardware manufacturers. This
helps streamline development for different devices. You can get the
Android SDK from the Android development website. You can easily upgrade
to newer versions of the OS.
Google controls the main branch of the Android
development system. They produce the core and the libraries that link
the virtual machine with different peripherals.
If you’re going to make a commercially-sold accessory, it is your responsibility to:
- port their drivers to each new version of the OS
- create a ROM (functional image memory of a phone) that is compatible with that version of the OS
- provide the developer’s community with a port of their drivers via the SDK upgrade system
The manufacturers are not always ready with
ports the same time Google introduces a new revision of the OS. This has
created an interesting parallel ROM development community dedicated to
the creation of ROMs that include all the latest features yet capable
of running on older devices. One of the most successful mods is Cyanogen.
For USB accessories to be supported on a particular
device, there must be support for the accessory-mode, a special means of
connecting over the USB port. This allows data transfer between devices
and external peripherals.
Accessory mode is a feature of Android OS since version 2.3.4 Gingerbread and 3.1 Honeycomb.
Accessory mode is a feature of Android OS since version 2.3.4 Gingerbread and 3.1 Honeycomb.
Google suggests programming with the ADK using Eclipse and the Android SDK, together with Arduino’s IDE.
Eclipse is a multi-platform development environment. It performs operations
like code prediction, error correction, project storage, and multiple
workspace management.
To develop Android applications, the ADT (Android
Development Tools) plugin is needed on top of Eclipse.
No comments:
Post a Comment