Skip to main content

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.

Comments

Popular posts from this blog

BEAGLE BONE BLACK FOR EMBEDDED APPLICATION

Happy news for embedded developers, with the introduction of BeagleBone Black credit card sized single board 1GHz computer.We can develop high end embedded system with Operating system support in the ARM7 platform.Processor from Texas Instruments AM335x Cortex A8 Sitara . Advantage of this small system is many more ,it will operate on 5V dc supply with 500 MA,so with USB cable connected to 5v source can operate the system.Most of the desktop computer features available with this board.As a standalone system keyboard and mouse can be connected with USB.Out put display available at micro HDMI port,that can be connected to any latest TV with HDMI input.LAN port is provided for network access.USB device(slave) port also available for connecting with PC,the board will act as storage device.Same time there is an internet pass-through via USB.For the starting of development some startup file provided in the eMMC (on board flash memmory 2GB),by opening the file it will direct to beagleb

Interfacing Circuit for Microcontroller

1. LED 2. SWITCH 3. RELAY interfacing 4.-IC-ULN2803 (switching transistor package for driving components like Relay,Buzzer,etc from       Microcontroller) 5.GPS Module (3.3volt)-interfacing circuit for 3.3v microcontroller 433MHz RF Transmitter for communication(DATA IN is the serial data input) 433MHz RF Receiver(It will receive the signal and give the serial  data output) AT89C51 microcontroller-RESET and CLOCK (Xtal) connection Interfacing Loud Speaker with Microcontroller Port pin Interfacing Relays with Microcontroller through ULN2803(switching transister pack IC as Driver for relay coil) LCD -(16 characters X 2 lines )interfacing with PIC microcontroller(4bit data mode) Pin details of  IC7805-powersupply regulator, Transistor BC337,LM335