Electronic Training Board for Mobile Applications
Total Page:16
File Type:pdf, Size:1020Kb
ELECTRONIC TRAINING BOARD FOR MOBILE APPLICATIONS BASED ON ANDROID OPERATING SYSTEM. Edgar A. Maya, Byron R. Valenzuela Abstract - This paper provides information on LED's, digital analog converters, matrix the design and implementation of an electronic keyboard, LCD 16x2, switches, matrix trainer for mobile devices based on the Android operating system, this system includes several LEDs, buzzer, communication: Serial, devices such as LEDs, switches, buzzer, relay, pWM, I2C, Xbee, Bluetooth, GPS, Wi-fi display's, temperature sensors and modules communication as GPS, Wi-Fi, Xbee, I2C, to make and temperature sensor module. Thus applications with the mobile and trainer. promoting the technological development of the education and growth of knowledge Index Terms - Android, GPS, Wi-fi, Xbee, I2C by students. I. INTRODUCTION II. BASICS CONCEPTS The growth of technology and the great A. What is IOIO? reception of mobile based on Android operating system have made that development of a trainer for students of Engineering in Electronics and Communication Networks Universidad Tecnica del Norte, with which the same may make multiple applications based on mobile terminals with Android operating system and interact with the various Figure 1. IOIO board peripherals with the trainer account. Reference: Simon Monk (2012). Making Android Accessories with IOIO This research document received on 12 October 2014 was IOIO is a board specially designed and conducted as a preliminary project for the professional degree manufactured to work with mobile devices in Engineering in Electronics and Communication Network Engineering, Faculty of Applied Science (FICA) of the based on the Android operating system “Universidad Tecnica Del Norte” from version 1.5 (Donout) to the current E. A. Maya works at the Universidad Tecnica Del Norte, in the version of Android is version 4.1 School of Engineering in Electronics and Communication Networks, July 17th Av The Olivo, Ibarra-Ecuador (Tel: 5936- 2955-413, e-mail:. Eamaya @ utn .edu.ec). Connectivity to the mobile device can be performed by connecting the USB cable B. R. Valenzuela, a graduate of the School of Electrical Engineering and Communication Networks (Phone: 5936-2604- or via Bluetooth; IOIO contains a PIC 664, e-mail: [email protected]). microcontroller that interprets the code of The modules and peripherals that the the Android app, and allows you to interact student will have available for to make with the different modules that are counted applications are: digital input / output, as: Digital Input / Output, PWM, analog- Charge current trimer (CHG). - Use to digital converters, I2C, SPI, UART. adjust the amount of current supplied to the USB VBUS line. B. Characteristics and structure of the IOIO board Input and output pins.- The input and The IOIO board weight 13gr., 6,8cm output pins of IOIO, are used to connect long by 3cm wide, physically has 55 pins, external circuits to the various is powered by an external source between interfaces of the board, all the IOIO the GND and Vin pin has a micro USB board pins can be used as digital inputs socket for which connected with an adapter and outputs of 3.3V. cable to the Android mobile device, has two LEDs, one LED indicates when the board is o Pines and surrounded by a square, powered and the other if the board could can be used as analog inputs 3.3V connect to the Android device. o Pines or circled, can be used as inputs and digital outputs to 5V IOIO contains a PIC microcontroller tolerant. family 24FJ128DA210, which is a 16-bit microcontroller which work as a host which C. Connecting the IOIO board receives instructions from the Android The IOIO integrates a firmware that application installed on the mobile device. enables communication between mobile This microcontroller has a modified Android and plaque, this firmware is Harvard architecture, 8MHz internal divided into two programs both are stored oscillator and allows a current of 20mA in the flash memory of the microcontroller, input and output on all ports. the programs are "application" and "boot The IOIO board contains the following loader (bootloader) ". pins and components: The bootloader is the first program that Micro USB connector (type A). - Micro runs when the IOIO this firmware restarts USB socket used to connect the mobile establishes communication between the Android. board and the mobile Android, checks GND Pins (9-pin). - Pines grounding. whether the written application code if so is VIN Pines. (3 pin). - Pines supply of it running otherwise remains pending. IOIO, the supply voltage range from 5V Applying this firmware communicates with to 15V. various libraries containing IOIOLib 5V Pines (3 pin) is used output. - 5V; it control pins and internal modules. can also be used as 5V supply. Both wired communication such as Pines 3.3V (3 pin). - Output pins are Bluetooth creates a socket for transferring 3.3V. data and commands between the Android MCLR pin (1 pin). - This pin is only device and the IOIO board. used for updating firmware. Power led. - Led lights when the IOIO is fed. D. What is Android? Stat led. - Led lights when the IOIO Android is an operating system for connects to the mobile device. mobile devices like iOS, Symbian or Blackberry OS, initially developed by important to have this pack always Android Inc. in 2003 and later purchased by updated, is located in <SDK> / tools /. Google in 2005, based on the Linux kernel 2.6.0, which is responsible for manage Documentation. aspects such as security, memory A copy of the final documentation for management, processes, networking and the Android platform APIs is in <SDK> driver model (drivers). / docs /. Android allows you to develop SDK platform tools. applications using the SDK (Software They are dependent on platform tools Development Kit), applications that can necessary for developing and take advantage of the various functions of debugging the application, is updated the mobile terminal such as GPS, camera, when a new platform appears, is located contacts, accelerometer, calls, etc. in <SDK> / platform-tools /. The programming language used to create applications for Android is Java, SDK Platform. with the Linux kernel works Dalvik is a There is a platform available for each Java virtual machine that runs on top of the version of Android, android.jar includes core system and allows running a package containing all the libraries for applications. application creation. To build the Android application should declare that platform will create the application. It is E. Foundations for Android application located in <SDK> / platforms / development <android-version> /. Android applications are written in the Java programming language. The compiled Sources for Android SDK. Java application, along with all the files that It is a copy of the source code of the are part of the application after being Android platform, it is useful to step compiled code in a package with the .apk through the code while debugging the extension that is to be installed in the application. It is located in <SDK> / mobile terminal Android. sources /. Android SDK Android SDK provides a number of Samples for SDK. tools and API libraries required for creating Sample applications that can guide in and debugging Android applications; building the Android application. consists of several packets, then each Located in <SDK> / platforms / described them. <android-version> / samples /. SDK Tools. Google APIs. This package contains all necessary An additional SDK that provides a information for debugging and Android platform that can be used to develop an application testing tools, it is very application using the Google APIs, Google APIs are used to create applications that need the service Virtual Device (AVD), this mimics all the location. features of hardware and software of a real mobile device and allows you to check the Support Android. performance of Android applications It is a library that can be added to the without the need for a real team. application and allows use APIs that are not in the standard platform. <SDK> / extras / android / support /. Google play billing. Provides libraries that integrate billing services application with Google play. <SDK> / extras / google / Licencing Google play. It provides libraries and examples to Figure 3. Interface of an Android Virtual Device (AVD) carry out the verification of the license Reference: Prepared by Byron Valenzuela. Based on the AVD. application, when it is distributed in Google play. <SDK> / extras / google /. F. Android Project structure SDK Manager An Android project is basically The SDK manager shows the packages composed by a descriptor that need updating, they are available, or (AndroidManifest.xml), the Java source already installed the folders are separates code files and a number of resources. Each them into tools, platforms and other element is stored in a specific folder, as components to facilitate the discharge. shown in the following figure. Figure 2. Main Screen Android SDK Manager Reference: Prepared by Byron Valenzuela. Based on the SDK Manager Figure 4. Content of an Android project Reference: Retrieved http://www.androidcurso.com/index.php/recursos- Android virtual device (AVD) didacticos/tutoriales-android/31-unidad-1-vision-general- The Android SDK includes a virtual y-entorno-de-desarrollo/148-elementos-de-un-proyecto- android. mobile device emulator called Android src AndroidManifest.xml This folder contains all the application This file