DEPARTAMENTO DE ELECTRÓNICA
Alternativas de Solución
“Sistema de interfaz móvil para dispositivos
electrónicos”
Presentado por: Andres Gerardo Ulloa Schmeisser ROL USM: 201021003-0
Profesor guía: Sr. Agustín J. Gonzales V.
INTRODUCCION
En este documento se realiza una pequeña descripción entra las distintas opciones tecnológicas disponibles para el desarrollo del proyecto basado en la información recopilada en el estado del arte. El sistema de automatización se separa en tres niveles de funcionamiento.
Comunicación: Redes de comunicación a utilizar para los dispositivos que se desean controlar. Depende del hardware a utilizar.
Back-End: Parte del software que administra la comunicación, almacena información de los usuarios y maneja toda la lógica del funcionamiento del sistema de automatización, sirve como puente entre los equipos y el Front-End.
Front-End: Parte del software encargado de presentar la información de manera visual, permite que el usuario pueda administrar y controlar todos los componentes del sistema.
3
OPCIONES DE COMUNICACION
Existen diversas tecnologías de comunicación utilizadas en automatización del hogar, entre las cuales destacan Bluetooth Low-Energy (BLE), ZigBee, WiFi y X10, por su penetración de mercado y facilidad de uso.[2][3][4]
A continuación una breve descripción de cada tecnología.
BLE: Red inalámbrica de área local personal (WPAN), de muy bajo consumo energético, punto a punto, bajo ancho de banda, presente en dispositivos móviles, autos, casas, etc. ZigBee: Conjunto de protocolos basados en el estándar IEEE 802.15.4 de redes
inalámbricas, topología de malla, bajo consumo energético, muy utilizado en múltiples equipos para automatización del hogar como lámparas, cerraduras, interruptores, enchufes, dimmers, etc.
WiFi: Tecnología de comunicación inalámbrica (IEEE 802.11) utilizada ampliamente en redes inalámbricas de área local (WLAN) para acceso a internet en hogares. Topología punto a punto, consumo medio de energía, alta tasa de transferencia de datos, presente en prácticamente todos los teléfonos inteligentes y computadores, algunos televisores e incluso electrodomésticos como refrigeradores de última generación.
X10: Protocolo de automatización de hogar, presente desde 1978. Utiliza la red eléctrica como línea de comunicación. Ampliamente usado y adoptado en sistemas de automatización de hogar y alarma. Presenta algunas limitaciones debido al uso de la red eléctrica como medio de comunicación.
OPCIONES DE SOFTWARE BACK-END
La administración de datos, usuarios, acceso, controles y perfiles del sistema corresponden al Back-End de la solución. Esta capa puede ser implementada de forma local, es decir, en el teléfono del usuario o en un servidor dentro de la misma red. También puede ser implementado en un servidor remoto en internet o de manera mixta, donde parte del software funciona de manera local, pero se sincroniza con los datos del usuario almacenados en la nube.
Opciones de desarrollo:
Back-End local: Existe un servidor en la misma red del usuario, el cual se encarga del control de accesos y de la comunicación entre el usuario y los equipos.
Back-End en la Nube: Las mismas funciones del servidor local son realizadas en un servidor remoto, el cual requiere acceso a internet por parte del usuario y también de los equipos.
Back-End mixto: Existe un servidor local y un servidor remoto. El servidor remoto se encarga de almacenar la información del usuario y configuraciones además de entregar actualizaciones de software para el servidor local y el cliente. El servidor local cumple las funciones de control y comunicación descritas anteriormente, utilizando la información provista por el servidor remoto, permitiendo la administración de actualizaciones y de comunicación. El servidor remoto también permite disponibilidad del sistema de automatización en ausencia de un servidor remoto y de clientes presentes.
5
OPCIONES DE SOFTWARE FRONT-END
La interfaz de usuario puede ser desarrollada de dos formas: nativa o web. La solución nativa requiere la utilización de herramientas específicas para cada sistema operativo móvil (iOS, Android, Windows Mobile) con la ventaja de un mayor rendimiento. Por otro lado, el desarrollo también puede ser hecho utilizando recursos de desarrollo web (HTML5-CSS-JavaScript) con un servidor web o con un compilador multiplataforma [6], lo que permite utilizar el mismo código e interfaz para distintas plataformas. [1]
Nativo: Software desarrollado específicamente para un sistema operativo, ya sea iOS, Android, Windows Phone, Mac OS X, etc. Presenta el mayor rendimiento de aplicación pero tiene una curva de aprendizaje alta y limita el desarrollo para otras plataformas. Web: Desarrollo pensado para que sea visible desde un navegador web o algún cliente
con soporte de HTML para vistas estáticas, CSS para opciones visuales sobre las vistas estáticas y algún lenguaje de scripting como JavaScript para la lógica (en el lado del cliente, recomendado) o PHP (lado servidor).
Web+Nativo: El software desarrollado de esta manera se hace utilizando HTML5, CSS3, y JavaScript, el cual luego es compilado utilizando herramientas como PhoneGap para plataformas específicas (Android, iOS, Windows Phone). Este método permite reutilización de código para distintas plataformas, y una curva de aprendizaje menor.
Bibliografía
[1] Charland, A. a. (2011). Mobile application development: web vs. native.
[2] Lee, J.-S. a.-W.-C. (2007). A comparative study of wireless protocols: Bluetooth, UWB, ZigBee, and Wi-Fi. Industrial Electronics Society, 2007. IECON 2007. 33rd Annual Conference of the IEEE, (págs. 46-51).
[3] Smith, P. (2011). Comparing Low-Power Wireless Technologies.
[4] Withanage, C. a. (2014). A comparison of the popular home automation technologies. En
Innovative Smart Grid Technologies-Asia (ISGT Asia), 2014 IEEE (págs. 600-605). [5] http://www.zigbee.org/zigbee-for-developers/applicationstandards/zigbeehomeautomation/ [6] http://phonegap.com/