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

Smart TV or Internet TV

In addition to the TV viewing we can run the applications in smart TV .It should be connected with network(Internet).Web based small applications can run.Applications are installed in TV via the Internet (via LAN in the application developing stage , that is called user application).Run the application on Application Engine.I tested the features of Samsung Smart TV 2012 . Application engine actually a dedicated web browser in the smart tv. Applications are web pages (HTML pages,CSS file and Java Script).TV screen is used as the monitor (resolution is 1280x720 or 960x540).Entire screen or part of the screen can be used for the application output.The interfacing/hardware features are based on models of TV. Most of the models having USB,WIFI dongle (dedicated USB port for plug in the dongle),Ethernet LAN,HDMI inputs,DVI input,Component and Composite Video Input, RF input. Keyboard and Mouse can be connected to USB. Mass storage (Pen drive) can be connected as media storage for playing