ANDROID
Android is an intermediate platform software developed for Mobile hardware by Google lead OHA (open handset alliance).It is a layer of GUI and framework between core operating system Linux and java based application programme.Android provides libraries for easy application development.We can access almost all hardware units available in the Mobile hardware (GPS ,GPRS,WiFi,Bluetooth,Camera,Flash,Screen,Mic,Speaker,etc)with less programming struggle.Google released free Software Development Kit (SDK) with emulator for the application development and testing.
For application development following components are needed:-
The Android ADK is a combination of hardware and software designed to help people interested in designing USB accessories for Android devices(Mobile,Tablet,etc).
ADK board can be used as the Central Control unit and USB host.
Board features:-
Android is an intermediate platform software developed for Mobile hardware by Google lead OHA (open handset alliance).It is a layer of GUI and framework between core operating system Linux and java based application programme.Android provides libraries for easy application development.We can access almost all hardware units available in the Mobile hardware (GPS ,GPRS,WiFi,Bluetooth,Camera,Flash,Screen,Mic,Speaker,etc)with less programming struggle.Google released free Software Development Kit (SDK) with emulator for the application development and testing.
- 2005 Google announced Android
- 2007 OHA formed.
- 2008 T.Mobile G1 produced,
- Android Market for Applications
- Source code of Android is released.
- 2011 May -google Android made its first major/official deviation from the mobile only approach by comming out with Android 3.0 (Honeycomb).custom made for Tablet devices.This aims to use Android system for non-mobile embedded devices.
- Android 3.0 (Honeycomb) is a Tablet optimized Android version.
- Linux as core operating system (low level) version 2.6.3x with 115 patches(provides Process management,Memory management,Security,Networking,Device drivers etc.)
- Libraries -(google's version of libc ,called bionic,Media and Graphics libraries,Lightweight database SQLite
- Run Time -Dalvik Virtual Machine-A separate instance of the DalvikVM is used to execute each Android Application.
- Application Framework-This layer provides a number of services to applications,all implemented as java classes.(views, content providers,notification and Activity managers,resources,etc.)
- Android Application
For application development following components are needed:-
- Java Development Kit (JDK)
- Android SDK
- Eclipse IDE(integrated development environment)
- ADT(android development tools) plugin for Eclipse
- Android platform (ex:- Android 2.3.3 ,Android 4.0 any one depends on your target device)
- Platform tools
Install Java,Android SDK and Eclipse
Major components of Android SDK :-
- SDK manager -with the help of sdk manager Install other Platform packages and platform tools , google USB driver for ADB.
- AVD(android virtual device)manager -open the AVD manager and create Emulator for application development.
- ADB(android debug bridge)-It makes communication between Android device and development system via USB.During development application installing and debugging is done by ADB.
After the development .apk (application package) file will be generated.
Normal application for installing to target device should be signing .This can be done from the Eclipse with plugin tools.
Android for embedded system
In may 2011 google presented Android@Home
They released Android USB Accessory Development Kit (ADK)
This will allow user to develop USB accessory hardware (in USB Host mode) for Android device .
Android device will be in USB accessory mode.Both will communicate through USB.
This is the way now I am using to integrate my Hardware system with Android platform.My microcontroller based dedicated hardware system will communicate with Android through USB.Our hardware side should have USB host system and its protocol stack.Software libraries are provided by ADK.It is based on ARDUINO platform(It is an open source electronics prototyping platform) ADK (atmega 2560) kit available for the development of Android Accessory.
ADK components
Android OpenAccessory Development Kit provides an implementation of an android USB Accessory based on the Arduino hardware platform.
1.ADK package contains:-1.Accessory hardware design files
2.Code that implements the accessory's firmware.
A library based on the Arduino USB Host Shield-it provides the logic for USB
microcontroller board to act as a USB Host.
2.Android application that interacts with the accessory.
ADK components
Android OpenAccessory Development Kit provides an implementation of an android USB Accessory based on the Arduino hardware platform.
1.ADK package contains:-1.Accessory hardware design files
2.Code that implements the accessory's firmware.
A library based on the Arduino USB Host Shield-it provides the logic for USB
microcontroller board to act as a USB Host.
2.Android application that interacts with the accessory.
smartHome Android application |
ANDROID ADK
The Android ADK is a combination of hardware and software designed to help people interested in designing USB accessories for Android devices(Mobile,Tablet,etc).
ADK board can be used as the Central Control unit and USB host.
Board features:-
- PROCESSOR ATmega2560
- GPIO PINS 54 (15 PROVIDE PWM O/P)
- ANALOG PINS 16
- FLASH MEMORY 256 KB (8KB FOR BOOTLOADER)
- SRAM 8KB
- EEPROM 4KB
- CLOCK 16MHz
- USB HOST MAX3421E chip communicate with ATmega2560
- via SPI bus(pin 7,50,51,52)
- USB TO TTL SERIAL CHIP ATmega8U2 For programme loading via
- development PC's USB
The board can be powered with USB(5v) or DC socket (7v)
Freeduino Mega 2560 ADK board |
smartHome
In my smartHome project all the sensors and actuators connected to ADK board(AT mega 2560 microcontroller).Software for the ADK board is developed as Arduino sketch with Arduino IDE..The sketch can be loaded to the ATmega2560's flash memory from IDE..Board having USB serial interface for programme(sketch) uploading and debugging.This USB port can be used as the 5v power source for ADK board,there is an onboard jumper for selecting USB/EXT power. Another USB host in the board used for communicating with Android device(mobile/tablet).USB Communication can be established with Android Open Accessory Protocol.Another Android application installed in Android device which used as front-end
interface for the smartHome project.It's main functions as follows:-
In my smartHome project all the sensors and actuators connected to ADK board(AT mega 2560 microcontroller).Software for the ADK board is developed as Arduino sketch with Arduino IDE..The sketch can be loaded to the ATmega2560's flash memory from IDE..Board having USB serial interface for programme(sketch) uploading and debugging.This USB port can be used as the 5v power source for ADK board,there is an onboard jumper for selecting USB/EXT power. Another USB host in the board used for communicating with Android device(mobile/tablet).USB Communication can be established with Android Open Accessory Protocol.Another Android application installed in Android device which used as front-end
interface for the smartHome project.It's main functions as follows:-
- Internet access for web based remote operation and monitoring
- Bluetooth communication used for inside-home remote application.
- Interfacing with high end devices (Camera,GPS,Mic,Accelerometer,Light sensor,proximity sensor)
- GUI with Touch input (It is a great thing for the embedded system)
- Storage media and database (SD card storage can be used easily. Sql database will help for Data storage and processing.
- Major percentage of processing of over all project done by android application software in the ADK board act as the low level hardware interfacing.
Comments
Post a Comment