ESCUELA SUPERIOR DE INGENIERÍA MECÁNICA Y ELÉCTRICA
UNIDAD PROFESIONAL “ADOLFO LÓPEZ MATEOS”
INGENIERÍA EN COMUNICACIONES Y ELECTRÓNICA
“
Diseño y Construcción De Un Sistema De Comunicación Vía
Bluetooth
”
PROYECTO TERMINAL
QUE PARA OBTENER EL TÍTULO DE:
INGENIERO EN COMUNICACIONES Y ELECTRÓNICA
PRESENTA:
Oswaldo Rodríguez Pérez
ASESORES:
Dra. Carmen Beatriz Rodríguez Estrello
Ing. Guillermo Santillán Guevara
A mi madre, por estar en los momentos importantes de mi vida, por ser el ejemplo para salir adelante
y por los consejos que me han sido de gran ayuda para mi vida y crecimiento. Gracias por tus
guardias, por tus desvelos, por la dedicación que tienes por todos tus hijos y por confiar en mí al
darme la oportunidad de culminar esta etapa de mi vida.
A l Dr. Vladimir por su apoyo, interés y paciencia para que se llevaran a cabo este proyecto,
Un agradecimiento muy grande a mis asesores de Tesis la Dra. Carmen Beatriz Rodríguez
Estrello y el Ing. Guillermo Santillán Guevara pues ellos fueron los que guiaron este proyecto.
Al INSTITUTO POLITÉCNICO NACIONAL por ser mi segunda casa y
brindarme la oportunidad de formarme y mostrarme el sentido de su lema
“
la técnica al servicio
de la patria
”
Diseño y
Construcción De Un
Sistema De
INTRODUCCIÓN
En los últimos años, los teléfonos móviles han experimentado una gran evolución, desde los primeros equipos grandes y pesados, pensados sólo para hablar por teléfono en cualquier parte, a los últimos modelos, que permiten la comunicación, no solo por voz, sino el envío de datos. Para ello, en los teléfonos actuales se ha utilizado Android, que es un sistema operativo y una plataforma de software libre, basado en Linux para teléfonos móviles. Además, también usan este sistema operativo tablets, netbooks, reproductores de música e incluso PC’s. Android permite programar en un entorno de trabajo para aplicaciones sobre una máquina virtual Dalvik (una variación de la máquina de Java con compilación en tiempo de ejecución). Además, lo que le diferencia de otros sistemas operativos, es que Android es de código libre.
Actualmente existen en el mercado una serie de tecnologías mediante las cuales podemos enviar información o incluso realizar conexiones entre diferentes aparatos electrónicos sin la necesidad del uso de cables, los cuales funcionan de forma eficiente pero su instalación y configuración en ocasiones es bastante engorrosa, tal es el caso del estándar Bluetooth para redes personales inalámbricas
PLANTEAMIENTO DEL PROBLEMA
El monitoreo y control remoto de las casas habitación es un tema de actualidad en aumento constante, la demanda de mejorar la calidad de vida de las personas ha exigido un desarrollo tecnológico continuo. Se han diseñado diferentes elementos que día a día pasan de ser lujos a necesidades.
El control y monitoreo de una casa habitación es una de las necesidades que actualmente se pueden solucionar con redes de área personal, en combinación con el uso de teléfonos celulares.
OBJETIVO GENERAL
Diseñar y construir un sistema de comunicación bidireccional vía Bluetooth entre un microprocesador (sistema de control) y un teléfono inteligente (acceso remoto y local) para monitorear procesos de una casa habitación.
OBJETIVOS PARTICULARES
Con el objetivo de realizar un sistema que permita el monitoreo remoto y/o local, se pretende realizar una conexión simple entre un teléfono inteligente y un microcontrolador mediante la tecnología Bluetooth y Mensajes de Texto. Para ello, es necesario dividir este trabajo en 4 partes fundamentales para el buen entendimiento del mismo:
• Se dará una visión global de la tecnología Bluetooth y cuáles son sus principales características, así como el funcionamiento y la estructura de los elementos que ocuparemos en este trabajo (teléfonos celulares y microcontroladores).
• Se expondrán los conceptos más importantes para la elaboración de una aplicación para Android, se realizará mediante 2 Aplicaciones; la primera realizará una conexión inalámbrica entre teléfono celular inteligente y un microcontrolador vía Bluetooth, para enviar información entre ellos, la segunda Aplicación, a través de la validación de un Mensaje de Texto, mandará señales de control al microcontrolador vía Bluetooth
• Se diseñará un programa para el microcontrolador MSP430 de Texas Instruments, explotando sus principales características y, recopilando todos los datos enviados por los sensores una vez que el usuario así lo requiera.
JUSTIFICACIÓN
A lo largo de los estudios de Ingeniería en Comunicaciones y Electrónica, con especialidad en Comunicaciones se estudian diferentes lenguajes de programación y mecanismos de comunicación, así como el uso de microcontroladores. Actualmente, es factible programar los teléfonos celulares como cualquier PC, lo que nos permite usar un teléfono celular para un número infinito de aplicaciones.
Los microcontroladores están conquistando el mundo, están presentes en nuestro trabajo, en nuestra casa y en nuestra vida, en general. Pero la invasión acaba de comenzar y el nacimiento del siglo XXI será testigo de la conquista masiva de estas diminutas computadoras, que gobernarán la mayor parte de los aparatos que fabricamos y usamos los humanos.
Por otro lado, los dispositivos móviles disponen de diferentes herramientas de comunicación como Bluetooth, 3G, Wi-Fi, herramientas de medición como acelerómetro, giroscopio, barómetro concentrados en un dispositivo que cabe en la palma de la mano; tal es el abanico de posibilidades que en algunas misiones espaciales han sido utilizados como un aparato más de medición.
METODOLOGÍA
La obtención de la información necesaria para la presente investigación es realizada por medio de una investigación en las ciencias de la ingeniería. Se presentan una serie de elementos que vinculan la forma habitual para el monitoreo y control a distancia de una casa habitación. A través del uso de cotidiano de los teléfonos celulares y la amplia gama de conectividad que estos nos permiten, se elige la tecnología Bluetooth como medio de conexión. Gracias a la versatilidad que presentan los microcontroladores y al uso de ellos en la práctica estudiantil, es posible proponer un modelo de conexión mediante un módulo Bluetooth el cual permite una comunicación bidireccional, esta última función marca la pauta para la elección de mecanismos (sensores) que permitan interpretar los diferentes procesos que se llevan a cabo en una casa habitación y así detallar los siguientes bloques definidos.
Realizar una investigación sobre: teléfonos celulares, comunicación Bluetooth, microcontroladores y sensores.
Identificar los componentes idóneos en base a los requerimientos del monitoreo de una casa habitación.
Diseñar una serie de programas que permitan la conexión entre un teléfono celular y un microcontrolador para la obtención de datos y su presentación.
ANTECEDENTES
BeeWi:La compañía BeeWi Simply Wireless se dedica a ofrecer productos con la última tecnología en Wi-Fi y Bluetooth en Europa. Esta compañía tiene un vehículo a escala, copia de un Mini Cooper, controlado por smarthphones (incluye la plataforma Android). La transferencia de datos se lleva a cabo mediante Bluetooth, lo que limita su espacio de trabajo entre 10-15 metros.
Tiene dos formas de controlarlo, la primera es usando la pantalla táctil de manera que mediante presionar la pantalla se indica la dirección y sentido de giro de las llantas. Por su parte; la segunda forma es usando los acelerómetros del teléfono móvil para indicar sentido de giro y dirección (Figura A y B).
Figura A [1]. Figura B [1].
AR.Drone:
La compañía Parrot, se dedica a la creación y desarrollo de dispositivos controlados por teléfonos celulares cuenta con las siguientes certificaciones en calidad: ISO 9001, ISO TS 16949 e ISO 14001. El proyecto a analizar es el AR Drone. Es una cuadricóptero controlado por teléfonos móviles incluyendo plataforma Android. Sin duda alguna es el invento con más tecnología y desarrollo actualmente (Figura C). Los controles y la transmisión de video se llevan a cabo por conexión Wi–Fi, tiene control táctil y de igual forma utilizando los acelerómetros. Para la seguridad del dispositivo se cuenta con una pantalla de emergencia en el celular y sensores de contacto para bloquear las hélices. Cuenta con 2 cámaras, horizontal y vertical con una cobertura de 93º y 64º respectivamente.
Tiene sensores de distancia como el altímetro (6 metros), sensores de posición como los acelerómetros y el girómetro, finalmente cabe mencionar que tiene piloto automático y estabilizador automático también. Sin duda es el producto más completo de nuestros días, la batería es de litio y tiene una duración de 12 minutos en el aire, tiempo razonable tomando en cuenta todo lo que contiene.
Figura C [2]
Índice
INTRODUCCIÓN ... II
PLANTEAMIENTO DEL PROBLEMA ... III
OBJETIVO GENERAL ... IV
OBJETIVOS PARTICULARES... IV
JUSTIFICACIÓN ... V
METODOLOGÍA ... VI
ANTECEDENTES... VII
CAPÍTULO 1 | MARCO TEÓRICO... 2
1.1 Redes De Comunicaciones. ... 2
1.1.1 Redes De Área Personal (PAN). ... 5
1.1.2 Redes De Área Local (LAN). ... 5
1.1.3 Redes De Área Amplia (WAN). ... 6
1.2 La Tecnología Bluetooth. ... 6
1.2.1 Protocolos Utilizados En El Estándar Bluetooth... 9
1.2.2 Canales. ... 10
1.2.3 Trama y Paquete. ... 12
1.2.4 Principios Operativos. ... 14
1.2.5 Modos Bluetooth. ... 16
1.3 Teléfonos Celulares. ... 20
1.3.1 Generaciones De Los Teléfonos Celulares. ... 20
1.3.2 Arquitectura De Los Teléfonos Celulares. ... 22
1.3.3 Sistemas Operativos De Los Teléfonos Celulares... 25
1.3.4 Versiones De Android. ... 28
1.4 Microcontroladores. ... 30
1.4.2 Arquitectura De Los Microcontroladores. ... 31
1.5 Mensajes De Texto. ... 32
1.6 Funcionamiento De Los SMS En Android. ... 33
CAPÍTULO 2 | ESTRUCTURA DEL PROGRAMA EN ANDROID. ... 35
2.1 Android. ... 35
2.2 Plataformas De Desarrollo. ... 35
2.3 Aplicaciones En Android. ... 38
2.3.1 Estructura De Las Aplicaciones Para Android. ... 39
2.3.2 Estructura De Un Proyecto Para Android Con ECLIPSE. ... 40
2.4 Manejo De Bluetooth En Android. ... 42
2.5 Transmisión De Datos Utilizando Bluetooth. ... 44
2.6 Descripción De La Aplicación Realizada En Android. ... 49
2.6.1 Validación De Usuario. ... 52
2.6.2 Comunicación Bluetooth. ... 53
2.6.3 Comunicación Remota. ... 56
2.6.4 Recepción y Procesamiento. ... 57
CAPÍTULO 3 | ESTRUCTURA DEL PROGRAMA EN EL MICROCONTROLADOR. ... 61
3.1 Tarjeta De Desarrollo. ... 61
3.2 Entorno De Desarrollo Para El MSP340. ... 66
3.3 Lenguaje De Programación. ... 68
3.4 Descripción Del Programa Realizado Para El Microcontrolador MSP430 ... 74
CAPÍTULO 4 | IMPLEMENTACIÓN Y PRUEBAS. ... 83
4.1 Sensores. ... 83
4.1.1 Descriptores Estáticos De Un Sensor ... 83
4.1.2 Tipos De Sensores. ... 84
Conclusiones ... 100
Bibliografía ... 102
Glosario de Términos... 104
Glosario de Acrónimos ... 106
Anexo 1 Identificador Base Único Universal (UUID) ... 111
Anexo 2 Código Fuente De Las App´s ... 122
Anexo 3 Programa En Energía ... 135
Anexo 4 Especificaciones De Los Sensores ... 142
C
APÍTULO 1
|
“MARCO
CAPÍTULO 1
|
MARCO TEÓRICO
1.1
Redes De Comunicaciones.
El objetivo de las redes de comunicaciones es ofrecer servicios de transferencia de información entre equipos terminales a través de señales eléctricas. Por lo tanto, los equipos terminales son aquellos elementos de red usados para acceder a los servicios de transferencia de información que ofrece la red [3].
Las redes de información o datos varían en tamaño y capacidad, pero todas las redes tienen cuatro elementos básicos en común:
Protocolos y estándares. Utilizados para regular cómo se envían, direccionan, reciben e interpretan los mensajes.
Los mensajes o unidades de información que viajan de un dispositivo a otro.
La forma de interconectar los dispositivos a través de un medio físico que puede transportar los mensajes de un dispositivo a otro.
Los dispositivos de la red que intercambian mensajes entre sí.
Modelo OSI.
Figura 1.1 Capas del modelo OSI. Las funciones definidas en cada capa son:
Física: Establece las especificaciones para realizar la transmisión, tales como medio de transmisión, conectores, interfaces.
Enlace de datos: Establece los protocolos del control directo de enlaces y acceso al medio.
Red: Especifica los protocolos de conectividad y selección de ruta entre sistemas.
Transporte: Establece los protocolos de conexiones extremo a extremo, detección de fallas y control de flujo.
Sesión: Establece los protocolos de administración y terminación de sesiones entre aplicaciones.
Presentación: Establece la estructura y formato de los datos garantizando que sean legibles.
Las reglamentaciones y los estándares permiten la interoperabilidad de todas las redes existentes. La IEEE es la principal generadora de estándares y son creados en el marco de las reglamentaciones creadas por el FCC (Federal Communications Commission; Comité Federal de Comunicaciones). Estos son algunos estándares de los cuales están integrados las normativas para la interoperabilidad de los medios alámbricos e inalámbricos.
802.1 Definición Internacional de Redes. En este estándar se establece la relación entre los estándares 802 del IEEE y el Modelo de Referencia para Interconexión de Sistemas Abiertos OSI de la ISO (Organización Internacional de Estándares).
802.2 Control de Enlaces Lógicos. Define el protocolo de control de enlaces lógicos (LLC) del IEEE, el cual asegura que los datos sean transmitidos de forma confiable por medio del enlace de comunicación.
La Figura 1.2 muestra los elementos de una red típica, incluyendo dispositivos, medios y servicios unidos por reglas, que trabajan en forma conjunta para enviar mensajes.
CAMBIAR REGLAS POR PROTOCOLOS
La estructura de las redes pueden variar dependiendo de factores como:
• El tamaño del área cubierta.
• La cantidad de usuarios conectados.
• La cantidad y tipos de servicios disponibles.
Dependiendo de estos factores, las redes pueden clasificarse como redes de área local, redes de área amplia y redes de área personal.
1.1.1 Redes De Área Personal (PAN).
La red de área personal es una red para una persona. Su configuración básica está integrada por los dispositivos que están situados en el entorno personal y local del usuario, con un alcance limitado a un par de metros. Permite establecer una comunicación con diferentes dispositivos capaces de proporcionar servicios de intercambio de datos, aplicaciones de control y compartir recursos. Para aumentar la movilidad de los usuarios en la PAN se crearon las redes WPAN (Wireless Personal Area Network, Red Inalámbrica de Área Personal) orientados a dispositivos portátiles, donde el estándar mas conocido es el Bluetooth [5].
1.1.2 Redes De Área Local (LAN).
1.1.3 Redes De Área Amplia (WAN).
Para interconectar las redes LAN separadas por grandes distancias, los proveedores de servicios de telecomunicaciones TSP, operan grandes redes regionales que pueden abarcar largas distancias. Tradicionalmente, los TSP transportan las comunicaciones de voz y de datos en redes separadas; estas redes que conectan las redes LAN en ubicaciones separadas geográficamente que se conocen como redes WAN (Wide Area Network, Redes De Área Amplia). Aunque la organización mantiene todas las políticas y la administración de las redes LAN en ambos extremos de la conexión, las políticas dentro de la red del proveedor del servicio de comunicaciones son controladas por el TSP. Las redes WAN utilizan dispositivos de red diseñados específicamente para realizar las interconexiones entre las redes LAN. Las LAN y
WAN son de mucha utilidad para las organizaciones individuales, conectan a los usuarios dentro de la organización y permiten gran cantidad de formas de comunicación.
1.2
La Tecnología Bluetooth.
Bluetooth empezó a concebirse en Ericsson Mobile Communications AB (Suecia) en 1994 como el efecto colateral de un proyecto sobre enlaces de comunicadores múltiples conectados a la red celular mediante teléfonos. En el año 2002, apareció el grupo de interés en la tecnología Bluetooth SIG (Special Interest Group; Grupo de Interés Especial) en el que aparecían Ericsson, Toshiba, IBM e Intel como empresas promotoras de la tecnología; más tarde se sumaron otros promotores como 3Com, Lucent, Microsoft y Motorola generándose el consorcio Bluetooth; actualmente el Bluetooth SIG cuenta con más de 2000 empresas.
Se basan en kits de desarrollo producidos por la firma inglesa CSG parte de la firma estadounidense Cadence Design Systems a los que se puede acceder a través de Ericsson Microelectronics AB (Suecia), AU System y Sigma ComTec.
Actualmente, para que un producto pueda considerarse que cumple con el estándar Bluetooth tiene que cumplir una serie de protocolos y perfiles.
Los protocolos describen cómo se realizan las tareas básicas como señalización, gestión de enlace y lo que se conoce como SDP (Service Discovery , Descubrimiento de Servicio), determina qué servicios están disponibles desde y a través de otros dispositivos Bluetooth.
Los perfiles describen la forma en que diferentes protocolos y procedimientos básicos funcionan conjuntamente en diferentes productos y aplicaciones Bluetooth, los perfiles están considerados como la primera aproximación en términos de conseguir la interoperabilidad.
Además, se ha creado recientemente el Bluetooth Measurement Initiative (Iniciativa de Medición Bluetooth) dentro del Bluetooth SIG cuyo objetivo es desarrollar hardware y software para las pruebas de interoperabilidad. En la actualidad, Bluetooth es utilizado como un estándar para el desarrollo de redes de área personal (PAN).
En el estándar IEEE 802.15.1 se describe la arquitectura de una WPAN basada en Bluetooth. Este estándar consta solamente de dos capas:, PHY ( Physical Layer ; Capa Física) y las subcapas MAC (Medium Access Control; Control de Acceso al Medio) y LLC (Logical Link Control; Control de Enlace Lógico).
Figura 1.3 Capas del protocolo Bluetooth.
El objetivo del estándar IEEE 802.15 es establecer las bases para permitir la comunicación inalámbrica entre dispositivos en áreas reducidas (concretamente cables de telefonía, auriculares, teclados y ratones) mediante un protocolo de comunicaciones inalámbricas de corta distancia, que opere en la banda libre ISM (Industrial, Científica y Mecánica) de 2.4 GHz y permita la transmisión de voz y datos en rangos de distancia pequeña [7].
Dependiendo de la radiofrecuencia usada, el alcance puede variar desde 1 metro hasta incluso 100 metros.
1.2.1 Protocolos Utilizados En El Estándar Bluetooth.
Los protocolos definidos en el estándar 802.15.1 se describen a continuación:
LMP (Protocolo de Gestión del Enlace): Este protocolo se encarga de labores de
enlace, en este caso, control y configuración, negociación y control del tamaño de los paquetes. Del mismo modo se encarga de tareas de seguridad, como autentificación y encriptación.
HCI (Interfaz de Control de Host): Provee de una interfaz de comandos a la
capa de banda base y del protocolo LMP. En general, ofrece un método uniforme para acceder a las capacidades de los distintos módulos Bluetooth de banda base, que pueden ser muy heterogéneos. De esta forma se abstrae al host de labores dependientes del medio físico y de la tecnología más concreta.
L2CAP (Capa de Adaptación y Control de Enlace Lógico): Esta capa se encarga del
multiplexado de diversas fuentes heterogéneas. Al ser heterogéneas, los paquetes que se reciben de capas superiores pueden ser muy distintos. Así esta capa se encarga de la segmentación y reensamblado eficientes. Por último entre capas L2CAP hay intercambio sobre calidad de servicio (QoS), de forma que se controlan los recursos que se usan y se controla que se cumpla.
Sobre la base que aportan los protocolos anteriores se pueden desarrollar aplicaciones. El objetivo que se plantean los desarrolladores de Bluetooth es que los usuarios tienen que poder disfrutar de las mismas aplicaciones y herramientas con las que han trabajado y que les han dado buenos resultados.
El cambio se produce sin que se aprecien diferencias, de forma transparente, sino más bien por el disfrute de la nueva capacidad inalámbrica que les aporta BT. De esta forma encontramos los siguientes protocolos adoptados:
RFCOMM: Es un conjunto simple de protocolos de transporte , se basa en la idea de ofrecer
los mismos servicios que aporta la comunicación por cable mediante Bluetooth. Sobre la base de L2CAP, se trata de emular puertos serie. Esta es una de las claves del éxito de
PPP, TCP/IP: Son los protocolos clásicos definidos por la IETF en el modelo de Internet.
En este caso se sustentan sobre la base de Bluetooth.
OBEX: Se trata de un protocolo de intercambio de datos, originalmente pensado para
usarse con tecnología infrarroja. Se ha adaptado este protocolo para usarse sobre Bluetooth.
SDP (Protocolo de Descubrimiento de Servicio): Este protocolo no puede
considerarse un protocolo adoptado como tal, ya que permite descubrir los servicios que proporciona un determinado dispositivo Bluetooth. Usando la información que ofrece
SDP, podemos encontrar los servicios y características que brinda, tras el establecimiento del enlace.
HID (Dispositivos de Interfaz Humana): Es una especificación originaria de USB
(Bus Universal en Serie) para controlar dispositivos como teclados, controles de video juego , ratones. Siguiendo con su filosofía, Bluetooth dio soporte a esta tecnología, prestando los mismos servicios. El usuario final no nota la diferencia, salvo por el hecho de que ahora su ratón no tiene cable.
1.2.2 Canales.
La tecnología inalámbrica de Bluetooth proporciona una cobertura de corto alcance que ha sido optimizado para el ahorro de energía, operación adecuada de la batería, tamaño pequeño y para ser utilizada en aparatos personales de bajo peso.
El estándar Bluetooth especifica que una red construida bajo este estándar debe ser capaz de soportar canales síncronos de comunicación para telefonía de voz y canales de comunicación asíncronas para comunicación de datos. Dichas facilidades permiten una amplia gama de aplicaciones y de aparatos que trabajen en una WPAN.
Para solucionar las interferencias Bluetooth utiliza un método de salto de frecuencia pseudo-aleatoria llamado FH/TDD (Frequency Hop/Time-Division Duplex; Salto de Frecuencia/División de Tiempo Dúplex.
Se utiliza un transceptor de FFH (Fast Frequency-Hop; Modulación por Salto de Frecuencia) de 1600 saltos/s y modulación binaria FSK (Frequency Shift Keying; Modulación por Desplazamiento de Frecuencia) para transmitir símbolos con una tasa de 1 símbolo/s.
La técnica del salto de frecuencias, basada en FSK, cuando se combina con una modificación del canal seleccionado dinámicamente, se denomina AFH (Adaptive Frequency Hopping; Salto de Frecuencia Adaptable), y permite reducir las interferencias con otras tecnologías inalámbricas (muy frecuentes en ese rango del espectro, en el que abundan las redes Wi-Fi), aprovechando las frecuencias que presenten mejores características como canal de comunicación en cada momento.
Se utiliza también una trama rápida de TDD (Time Division Duplex; Dúplex por División de Tiempo) para permitir enlaces Full Dúplex en capas superiores. El sistema es dúplex, dividiendo el uso del canal en intervalos temporales de 625 µs llamados slots o ranuras de tiempo, de forma que los paquetes puedan utilizar slots de transmisión y de recepción, de manera alternativa.
Figura 1.4 Ranuras de transmisión y recepción.
En el canal, la información se intercambia a través de paquetes. Cada paquete se transmite en una frecuencia diferente dentro de la secuencia de espera. Un paquete normalmente cubre una sola ranura, pero se puede extender de tres a cuatro ranuras.
Para tráfico de datos, de manera unidireccional es posible transmitir un máximo de 723.2 kbps entre dos dispositivos. El canal asíncrono puede soportar un enlace asimétrico de 721 kbps como máximo en cualquier dirección, mientras que permite 57.6 kbps en la dirección de retorno. También puede soportar un enlace simétrico de 432.4 kbps.
Un canal bidireccional soporta un tráfico de voz entre dos dispositivos con una velocidad de hasta 64 kbps. La inestabilidad para el tráfico de voz se mantiene bajo al usar ranuras de tiempo pequeñas en la transmisión. En países donde la banda está abierta a 80 canales o más, espaciados todos ellos a 1 MHz. Se han definido 79 saltos de portadora, y en aquellos donde la banda es más estrecha se han definido 23 saltos.
1.2.3 Trama y Paquete.
Figura 1.5 - Trama de información.
La mayoría de los paquetes incluyen una cabecera del paquete. El encabezado del paquete está siempre presente en los paquetes transmitidos en los canales con características físicas que soportan los enlaces físicos, comunicaciones lógicas, y enlaces lógicos.
El encabezado del paquete es utilizado por cada dispositivo receptor para determinar si el paquete se dirige al dispositivo y se utiliza para encaminar el paquete internamente, indica el tipo de trama, el tipo de corrección de errores , cuantas ranuras de longitud tiene la trama transmitida, detectar retransmisiones y numerar las tramas. La carga útil del paquete se utiliza para transportar los datos del usuario. La interpretación de estos datos es dependiente de la comunicación lógica. Para las comunicaciones lógicas los mensajes y señales se transportan en la carga del paquete, junto con los datos generales del usuario de las aplicaciones.
Una vez establecidas estas relaciones, se pueden enviar los paquetes de información. Su estructura se compone de un código de acceso de 72 bits, una cabecera de 54 bits con información de control, bits de acceso de dirección, de control de tráfico, de retransmisión, de tipo de paquete, y por último la información como tal, que puede tener una longitud de 0 a 2745 bits, como se ve en la Figura 1.5. El código de acceso revisa cada transmisión, y si un paquete no contiene el código correcto, se rechaza [8].
1.2.4 Principios Operativos.
Cuando dos dispositivos (o más) establecen la conexión mediante Bluetooth, forman lo que se denomina una piconet. Al hacerlo, una de las unidades (la que establece la piconet, normalmente) gestionará el tráfico en el canal, pasando a ser la unidad maestro. El resto se
conectarán a ella, como esclavos. El papel del maestro puede cambiar, siempre y cuando sólo
haya uno en cada momento.
Dado que todas las unidades tienen que sincronizar a la perfección sus retransmisiones para poder “seguir el ritmo de saltos” del canal, es necesario que los esclavos ajusten mediante pequeñas correcciones sus relojes con el reloj del maestro, mientras dure la conexión. El
maestro, por su parte, controlará el tráfico, reservando slots para enlaces síncronos, o sondeando slots convenientes para los enlaces asíncronos, ya que admite ambos tipos de conexiones (de hecho también se consideran los enlaces isócronos, con tasa de envío variable pero temporizados como los síncronos).
En cuanto a la seguridad, hay un nivel de protección integrado directamente en el chip de
radiofrecuencia de los dispositivos Bluetooth, útil cuando se integran en sistemas que no aportan mayor procesamiento de la información.
Especificaciones Bluetooth.
La especificación Bluetooth define un canal de comunicación de máximo 720kbps con un rango óptimo que va de los 10 metros hasta 100 metros. Esta tecnología limita la potencia de salida exactamente al valor necesario. Por ejemplo, si el dispositivo receptor indica que se encuentra a unos pocos metros del transmisor, éste último modifica la fuerza de la señal que emite para ajustarla al valor exacto. Mediante esta tecnología también se puede desplazar el modo de operación a baja potencia cuando se pare el volumen de tráfico o alcance un valor bajo.
Este modo de baja potencia solamente se ve interrumpido por señales muy cortas con el propósito de verificar la conexión establecida. En la Tabla 1 se pueden apreciar las especificaciones técnicas de la tecnología Bluetooth.
Alcance 10 m (0 dBm)
Alcance opcional 100 m (+ 20 dBm) Potencia normal transmitida 0 dBm (1mW)
Potencia opcional transmitida -30 a + 20 dBm (100 mW) Sensibilidad del receptor -70 dBm
Banda de frecuencia 2400 - 2483 MHz
Máxima transferencia de datos Asimétrica: 732.2 kbps Simétrica: 432,6 kbps
[image:29.612.94.505.332.557.2]Máximo número de usuarios Activos: 8 Inactivos: > 200
Tabla 1 Especificaciones Bluetooth.
Conforme los dispositivos han ido modernizándose, cada vez su sensibilidad a la señal es mejor, por lo que es necesaria menos potencia para una correcta comunicación, o, lo que es lo mismo, la distancia máxima efectiva es mayor para una potencia dada (Tabla 2).
Clase Potencia máxima permitida (mW) Alcance(aproximado)
Clase 1 100 mW ~30 metros
Clase 2 2.5 mW ~5-10 metros
Clase 3 1 mW ~1 metro
Tabla 2 Clases del protocolo de comunicación Bluetooth.
En lo referente a la velocidad de transmisión, en la versión 4.0 de Bluetooth ,se alcanzan hasta los 24 Mbps, cantidad muy superior al megabit por segundo de la versión 1 (que, en la práctica, rondaba los 720 kbps).En la versión 2, la mejora de velocidad se alcanza si ésta implementa
EDR, (Enhanced Data Rate, Velocidad de Datos Mejorada), que es una característica opcional
(Tabla 3).
Versión Velocidad
Versión 1.2 1 Mbps
Versión 2.0 EDR 3 Mbps
Versión 3.0 HS 24 Mbps
[image:30.612.205.396.410.550.2]Versión 4.0 24 Mbps
Tabla 3 Velocidades de transmisión del protocolo de comunicación Bluetooth
1.2.5 Modos Bluetooth.
Active. En este modo tanto el maestro como el esclavo participan de forma activa en el canal
escuchando, transmitiendo o recibiendo los paquetes. El maestro y el esclavo están sincronizados.
Sniff. En este modo el esclavo en vez de estar escuchando en cada slot el mensaje del
maestro, revisa algunos periodos de tiempo, ahorrando potencia en aquellos instantes en los que se encuentra “durmiendo”.
Hold. En este modo un dispositivo de forma temporal puede no soportar paquetes e ir a un
modo de baja potencia para que el canal esté disponible.
Park. En este estado es cuando un esclavo no necesita participar en el canal de la piconet pero
todavía quiere permanecer sincronizado con el canal. Si varias piconets tienen áreas de cobertura que se superponen forman una scatternet o red dispersa.
Scatternet. Una red dispersa es un tipo de red que se forma entre dos o más dispositivos con
capacidad Bluetooth, tales como teléfonos inteligentes y electrodomésticos. Una red dispersa se compone de al menos dos piconets, estos dispositivos Bluetooth son unidades de pares que actúan como esclavos o maestros.
Redes dispersas se forman cuando un dispositivo en una piconet, sea un maestroo un esclavo, decide participar como esclavo al maestro de otra piconet. Este dispositivo se convierte
entonces en el puente entre las dos piconets, la conexión de ambas redes; En la Figura 1.6 se muestran los modos de conexión.
[image:31.612.173.460.503.640.2]Para establecer la piconet, la unidad maestro debe conocer la identidad del resto de unidades que están en modo standby (suplente) en su radio de cobertura. El maestro o aquella unidad que inicia la piconet transmite el código de acceso continuamente en periodos de 10 ms, que son recibidas por el resto de unidades que se encuentran en standby.
El tren de 10 ms de códigos de acceso de diferentes saltos de portadora, se transmite repetidamente hasta que el receptor responde o bien se excede el tiempo de respuesta.
Cuando una unidad emisora y una receptora seleccionan la misma portadora de salto, la receptora recibe el código de acceso y devuelve una confirmación de recibo de la señal, es entonces cuando la unidad emisora envía un paquete de datos que contiene su identidad y frecuencia de reloj actual.
Después de que el receptor acepta éste paquete, ajustará su reloj para seleccionar el canal de salto correcto determinado por emisor.
De éste modo se establece una piconet en la que la unidad emisora actúa como maestra y la receptora como esclava.
Después de haber recibido los paquetes de datos con los códigos de acceso, la unidad maestro
Figura 1.7 Estados de una conexión.
Enlace físico.
En la especificación Bluetooth se definen dos tipos de enlace físico:
Enlace de sincronización de conexión orientada (SCO).
• Conexión simétrica punto a punto entre maestro y esclavo.
• El maestro utiliza slots de tiempo reservados a intervalos regulares.
• El maestro puede soportar más de 3 enlaces simultáneos mientras que los esclavos 3 como máximo.
• Los paquetes de configuración nunca son retransmitidos.
• Principalmente este tipo de enlace se utiliza para transmitir información de voz con un radio de transmisión de 64kbps.
Enlace asíncrono de baja conexión (ACL).
• Conexiones simétricas o asimétricas punto-multipunto entre maestro y esclavo.
• Conexión utilizada para la transmisión de datos.
• Se aplica retransmisión de paquetes.
• Se definen para este tipo de conexión los slots 1,3 y 5.
• La máxima velocidad de envío es de 721 kbps en una dirección y 57.6 kbps en la otra [9].
1.3 Teléfonos Celulares.
Se define teléfono móvil o celular como un dispositivo electrónico de comunicación inalámbrica, normalmente de diseño reducido que tiene las mismas funciones que cualquier teléfono de línea fija. Su rasgo característico principal es que se trata de un dispositivo portable e inalámbrico, esto es, que la realización de llamadas no es dependiente de ningún tipo de cableado para llevar a cabo la conexión a la red telefónica. Aunque su principal función es la comunicación de voz, como cualquier otro teléfono convencional, un celular incorpora un conjunto de funciones adicionales, tales como mensajería instantánea, agenda, juegos, cámara fotográfica, acceso a Internet, reproducción de video e incluso GPS y reproductor Mp4.
1.3.1 Generaciones De Los Teléfonos Celulares.
1G: Móviles de Primera Generación.
Los estándares más utilizados para telefonía de primera generación:
• NMT: Nordic Mobile Telephone – Telefonía Móvil Nórdica.
• AMPS: Advanced Mobile Phone System – Sistema Telefónico Móvil Avanzado. 2G: Segunda Generación.
La denominada ”segunda generación” marca el paso de la telefonía analógica a la digital, que permitió, mediante la introducción de una serie de protocolos, la mejora del manejo de llamadas, más enlaces simultáneos en el mismo ancho de banda y la integración de otros servicios adicionales al de la voz, de entre los que destaca el Servicio de Mensajes Cortos
SMS (Short Message Service). Estos protocolos fueron implementados por diversas compañías, siendo este hecho el origen de uno de los principales problemas de esta generación la incompatibilidad entre protocolos, debido a que el radio de utilización del teléfono quedaba limitado al área en el que su compañía le diera soporte.
Estándares más utilizados:
• GSM: Global System for Mobile Communications - Sistema Global para Comunicaciones Movíles
• CDMA: Code Division Multiple Access - Acceso Múltiple por División de Código. • GPRS: General Packet Radio Service - Servicio General de Radio por Paquetes. 3G: Tercera Generación.
El año 2001 fue un año revolucionario en el ámbito de la telefonía móvil, ya que supuso la aparición de los primeros celulares que incorporaban pantalla LCD a color, hecho que habría un inmenso abanico de posibilidades en cuanto a adaptación de nuevas funciones se refiere.
electrónico, descargas, etc.). Todo este conjunto de nuevos servicios integrados en el teléfono celular.
Estándares más utilizados:
• UMTS: Universal Mobile Telecommunications System - Servicios Universales de Comunicaciones Móviles.
4G: Cuarta Generación.
La tecnología 4G implica un cambio radical en la red de comunicación, es posible establecer conexiones a una velocidad de 1Gbps, y obtener transferencias de hasta 100 Mbps; para lograr esas tasas de velocidades, la cuarta generación está basada por completo en IP. Esto hará posible que la convergencia entre los dispositivos móviles y otros equipos, tales como computadoras de escritorio ofrezcan una velocidad de acceso de hasta 100 Mbps. descendente y 50 Mbps en enlace ascendente, siempre manteniendo los estándares de seguridad entre dispositivos. La idea fundamental sobre la que se encuentra basada esta nueva tecnología de comunicación móvil ofrece una de las redes más estables y veloces para la conexión a Internet.
Estándares más utilizados:
• LTE: Long Term Evolution - Evolución a Largo Plazo (Tecnología de banda ancha inalámbrica).
1.3.2 Arquitectura De Los Teléfonos Celulares.
La arquitectura ARM es de las más utilizadas, debido a su gran simplicidad. Los denominados "Smartphone" utilizan microprocesadores con este tipo de arquitectura, así como el iphone de Apple y los equipos con Android ; hoy en día la tecnología ARM se utiliza en más del 95% de los teléfonos móviles del mundo y más de un cuarto de todos los dispositivos electrónicos, los fabrican empresas como Nvidia, Samsung o Qualcomm.
Frente a estos compite Intel con su línea X86, que se venden con el nombre de Intel Atom tanto para móviles como PDAs; estos son más eficientes en cuanto a energía y permiten integrar el chip en dispositivos reducidos que alcancen grandes temperaturas. La arquitectura
ARM se describe generalmente como un conjunto reducido de instrucciones (RISC), ya que incorpora las características típicas de la arquitectura RISC:
Un archivo de registro uniforme de load/store architecture (arquitectura de carga /almacenamiento), donde el procesamiento de datos funciona únicamente en el contenido del registro, no directamente sobre el contenido de la memoria. Simples modos de direccionamiento, con toda la load/store addresses (direcciones de carga / almacenamiento) determina a partir de contenido de los registros y los campos de instrucción.
Mejoras en una arquitectura RISC básicos permiten que los procesadores ARM logren un buen equilibrio de alto rendimiento, el tamaño de código pequeño, bajo consumo de energía y el área pequeña.
Arquitectura ARM.
Las diferentes familias de arquitectura ARM están estandarizadas por un núcleo procesador y periféricos estándares que ayudan a manejar la complejidad y compatibilidad de diferentes sistemas. Según se han ido desarrollando las diferentes familias de la arquitectura ARM como son ARM7, ARM9, ARM10, ARM11, han ido incrementado los adelantos tecnológicos, brindado un incontable número de herramientas para desarrollar proyectos con esta arquitectura.
La mayoría de las compañías electrónicas internacionales han tomado la arquitectura ARM
como el principal instrumento para el adelanto tecnológico, debido a que ofrece un extenso número de productos para el desarrollo de proyectos como; microprocesadores RISC de 16/32 bits, procesador de datos, procesador 3D, librerías digitales, memorias integradas, periféricos, software, herramientas de desarrollo; muchas de las cuales son de libre acceso ( como se muestra en la Figura 1.8). Debido a esto es necesario hacer un estudio de la arquitectura ARM, sus diferentes familias, fabricantes y herramientas de desarrollo para sentar bases teóricas con la finalidad de conocer los beneficios que brinda y poder desarrollar diferentes tipos de aplicaciones de acuerdo con los avances electrónicos que se den en el mundo.
1.3.3 Sistemas Operativos De Los Teléfonos Celulares.
La telefonía móvil cambío el entorno actual de una forma significativa, esta revolución ha impulsado el desarrollo de los nuevos equipos que ofrecen unas capacidades similares a una PC, lo que permite que puedan ser utilizados para leer nuestro correo o navegar por internet.
Pero a diferencia de una PC, un teléfono móvil siempre está en el bolsillo del usuario, y permite el uso de aplicaciones mucho más cercanas al usuario. Para poder manejar estos equipos es necesario el uso de sistemas operativos; los sistemas operativos mas usados son : iPhone,Symbian, Windows Phone, BlackBerry, Palm, Java Mobile Edition, Linux Mobile (LiMo), sin embargo Android presenta una solución con las siguientes cualidades:
Plataforma realmente abierta. Es una plataforma de desarrollo libre basada en Linux y de
código abierto. Una de sus grandes ventajas es que se puede usar el sistema sin pagar regalías.
Adaptable a cualquier tipo de Hardware. Android no ha sido diseñado exclusivamente para
su uso en teléfonos y tabletas. Hoy en día podemos encontrar relojes, cámaras, electrodomésticos y gran variedad de sistemas que se basan en este sistema operativo.
Esté hecho tiene sus evidentes ventajas, pero también va a suponer un esfuerzo adicional al programador.
La aplicación ha de funcionar correctamente en dispositivos con gran variedad de tipos de entrada, pantalla, memoria, etc. Esta característica contrasta con la estrategía de Apple. En iOS tenemos que desarrollar una aplicación para iPhone y otra diferente para iPad.
Portabilidad asegurada. Las aplicaciones finales son desarrolladas en Java lo que nos
asegura que podrán ser ejecutadas en cualquier tipo de CPU, tanto presente como futuro. Esto se consigue gracias al concepto de maquina virtual.
Arquitectura basada en componentes inspirado en internet. Por ejemplo, el diseño de la
Gran cantidad de servicios incorporados. Por ejemplo, la localización basada en tanto GPS
como en redes, bases de datos con SQL, reconocimiento y síntesis de voz, navegador, multimedia, etc.
Filosofía de dispositivo siempre conectado a internet.
Optimizado para baja potencia y poca memoria. Por ejemplo, Android utiliza la Maquina
Virtual Dalvik. Se trata de una implementación de Google a la máquina virtual de Java optimizada para dispositivos móviles.
Alta calidad de gráficos y sonido. Gráficos vectoriales suavizados animaciones inspiradas en
flash, gráficos en 3D basados en OpenGL. Incorpora codecs estándar más comunes de audio y video incluyendo H.264 (AVC), Mp3, AAC.
En la Tabla 4 se muestran las características de los cinco principales sistemas operativos para celulares y en la Figura 1.9 su interfaz gráfica.
Apple iOS 7 Android 4.3 Windows Phone 8.1 BlackBerry 10 Symbian OS 10.1
Compañía Apple Open Handset Alliance
Windows RIM Symbian
Foundation
Núcleo Del SO Mac OS X Linux Windows CE Mobile OS Mobile OS
Familia CPU soportada ARM ARM, MIPS,
Power, X86
ARM ARM ARM
Lenguaje de programación
C++ (POO) Java, C++
(POO)
C++ JAVA C++
Licencia de Software Propietaria Software libre y
abierto
Propietaria Propietaria Software libre
Año de lanzamiento 2013 2013 2013 2013 2012
Motor del navegador web
Web-kit Web-kit Pocket Internet
Explorer
Web-kit Web-kit
Soporte Flash NO SI NO SI SI
HTML5 SI SI Parcial SI NO
Tienda de aplicaciones App Store Google Play Windows
Marketplace Black Berry App Word Ovi Store Numero de aplicaciones
400.000 900.000 50.000 30.000 50.000
Costo por publicar $ 99 / año $ 25 una vez $ 99 / año Sin Costo $ 1 una vez
Plataforma de desarrollo
Mac Windows. Mac,
Linux
Windows Windows, Mac Windows,
Mac, Linux
Interfaz personalizable No SI SI SI SI
Actualizaciones automáticas del S.O.
SI Depende del
fabricante
Depende del fabricante
SI SI
Soporte De Memoria Interna
No SI NO SI SI
Fabricante único SI NO NO SI NO
Variedad de dispositivos
Modelo Único
Muy Alta Baja Baja Muy Alta
1.3.4 Versiones De Android.
El sistema operativo Android, al igual que los propios teléfonos móviles, ha evolucionado rápidamente, acumulando una gran cantidad de versiones:
Cupcake: Android Versión 1.5
Características: Widgets, teclado QWERTY virtual, copiar y pegar, captura de vídeos y poder subirlos a YouTube directamente.
Donut: Android Versión 1.6
Características: Añade a la anterior la mejoría de la interfaz de la cámara, búsqueda por voz, y navegación en Google Maps.
Eclair: Android Versión 2.0, 2.1
Características: Mejoras en Google Maps, salvapantallas animado, incluye zoom digital para la cámara, y un nuevo navegador de internet.
Froyo: Android Versión 2.2.X
Características: Incluye hostpot Wi-Fi, mejora de la memoria, más veloz, Microsoft Exchange y video-llamada.
Ginger Bread: Android Versión 2.3.X
Características: Mejoras del consumo de batería, el soporte de vídeo en línea y el teclado virtual, e incluye soporte para pagos mediante NFC.
Honey Comb: Android Versión 3.X
Características: Mejoras para tablets, soporte Flash y Divx, integra Dolphin, multitarea pudiendo cambiar de aplicación dejando las demás en espera en una columna, widgets y home page
Ice Cream Sandwich: Android Versión 4.0.X
Características: Multiplataforma (tablets, teléfonos móviles y netbooks), barras de estado, pantalla principal con soporte para 3D, widgets redimensionables, soporte usb para teclados, reconocimiento facial y controles para PS3.
Jelly Bean: Android Versión 4.1, 4.2, 4.3
Características: Fluidez de la interfaz de usuario, sincronismo vertical, triple búffer y aumento de la velocidad del procesador al tocar la pantalla. Se mejoran las notificaciones con un sistema de información expandible personalizada. Los widgets de escritorio pueden ajustar su tamaño y hacerse sitio de forma automática al situarlos en el escritorio.
El dictado por voz puede realizarse sin conexión a Internet .Se introducen varias mejoras en Google Search. Se potencia la búsqueda por voz con resultados en forma de ficha. La función Google Now permite utilizar información de posición, agenda y hora en las búsquedas. Se incorporan un nuevo soporte para usuarios internacionales: como texto bidireccional y teclados instalables. Para mejorar la seguridad las aplicaciones son cifradas. También se permite actualizaciones parciales de aplicaciones.
KitKat: Android Versión 4.4
Características: Los componentes principales de Android han sido recortados para reducir sus requerimientos de memoria, y se ha creado una nueva API que permite adaptar el comportamiento de la aplicación en dispositivos con poca memoria.
Más visibles son algunas nuevas características de la interfaz de usuario. El modo de inmersión en pantalla completa oculta todas las interfaces del sistema (barras de navegación y de estado) de tal manera que una aplicación puede aprovechar el tamaño de la pantalla completa. WebViews (componentes de la interfaz de usuario para mostrar las páginas Web) se basa ahora en el software de Crome de Google y por lo tanto puede mostrar contenido basado en
Se facilita el acceso de las aplicaciones a la nube con un nuevo marco de almacenamiento. Este marco incorpora un tipo específico de content provider conocido como document provider, nuevas intenciones para abrir y crear documentos y una ventana de dialogo que permite al usuario seleccionar ficheros. Se incorpora un administrador de impresión para enviar documentos a través de Wi-Fi a una impresora. Se añade un content provider para gestionar los SMS. Desde una perspectiva técnica, hay que destacar la introducción de la nueva máquina virtual ART, que consigue tiempos de ejecución muy superiores a la máquina Dalvik. Sin embargo, todavía está en una etapa experimental. Por defecto se utiliza la máquina virtual de
Dalvik, permitiendo a los programadores activar opcionalmente ART para verificar que sus aplicaciones funcionan correctamente.
1.4
Microcontroladores.
Un microcontrolador es un circuito integrado programable que contiene todos los componentes necesarios para controlar el funcionamiento de una tarea determinada, como el control de un horno microondas, un teclado de computador, un robot, un sistema de alarma, etc. Para esto, el microcontrolador utiliza muy pocos componentes asociados.
Un sistema con microcontrolador debe disponer de una memoria donde se almacena la configuración, sólo sirve para realizar la tarea asignada. La utilización de un microcontrolador en un circuito reduce notablemente el tamaño y número de componentes y en consecuencia, disminuye el número de averías, el volumen y el peso de los equipos, entre otras ventajas.
1.4.1 Tipos De Microcontroladores.
Lo que hace absurdo emplear microcontroladores más potentes y consecuentemente más caros, uno de los sectores que más utiliza el mercado del microcontrolador es el mercado de los teléfonos móviles, de hecho, algunas de las familias de microcontroladores actuales se desarrollaron pensando en este sector, siendo modificadas posteriormente para adaptarse a sistemas más genéricos. También los modernos microcontroladores de 32 bits van afianzando sus posiciones en el mercado, siendo las áreas de más interés el procesamiento de imágenes, las comunicaciones, las aplicaciones militares, los procesos industriales y el control de los dispositivos de almacenamiento masivo de datos.
Existen tres orientaciones en cuanto a la arquitectura y funcionalidad de los procesadores actuales.
CISC: Un gran número de procesadores usados en los microcontroladores están basados en la
filosofía CISC (Computadores de Juego de Instrucciones Complejo). Disponen de más de 80 instrucciones máquina en su repertorio, algunas de las cuales son muy sofisticadas y potentes, requiriendo muchos ciclos para su ejecución. Una ventaja de los procesadores CISC es que ofrecen al programador instrucciones complejas que actúan como macros.
RISC: Tanto la industria de los computadores comerciales como la de los microcontroladores
están tendiendo hacia la filosofía RISC (Computadores de Juego de Instrucciones Reducido). En estos procesadores el repertorio de instrucciones máquina es muy reducido y las instrucciones son simples y, generalmente, se ejecutan en un ciclo. La sencillez y rapidez de las instrucciones permiten optimizar el hardware y el software del procesador.
SISC: En los microcontroladores destinados a aplicaciones muy concretas, el juego de
instrucciones, además de ser reducido, es “específico”, o sea, las instrucciones se adaptan a las necesidades de la aplicación prevista. Esta filosofía se ha bautizado con el nombre de SISC
(Computadores de Juego de Instrucciones Específico).
1.4.2 Arquitectura De Los Microcontroladores.
Un microcontrolador dispone normalmente de los siguientes componentes:
• Memoria RAM para contener los datos.
• Memoria para el programa tipo ROM / PROM / EPROM • Líneas de E/S para comunicarse con el exterior.
• Diversos módulos para el control de periféricos (Temporizadores, Puertas Serie y Paralelo,CAD: Conversores Analógico / Digital, CDA: Conversores Digital / Analógico, etc.). • Generador de impulsos de reloj que sincronizan el funcionamiento de todo el sistema.
Aunque inicialmente todos los microcontroladores adoptaron la arquitectura clásica de Von Neumann, en la actualidad se emplea más la arquitectura Harvard.
La arquitectura de Von Neumann se caracteriza por disponer de una sola memoria principal donde se almacenan datos e instrucciones de forma indistinta. A dicha memoria se accede a través de un sistema de buses único (direcciones, datos y control).
La arquitectura Harvard dispone de dos memorias independientes una, que contiene sólo instrucciones y otra, sólo datos. Ambas disponen de sus respectivos sistemas de buses de acceso y es posible realizar operaciones (lectura o escritura) simultáneamente en ambas memorias
1.5
Mensajes De Texto.
El servicio de mensajes cortos SMS es un servicio que comenzó a ofrecerse con la segunda generación de telefonía celular para almacenar y reenviar cadenas de texto. Un mensaje SMS
es una cadena alfanumérica de hasta 140 caracteres o de 160 caracteres de 8 bits, y cuyo encapsulado incluye una serie de parámetros.
En principio, se emplean para enviar y recibir mensajes de texto normal, pero existen extensiones del protocolo básico que permiten incluir otros tipos de contenido, dar formato a los mensajes o encadenar varios mensajes de texto para permitir mayor longitud (formatos de SMS
MMS o Servicio Multimedia, se refiere a los mensajes de texto que incluyen archivos adjuntos, como fotos, vídeos o imágenes. Aunque utiliza una tecnología diferente a los textos de SMS, puedes enviar y recibir mensajes MMS utilizando la misma aplicación de mensajería.
1.6
Funcionamiento De Los SMS En Android.
Cuando se envía un SMS, el teléfono lo envía primero a un Centro de Servicio de Mensajería Corta o SMSC, que envía una solicitud al registro de posiciones, o HLR, una base de datos de información de teléfonos. El HLR identifica si el teléfono al se está enviando mensajes de texto está disponible o no, y cuál es la red en la que se está actualmente.
Para un teléfono no disponible, el HLR guarda los mensajes hasta que el teléfono se encuentra disponible; para un teléfono disponible, envía una notificación al SMSC. El SMSC envía el texto en un formato , y el teléfono del destinatario recibe una página y responde, luego llega el SMS. Los textos de SMS están limitados a 160 caracteres.
Los dispositivos Android utilizan la aplicación de mensajería por defecto para enviar y recibir mensajes de texto SMS.
Esta aplicación muestra todos los textos que se han enviado o recibido en "hilos", similares a las conversaciones de correo electrónico que se pueden ver en línea.
La aplicación notifica automáticamente en la barra de estado si hay nuevos textos, y también puede sonar o encender un led de notificación, dependiendo de la configuración del equipo en uso.
C
APÍTULO 2
|
“ESTRUCTURA
DEL PROGRAMA EN
CAPÍTULO 2
|
ESTRUCTURA DEL PROGRAMA EN ANDROID.
2.1
Android.
Android es un sistema operativo con un núcleo basado en Linux, diseñado para ser utilizado en dispositivos móviles, aunque se ha empezado a introducir en diferentes dispositivos como televisores, refrigeradores etc. Tras Android hay una alianza de 84 compañías para su desarrollo y mantenimiento llamada Open Handset Alliance liderada por Google y se dedica al desarrollo de estándares abiertos para dispositivos móviles.
Aunque el desarrollo de aplicaciones se podría realizar sobre el propio núcleo en lenguaje C o C++, Android ofrece su propia maquina virtual (Dalvik), que ejecuta programas como si fuese dispositivo móvil real, los procesos que ejecuta están limitados por los recursos y abstracciones; no es posible realizar llamadas telefónicas, utilizar el adaptador Bluetooth de la PC, enviar y recibir mensajes de texto. Cabe señalar que la Dalvik está optimizada para requerir poca memoria y diseñada para ejecutar varios procesos, delegando al núcleo subyacente el soporte de aislamiento entre aplicaciones.
Android es un sistema operativo multiplataforma, libre y gratuito, en el que para programar ó incluirlo en un dispositivo no hay que pagar nada, lo cual ha permitido la creación de una gran comunidad de desarrolladores, en la que no solo se crean nuevas aplicaciones para él, sino que también lo han mejorado mediante nuevas versiones del núcleo encargado de gestionar recursos (Kernel) o del mismo sistema operativo. La ventaja de disponer de un sistema operativo abierto, es manejar una de las herramientas más potentes para el desarrollo de software de forma gratuita.
2.2 Plataformas De Desarrollo.
Esta tarea es realizada por el Android SDK (Software Development Kit, Kit de Desarrollo de Software) que es un conjunto de herramientas de desarrollo de software que permite crear aplicaciones para una versión del sistema en concreto.
Los elementos que intervienen en el desarrollo de aplicaciones en Android son los siguientes:
1. Java
2. Android SDK
3. Android ADT
4. IDE
Java es un lenguaje de programación que se usa para el desarrollo de aplicaciones que mediante software, convierten a un dispositivo en un elemento multitarea.
El SDK de Android es un conjunto de herramientas de desarrollo, comprende un depurador de código, biblioteca, un simulador de teléfono etc.
Android ADT es un controlador diseñado para darle un entorno estable al dispositivo, creando una interfaz de usuario basados en la API (Application Programming Interface, Interfaz de Programación de Aplicaciones) que corresponde a la versión de Android elegida.
Eclipse (Figura 2.1) es uno de los programas que permite el desarrollo de aplicaciones en Android. Eclipse es un programa compuesto por un conjunto de herramientas de programación de código abierto multiplataforma para desarrollar aplicaciones.
El entorno de desarrollo integrado (IDE) de Eclipse emplea manejadores (plugin´s) para proporcionar toda su funcionalidad al frente de la plataforma de desarrollo. Adicionalmente permite usar otros lenguajes de programación como son C o C++ y Python.
Figura 2.1 Logo de Eclipse
Android Studio (Figura 2.2) es un entorno de desarrollo de Android basado en IDE (entorno de desarrollo integrado) que es una aplicación de software que proporciona servicios integrales para el desarrollo de software. Ofrece distintas características y mejoras con respecto a Eclipse, ofrece un sistema de construcción a base del lenguaje específico de dominio (DSL) en lugar del tradicional XML permite construir variantes y generación de APK múltiple, plantillas de apoyo para los servicios de Google, Herramientas para elegir el rendimiento, y compatibilidad de versiones.
NetBeans IDE (Figura 2.3) es el IDE oficial para Java, mediante sus editores de texto , analizadores de código, y convertidores, actualiza de forma más rápida que Android Studio y Eclipse sin problemas las aplicaciones desarrolladas para poder utilizar las nuevas construcciones del lenguaje Java 8, como operaciones funcionales, y las referencias a métodos predefinidos de programación.
Analizadores y convertidores proporcionan la búsqueda a través de múltiples aplicaciones al mismo tiempo, haciendo coincidir los patrones para la conversión a las nuevas construcciones del lenguaje Java 8. NetBeans IDE establece el estándar para el desarrollo de tecnologías de vanguardia gracias a su constante mejora.
Figura 2.3 Logo de NetBeans IDE
2.3
Aplicaciones En Android.
La estructura de las aplicaciones en Android se orienta al usuario o al dispositivo. En cualquier caso, usuario y dispositivo se expresan en un “contexto”, y este último, además, tiene unas características físicas determinadas, ejecuta una u otra versión del sistema.
Las aplicaciones Android se escriben nativamente en Java, las herramientas de su SDK
Los componentes de las aplicaciones son los bloques de construcción esenciales, cada uno es un punto diferente mediante el cual el sistema puede acceder a las aplicaciones, y aunque no todos los componentes son en realidad puntos de acceso a nivel del usuario algunos dependen de los otros (lo que en programación se conoce como hilo), cada uno desempeña un papel en específico. Cada uno sirve para un propósito distinto, por lo que tienen diferentes ciclos de vida que definen la manera en que los mismos son creados y destruidos.
2.3.1 Estructura De Las Aplicaciones Para Android.
En la Figura 2.4 se muestran los componentes de las aplicaciones en Android.
Figura 2.4 Componentes de las aplicaciones en Android.
Actividades: Representa una pantalla con su correspondiente interfaz de usuario.
Vistas: Son los componentes de la interfaz de usuario, donde a través de grupos logran una jerarquía, esto se logra a través de un archivo XML (Extensible Markup Language, Lenguaje de Marcas Extensible) utilizado para almacenar datos en forma legible.
Servicios: Son componentes que ejecutan operaciones en segundo plano y no tienen una interfaz de usuario.
Proveedor de Contenido: Representa la abstracción para almacenar y obtener datos permanentes en aplicaciones diferentes.
Receptores de Difusión: Son componentes que responden a avisos y anuncios de difusión tipo
broadcast. Estos avisos provienen del sistema (batería baja, una llamada entrante, etc.).
Manifiesto: Es el archivo donde se configura la aplicación, contiene la definición de los aspectos principales de la aplicación, su identificación (nombre, versión, icono,) sus componentes (actividades, mensajes,) o los permisos necesarios para su ejecución.
Así cuando se crea una aplicación se debe tener en cuenta las características de los
dispositivos a los que se dirige, tanto en lo relacionado con el hardware como con la
versión de Android que lo controla.
2.3.2 Estructura De Un Proyecto Para Android Con ECLIPSE.
Figura 2.5 Esqueleto de una aplicación.
Carpeta src: Contiene todo el código fuente de la aplicación, código de la interfaz gráfica, clases auxiliares, etc. Inicialmente, Eclipse creará el código básico de la pantalla Actividad principal de la aplicación, siempre bajo la estructura del paquete Java
definido.
Carpeta res: Contiene todos los recursos de imágenes, vídeos, cadenas de texto, etc.