Condroid Remote Management - System Architecture & Requirement

835 views
760 views

Published on

Condroid Remote Management - System Architecture & Requirement. Download the document in http://csd.xen.ssvl.kth.se/csdlive/content/remote-management-system-analysis-design

Published in: Technology, News & Politics
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
835
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Condroid Remote Management - System Architecture & Requirement

  1. 1. ! !"#$%"&#()"#"(%&& *+*%"#&!,-.%",%/!"&& 0&!"1/.!"#"(%&& 2"!*.$(&345& 2011 !"#$%&()%*+(,%+-%"( !"#$%&(&#*&.( & ( & Lan Sun (lansun@kth.se), 15 ECTS (((((/#*&.(*01(2"#$%&(#30%"( Hervé Ntareme Qing An (qinga@kth.se), 15 ECTS /#4&#*&.( Michel Hognerud Jun Gao (jungao@kth.se), 15 ECTS /.*+25#0( Laili Aidi (aidi@kth.se), 18 ECTS Björn Pehrson! Yasir Ali (yasireal@kth.se), 15 ECTS SUMMER CSD
  2. 2. Remote Management System Architecture & Requirement V1.3 ! Revision HistoryVersion Date Responsible Change V1.0 2011-07-08 Jun Gao and Laili Aidi Initial version of the document Combining the System Architecture V1.1 2011-07-15 Laili Aidi document and System Requirement document V1.2 2011-07-16 Laili Aidi Adding the detail in section 2 V1.3 2011-10-07 Laili Aidi Cover, Abbreviation, Introduction 2
  3. 3. Remote Management System Architecture & Requirement V1.3 ! ContentsContents .............................................................................................................................................3!Summary.............................................................................................................................................4!Abbreviation.......................................................................................................................................5!1. System Architecture ........................................................................................................................6!2. System Requirement........................................................................................................................7! 2.1 Approaches................................................................................................................................7! 2.2 General Requirement .................................................................................................................7! 2.3 Open-Access Approach Specific Requirement ...........................................................................8! 2.4 ADB Approach Specific Requirement .....................................................................................10! 2.5 Open-Accessories and ADB comparison .................................................................................11!3. References.....................................................................................................................................12! 3
  4. 4. Remote Management System Architecture & Requirement V1.3 ! SummaryThis document describes the System Architecture and System Requirement of the ConDroid in order todevelop and implement a Remote Management interface for WiFi Repeater and Optical Amplifier. 4
  5. 5. Remote Management System Architecture & Requirement V1.3 ! AbbreviationAbbreviations used in this document: Abbreviation Description ADK Access Development Kit ADB Android Debug Bridge HiperTerminal Terminal emulation software for Windows OS Minicom Text-based modem control and terminal emulation program for Unix- like OS UART Universal asynchronous receiver/transmitter TTL Transistor–transistor logic RS232 Recommended Standard 232 WiFi Local Area Network products based on IEEE 802.11 IOIO A USB I/O breakout board for Android Seeduino Arduino compatible board Freeduino Arduino compatible board SMS Short Message Service 5
  6. 6. Remote Management System Architecture & Requirement V1.3 !1. System ArchitectureOne of the Condroid CSD project aim is develop a Remote Management interface in order to support andtroubleshoot the network equipments (WiFi Repeater and Optical amplifier in this project), which make itenable to connect to the network equipments that situated far away in the isolated area.Below is the design of system architecture in order to meet the requirement mentioned above: Figure 1. ConDroid System Architecture designFigure 1 shows that the administrator is far away from the network equipments (which will be WiFi repeater oroptical amplifier in this project). The ConDroid system provides both local control approach (Minicom orHiperTerminal-like console) and remote approach for administrator to manage the network equipments usingcell phones through dialing, short message or the Internet connection. 6
  7. 7. Remote Management System Architecture & Requirement V1.3 !2. System RequirementIn this section, we give a detail description of the components of this system. But the important thing needs tobe clarified here is there are 2 possible ways that we consider to be used to achieve the USB-to-Serialconnection for Android device without the need to develop the driver and change the OS kernel. The firstapproach is by using Open-Access API and the other is by using the Android Debug Bridge. This approachhas similar architecture but create different requirement. This section describes the approaches and then thegeneral requirements of the hardware. After that, there is also description of specific requirement of thehardware based on different approaches and finally we give brief comparison between the approaches.2.1 ApproachesThere are 2 Approaches that are considered to be used in order to solve this requirement:a. Using Open-Access APIThis approach works via Android Open Accessory support, which allows external USB hardware (an AndroidUSB accessory) to interact with an Android-powered device in "accessory" mode [1]. Android USB accessoriesmode specifically designed to attach to Android-powered devices / USB host capable microcontroller (ADK)and adhere to Android accessory protocol / Open Access API that allows them to detect Android-powereddevices.b. Using ADBThis approach uses the USB protocol for debugging applications [4]. It provides useful functionality and allowsthe Android application to listen on a certain port and accept connections from the outside world without aneed to modify the OS. This functionality including file-system access/pushing files to the device, Linux shellaccess, TCP socket, etc.2.2 General RequirementThe hardware requirements of the ConDroid system are described below:a. Android Smart-PhoneBecause this project is aim to develop the software that run above the Android platform, thus the firstcomponent that is needed is an android smart-phone, which will run the ConDroid software. As mentionedearlier in the approaches description, there are some specific requirements for the OS version of this smart-phone, which is depended on the approach and described in the section 2.2 and 2.1. 7
  8. 8. Remote Management System Architecture & Requirement V1.3 !b. USB-to-Serial converter boardNormally, the smart-phone will provide WIFI, Bluetooth and mini or micro USB. To connect to the networkequipment, which provides a serial management interface, we need a converter. Actually, to solve this problem,Bluetooth to serial converter can be used and there are products providing this function. But, Bluetooth is toopower consuming and the smart-phone cannot be charged through the link, which will lead to the power-recharging problem. Since the charging requirement will be easier to deal using the USB connection, thus, wechose this interface.As we chose USB to connect to the equipment, the first thing need to be solved is to convert the USB intoserial interface. If the general USB-to-serial converter is chosen, then we need to provide specific the driver tothe converter in the android OS system, which will then require to recompile the kernel. The IOIO andSeeduino board provide firmware that specifically built for and can be accessed using Java API available in theandroid system, so the smart-phone can connected to the board via USB link.c. Serial Converter CableThe third component in this system is a serial convert cable and it will only be used when the converter boardsprovide different serial interface from the equipments. Normally, the board will provide a TTL (Transistor-Transistor Logic) serial interface. However, the network equipment we aim to connect via Android normallyonly provide the RS232 as the management interface, thus the TTL-to-RS232 cable is needed in order toconnect the serial-converter board. Luckily, the difference between TTL serial and RS232 serial is only theelectronic signal level, so there is no need for a driver for the converting.2.3 Open-Access Approach Specific RequirementBelow are the specific specifications of the hardware in order to be able to use this approach:! Phone: Android phone version 2.3.4 Gingerbread or 3.1 Honeycomb! USB-to-Serial Converter Board: Open Accessories development Kit (ADK) or Android Open Accessory compatible development board. After doing the research, the board that we consider to be used in this research are: 8
  9. 9. Remote Management System Architecture & Requirement V1.3 !a. Seeduino ADK Main Board [2, 3]:Features:• Android ADK compatible, thus it supports Android v2.3.4 and above devices• Backward compatible: It works with Android Debug Bridge (ADB) protocol using MircroBridge firmware, thus it supports Android v1.5 and above devices• It is Arduino Mega 2560 compatible, thus it simply works like an Arduino Mega with an integrated USB Shield• 4 Hardware serial ports (UART) = TTL Serial Port• On board USB host (MAX3421) and On board USB slave (FT232RL)• The board running at 5v/3.3v IO Level selectable• Manual select power source, build-in 5V-1A switched power regulator (input range 6V - 18V) or 3.3V- 500mA LDO power regulators.Limitation:• It only provides TTL serial ports thus we need TTL-to-RS232 converter to connect to RS232 Level Serial interface in the network equipments (WiFi repeater and Optical amplifier).• It uses an SMT version of the main AVR chip, so the chip cannot be replaced or moved to another board.• The next purchasing period is August 2011.Prize:79.90$ and we can customize the board and tell them the specific requirement and quantity we need.b. Freeduino USB Host BoardFeature:• It provides an Arduino-compatible board that supports ADK firmware thus it can connect with any Android phone with the “Accessory mode”• USB hosting via MAX3421 chip• 1.5 A linear regulator• 6-9 volts external power, with 6 volts being ideal• Based on Arduino Uno Boot loader• It provides TxD and RxD (data Input/output for USART)Limitation:• No specification of serial port availibility• Lack of support and documentation 9
  10. 10. Remote Management System Architecture & Requirement V1.3 !Prize:$79.002.4 ADB Approach Specific RequirementBelow are the specific specifications of the hardware in order to be able to use this approach:1. Phone: Android phone version 1.5 Cupcake and above2. USB-To-Serial Converter Board: ADB supported board.After doing the research, the board that we consider to be used in this research is the IOIO Board DEV-10748 [5, 6], an ADB implementation with a solid Java library. It gives the phone direct control over thevarious pins of its PIC24 chip, removing the need for to write our own firmware.Features:• Fully controllable from Android application, using ADB library that provided in SDK API, thus it supports Android v1.5 and above devices• It gives the phone direct control over the various pins of its PIC24 chip, removing the need for to write our own firmware. The firmware code is open-source with a FreeBSD license at [7] and includes secure boot-loader, which enables firmware upgrades to be performed through the Android device• The firmware works with beta version with ADK, thus it supports Android v2.3.4 and above devices, and it is open-source with a FreeBSD license too at [8]. Thus it provides extensive and robust connectivity to an Android device via a USB connection using both ADB and ADK.• The board running at 5V-15V switch-mode regulators through the VIN pin and allows for simultaneous charging of the Android device and powering two standard servos.Limitations:• It only provides TTL serial ports thus we need TTL-to-RS232 converter to connect to RS232 Level Serial interface in the network equipments (WiFi repeater and Optical amplifier).• The devices proven to work are: G1, Nexus One, Nexus S, Motorola Droid X. With other devices there is no guarantee to work. And the ADK support is beta version.Prize:$44.96 10
  11. 11. Remote Management System Architecture & Requirement V1.3 !2.5 Open-Accessories and ADB comparisonOpen-Accessorys main advantages over ADB are:• Better throughput and latency.• Does not require the user to enable USB debugging.• More secure (IOIO takes its own measures to guarantee that the power of ADB cannot be exploited by a malicious firmware).• Allows applications to be notified upon connection of the accessory. The user can choose which application to launch when the accessory connects. This might be doable with ADB too, but IOIO doesnt do that.ADBs main advantages over Open-Accessory are:• Available on broad Android devices version.• Provides useful features, such as file-system access (IOIO uses this for firmware upgrades).• More mature, does not suffer from some problems currently existing in OpenAccessory.• Simpler to work with on the Android application side - just listen on a TCP socket. 11
  12. 12. Remote Management System Architecture & Requirement V1.3 !3. References[1] Android Open Accessory Development Kit http://developer.android.com/guide/topics/usb/adk.html[2] Seeduino ADK Main Board http://www.seeedstudio.com/depot/seeeduino-adk-main-board-p- 846.html[3] Seeduino ADK Main Board - Wiki http://garden.seeedstudio.com/index.php?title=Seeeduino_ADK_Main_Board[4] Android Debug Bridge http://developer.android.com/guide/developing/tools/adb.html[5] IOIO for Android http://www.sparkfun.com/products/10748[6] IOIO over Open-Accessory (ADK) Available http://ytai-mer.blogspot.com/2011/06/ioio-over- openaccessory-adk-available.html[7] Hardware, Software and Firmware of the IOIO project http://codaset.com/ytai/ioio/source/master/tree/firmware[8] IOIO Over Open-Accessory Beta http://codaset.com/ytai/ioio/wiki/IOIO-Over-OpenAccessory-Beta 12

×