Aplicación Domótica Mediante Arduino Y Programación Android
Total Page:16
File Type:pdf, Size:1020Kb
Aplicación Domótica mediante Arduino y Programación Android TITULACIÓN: Enginyeria Automàtica i Electrònica Industrial AUTOR: Luis Rolin Almagro DIRECTOR: Albert Oller Pujol FECHA: Junio / 2014. Índice 1. Descripción de proyecto ......................................................................................3 2. Arduino ...............................................................................................................4 2.1. Historia .........................................................................................................4 2.2. Hardware ......................................................................................................6 2.3. Arduino Software .........................................................................................9 2.3.1. Arduino Software ....................................................................................9 2.3.2. Concurrency ...........................................................................................9 2.3.3. DK-Basic ................................................................................................9 2.3.4. NanoVM .................................................................................................9 3.3.5 Amforth ...................................................................................................9 3. Android ............................................................................................................. 11 3.1. Historia ....................................................................................................... 11 3.2. Entorno de programación .......................................................................... 14 3.2.1. Eclipse. Java para Android ................................................................... 14 3.2.2. Basic4Android ...................................................................................... 14 3.2.3. Mono para Android .............................................................................. 14 3.2.4. App Inventor ......................................................................................... 15 3.2.5. LiveCode ............................................................................................... 15 4. La Aplicación. DomoAndruino ......................................................................... 18 4.1. La Capa Hardware ..................................................................................... 18 4.2. La Capa Software Arduino ........................................................................ 26 4.3. La Capa Software Android ........................................................................ 28 4.3.1. Librerías Utilizadas ............................................................................... 28 4.3.2. Interfaz Gráfica .................................................................................... 29 4.3.3. Núcleo de la aplicación ......................................................................... 34 4.4. Presupuesto ................................................................................................. 36 5. Conclusiones ...................................................................................................... 37 Anexo A. Bibliografía ........................................................................................... 38 Anexo B. Datasheets .............................................................................................. 39 Anexo C. Esquemático .......................................................................................... 40 Anexo D. Código Arduino .................................................................................... 42 Anexo E. Código Android ..................................................................................... 46 2 1. Descripción de proyecto Las tecnologías de la información y de la comunicación (TIC) son una parte omnipresente y dominante de la vida moderna. El mundo conectado o también conocido como el “internet de las cosas” hace que cada vez tengamos más elementos tecnológicos a nuestro alrededor, y al mismo tiempo conectados a internet, incluso dentro de nuestro propio hogar: ordenadores, teléfonos móviles, televisores y cada vez más, lavadoras, frigoríficos, incluso cepillos de dientes. A la vez, tenemos el creciente interés en el diseño de prototipos hardware basados en la filosofía Do It Yourself (DIY) abanderada por la plataforma de Arduino, que permiten que ingenieros y aficionados a la electrónica puedan llevar a cabo sus proyectos reduciendo el capital a invertir. Además, el desarrollo de aplicaciones para móviles que nos permiten interactuar con dichos elementos, a coste cero gracias a Android y su plataforma de software libre (el cual representa el 72% de los móviles inteligentes vendidos en el mundo), nos llevan a la gestación de este proyecto, que consiste en crear una solución asequible para la monitorización de diversas características de interés a tener en cuenta en un hogar y el control básico de algunas funcionalidades. Para llevar este proyecto a término se ha optado por las dos soluciones mencionadas anteriormente, de hardware y software libre, Arduino y Android respectivamente. En nuestro caso concreto trataremos de monitorizar las siguientes variables comunes en cualquier hogar: • temperatura • humedad • ruido • humo • un sistema de alarma con detector de presencia • control de luces y persianas • control del aire acondicionado y calefacción Además mediante el uso de una cámara IP podemos realizar un control visual del recinto, y gracias a las características de motorización de la cámara y de visión nocturna podremos controlar grandes espacios incluso de noche. Con todas estas características, el objetivo es crear un sistema sencillo, intuitivo y de bajo coste, que a la vez sea robusto y configurable. Primeramente, comentaremos las principales características de las dos plataformas que hemos utilizado, tanto hardware como software, así como las diferentes opciones en el mercado para trabajar con ellas. Más tarde, una vez introducidas las dos plataformas, pasaremos a comentar la aplicación que hemos creado: DomoAndruino, resultado final de este proyecto. 3 2. Arduino Arduino es una placa de bajo coste con microcontrolador que permite incluso a un novato llevar a cabo sus proyectos. Arduino puede ser conectado a todo tipo de sensores, luces, motores y otros dispositivos y utilizar un software, fácil de aprender, para programar la aplicación que correrá en el hardware. 2.1. Historia Lanzado en el 2005 como una modesta herramienta creada por Massimo Banzi, un profesor del Instituto de Diseño Interactivo de Ivrea (IDII) y algunos de sus estudiantes, Arduino ha generado una revolución en la electrónica a nivel internacional del “DIY”. Se puede comprar una placa de Arduino por unos 30€ o construirse una propia desde cero. Todos los esquemas del hardware y código fuente están disponibles de forma gratuita bajo licencias públicas. Como resultado, Arduino se ha convertido en el movimiento del hardware open-source más influyente de su Fig. 1. Logo de Arduino tiempo. Arduino surgió de otro tremendo desafío: cómo enseñar a los estudiantes a crear electrónica, de forma rápida. Era el año 2002 y Banzi, un arquitecto de software, fue traído por el IDII como profesor asociado para promover nuevas formas de hacer diseño interactivo- un campo emergente conocido a veces como informática física. Pero con un presupuesto reducido y tiempo limitado, sus opciones para la técnica eran escasas. Al igual que muchos de sus colegas, Banzi confió en el BASIC Stamp, un microcontrolador creado por la compañía californiana Parallax el cual fue usado por los ingenieros durante casi una década. Codificado con el lenguaje de programación BASIC, el Stamp era como una pequeña placa, que contenía lo esencial: fuente de alimentación, un microcontrolador, memoria y puertos de entradas y salidas para el hardware agregado. Pero Banzi descubrió que el BASIC Stamp tenía dos problemas, no tenía suficiente potencia de computación para alguno de los proyectos que sus estudiantes tenían en mente, y además era un poco caro -una placa más las partes básicas podría costar alrededor de los 100€. Además él necesitaba algo que pudiera funcionar en ordenadores Macintosh, los cuales eran comunes entre los diseñadores del IDII. Por lo que se plateó crear una placa que se adaptase a sus propias necesidades. Banzi y sus colaboradores eran grandes partidarios del software de código abierto, puesto que el propósito era crear una plataforma rápida y de fácil acceso. Otro factor que contribuyó a tomar esta decisión fue que después de cinco años de funcionamiento, el IDII se estaba quedando sin fondos y se temía que podría cerrar sus puertas. El modelo de código abierto se ha utilizado durante mucho tiempo para impulsar la innovación para el campo del software, pero no ha sucedido así con el hardware. Para hacerlo funcionar, tuvieron que encontrar una solución apropiada de licencias que pudiese aplicarse a su proyecto. Después de algunas investigaciones, se dieron cuenta de que si simplemente miraban a su proyecto de manera diferente, se podría utilizar una licencia de Creative Commons, el grupo sin fines de lucro cuyos acuerdos se utilizan normalmente para las obras culturales, como la música y la literatura. 4 La primera placa de prototipo, realizado en 2005, fue un diseño simple, y no fue llamado Arduino aunque Massimo Banzi acuñó el nombre ese mismo año. Fig. 2. Prototipo del primer Arduino Para fabricar