Tuesday, January 8, 2013

ANDROID AND EMBEDDED SYSTEM

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.
  • 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.
Android system consists essentially of five software layers.

  1. Linux as core operating system (low level) version 2.6.3x with 115 patches(provides Process management,Memory management,Security,Networking,Device drivers etc.)
  2. Libraries -(google's version of libc ,called bionic,Media and Graphics libraries,Lightweight database SQLite
  3. Run Time -Dalvik Virtual Machine-A separate instance of the DalvikVM is used to execute each Android Application.
  4. 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.)
  5. Android Application

For application development following components are needed:-

  1. Java Development Kit (JDK)
  2. Android SDK
  3. Eclipse IDE(integrated development environment)
  4. ADT(android development tools) plugin for Eclipse
  5. Android platform (ex:- Android 2.3.3 ,Android 4.0 any one depends on your target device)
  6. Platform tools
Install Java,Android SDK and Eclipse

Major components of Android SDK :-
  1. SDK manager -with the help of sdk manager Install other Platform packages and platform tools , google USB driver for ADB.
  2. AVD(android virtual device)manager -open the AVD manager and create Emulator for application development.
  3. 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.


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:-

  • 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.

2 comments:

  1. Thanks your blog is awesome.
    Videocon offers one of the best prepaid service in Gujrat.

    ReplyDelete
  2. USB Cable Manufacturers And Suppliers

    Mandeep cables are the best Manufacturers and Suppliers, engaged in offering USB Cables at very low prices and Micro USB to USB with 1 Amp, 2 Amp fast Charging and high Speed data transmission. Today is supply best quality USB cables manufacturers and suppliers and very low prices. call us 91-9899000668.

    ReplyDelete