1.6 Aplicaciones android
1.6.4 Arquitectura
La arquitectura interna de la plataforma Android, está básicamente formada por 4 componentes:
Aplicaciones: Todas las aplicaciones creadas con la plataforma Android, incluirán como base un cliente de email (correo electrónico), calendario, programa de SMS, mapas, navegador, contactos, y algunos otros servicios mínimos. Todas ellas escritas en el lenguaje de programación Java.
Framework de aplicaciones: Todos los desarrolladores de aplicaciones Android, tienen acceso total al código fuente usado en las aplicaciones base. Esto ha sido diseñado de esta forma, para que no se generen cientos de componentes de aplicaciones distintas, que respondan a la misma acción, dando la posibilidad de que los programas sean modificados o reemplazados por cualquier usuario sin tener que empezar a programar sus aplicaciones desde el principio.
Librerías: Android incluye en su base de datos un set de librerías C/C++, que son expuestas a todos los desarrolladores a través del framework de las aplicaciones Android System C library, librerías de medios, librerías de gráficos, 3D, SQlite, etc.
Runtime de android: Android incorpora un set de librerías que aportan la mayor parte de las funcionalidades disponibles en las librerías base del lenguaje de programación Java. La Máquina Virtual está basada en registros, y corre clases compiladas por el compilador de Java que anteriormente han sido transformadas al formato .dex (Dalvik Executable) por la herramienta ''dx''. (MUNDOMANUALES, 2011)
1.6.5 Sistemas operativos
El sistema operativo Android ha ido evolucionado, mostrando diferentes versiones que contiene mejorías. Una de estas versiones fue la optimización de Android 4.0 ICS, pero por supuesto también tiene algunas funciones nuevas. Gracias a la nueva técnica de triple buffering, esta versión de Android se ha convertido en la más rápida hasta el momento.
1.6.6 Lenguajes de programación
Existen varios lenguajes de programación para desarrollar aplicaciones Android, los más utilizados son: Java, C# NET o VisualBasic, Java,C#, C, NET, VisualBasic y una aplicación web con App Inventor.
1.7 APP Inventor
Este tipo de programa nos permite crear aplicaciones de fácil acceso a un dispositivo Android, ya sea un teléfono celular o una Tablet.
Figura 1. Diagrama de diseño del App Inventor.
Fuente: (RIEGO, 2014)
Elaborado por: Fernando Rodríguez
El App Inventor es un servicio web en el cual se puede almacenar trabajos planteados. Es un tipo de aplicación para dispositivos Android y se puede obtener un programa de desarrollo mediante un navegador web y un teléfono móvil o Tablet Android. Se divide en dos partes: la parte de diseño (Figura 1) y diagrama de bloques (Figura 2). La aplicación va apareciendo conforme se va añadiendo elementos a la misma.
Figura 2. Diagrama de bloques del App Inventor.
Fuente: (RIEGO, 2014)
La fase de diseño sirve para construir la interfaz de usuario – elementos de la aplicación. En cambio el diagrama de bloques se basa en definir el comportamiento de los elementos de la aplicación a implementarse. Ahora se cuenta con un navegador que posee este tipo de aplicaciones “Google”. El App Inventor posee las siguientes características: (GUADALINFO, 2011)
Este tipo de aplicaciones es de fácil acceso ya que solo se necesitaría tener una cuenta de google.
De fácil diseño, es decir, el usuario puede crear aplicaciones arrastrando y soltando objetos, por lo que se llama Programación Gráfica.
Utiliza la biblioteca Apertura de bloques de Java, con la finalidad de crear programación visual expresada en diagrama de bloques.
La conversión de los diagramas de bloques a la programación visual para una aplicación Android es mediante el marco de trabajo Kawa y el lenguaje de programación Scheme.
Es compatible con Mac OS X, GNU / Linux y sistemas operativos de Windows.
El navegador es compatible con Mozilla Firefox 3.6 o superior, Apple Safari 5.0 o superior, Google Chrome 4.0 o superior y Microsoft Internet Explorer 7 o superior. Este tipo de aplicaciones se puede instalar en cualquier teléfono y/o Tablet Android.
1.8 Arduino
Arduino es una plataforma de hardware libre, basada en una placa con un microcontrolador y un entorno de desarrollo, diseñada para facilitar el uso de la electrónica en proyectos multidisciplinares.
Arduino puede tomar información del entorno a través de sus entradas analógicas y digitales, puede controlar luces, motores y otros actuadores. El microcontrolador en la placa Arduino se
programa mediante el lenguaje de programación Arduino (basado en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un ordenador. (ARDUINO A, 2014)
1.9 Programa arduino
Este programa es software libre y nos permite realizar acciones como leer las señales de la Tablet u otros dispositivos inteligentes.
El programa contiene un editor textual para que el usuario escriba un código que nos permita controlar los motores, led, display lcd etc. Tiene una barra de herramientas que ayudará a verificación correcta del programa diseñado y subirlo a la placa Arduino. Dispone de una serie de menús como cualquier otro programa. Entre las funciones principales para desarrollo de programas son:
- Verificar: la función es comprobar si existe o no errores en el programa. - Subir: se compila el código de programa y lo carga en la placa Arduino.
- Monitor Serial: se abre una pantalla donde se visualiza la comunicación serial de datos del programa existente. (ARDUINO A, 2014)
Figura 3. Programa Arduino 1.5.7
Fuente: (ARDUINO A. , 2014)
1.10 Tarjeta arduino
Este tipo de tarjetas ayuda a relacionar componentes electrónicos y aplicaciones Android. La tarjeta Arduino Uno posee un microcontrolador Atmega 328 visto en la Figura 4.
Figura 4. Arduino Uno
Fuente: (RIEGO, 2014)
Elaborado por: Fernando Rodríguez
Posee las siguientes características: (ARDUINO, 2014)
Tiene 14 pines digitales de entrada / salida. De los cuales 6 pines se puede utilizar para señales PWM (modulación ancho de pulso). Por lo general, una aplicación de este tipo de señal PWM, se usa para controlar la velocidad de un motor y/o servomotor.
Tiene 6 entradas analógicas.
Un resonador cerámico de 16 Mhz. Posee conexión USB.
Un conector y pines de alimentación. Puede operar con un voltaje de entrada entre 7 a 12 Voltios. El voltaje de operación o de alimentación puede ser 3.3 o 5 Voltios.
Con esta tarjeta podemos comunicarnos de forma serial al computador por medio de un cable USB a serie con los pines Rx = 0 y Tx = 1 y/o mediante la implementación de un módulo bluetooth se puede comunicar el arduino uno de forma inalámbrica. Posee otro tipo de comunicaciones I2C y SPI.
Tiene un monitor serial con el que se puede realizar una simulación del software mediante comunicación serial.
1.11 Bluetooth
Bluetooth es una especificación industrial para Redes Inalámbricas de Área Personal (WPAN) que posibilita la transmisión de voz y datos entre diferentes dispositivos mediante un enlace por radiofrecuencia en la banda ISM de los 2,4 GHz. Los principales objetivos que se pretenden conseguir con esta norma son:
Facilitar las comunicaciones entre equipos móviles. Eliminar los cables y conectores entre éstos.
Ofrecer la posibilidad de crear pequeñas redes inalámbricas y facilitar la sincronización de datos entre equipos personales. (GALVEZ, 2005)