Domótica utilizando Arduino y Raspberry pi

Anuncio
Domótica utilizando Arduino y Raspberry pi
Dragomir, Grabiel Iulian; Membrilla Alonso, Jose; Ratleh, Ahmed
IES Penyagolosa. Castellón de la Plana
Fecha de redacción
22 de mayo de 2015
RESUMEN
En esta práctica se intenta demostrar que con poco dinero se puede construir, programar y
obtener datos sobre el estado de una casa automatizada mediante un programa gratuito como
Arduino utilizando la placa de Arduino y Raspberry Pi
Utilizaremos Arduino, Raspberry Pi, varios componentes (Placas, sensores, actuadores y otras
cosas como resistencias), cartón pluma para construir la maqueta de una casa, el modelo de la
cual esta diseñado por nosotros, escritura en código desde el sistema Linux junto con el
programa Arduino que sirve para poder programar la placa microcontroladora. Desde la Raspberry
PI, podemos controlar totalmente la casa y obtener información de los diferentes sensores y
actuadores de la casa desde un dispositivo movil, gracias a la aplicación de OpenHAB. Esta
aplicación esta instalada en la raspberry PI y se comunica a través del escudo Ethernet con
arduino. Gracias a la conexión de la Raspberry PI y arduino con el router, podemos obtener toda
esta información anteriormente mencionada en Internet. Hemos programado el código para cada
uno de los sensores y actuadores por separado y finalmente hemos unido todos esos fragmentos
de código en un único programa que controla todos los sensores y actuadores.
Palabras clave:
Domótica, Arduino, OpenHAB, RaspberryPi, Sensores
ABSTRACT
This practice seeks to show that with little money anyone can build, program and get
information about the status of an automated home using a free program like Arduino using the
Arduino board and a Raspberry Pi microcomputer.
We use Arduino, Raspberry Pi, various components (plates, sensors, actuators and other things
like resistors), foam board to build a model of a house, the model of which is designed by us, write
code from the Linux system with the Arduino program that we use to program the microcontroller.
Since we use the Raspberry PI, we can totally control the house and get information from different
sensors and actuators of the house from a mobile device, thanks to the application of OpenHAB.
This application is installed on the PI raspberry and communicates via the Ethernet shield with
Arduino. By connecting the Raspberry PI and Arduino with the router, we can get all the above
information on the Internet. We have learned the code for each of the sensors and actuators
separately and have finally joined all those snippets into a single program that controls all sensors
and actuators.
Key words:
Home automation, Arduino, OpenHAB, RaspberryPi, Sensors
Índice de contenido
1. OBJETIVOS.......................................................................................................................1
2. MATERIALES....................................................................................................................2
2.1. Placas.............................................................................................................................2
2.2. Sensores........................................................................................................................2
2.3. Actuadores.....................................................................................................................6
2.4. Otros...............................................................................................................................7
3. PROCEDIMIENTO.............................................................................................................8
3.1. Montaje de la maqueta.................................................................................................8
3.2. Montaje del circuito......................................................................................................9
3.3. Programación del código...........................................................................................10
3.4. Raspbian......................................................................................................................11
3.4. OpenHAB.....................................................................................................................12
4. RESULTADOS Y DISCUSIÓN........................................................................................17
4.1 Ventajas.........................................................................................................................17
5. CONCLUSIONES............................................................................................................18
6. REFERENCIAS...............................................................................................................19
WEBGRAFÍA.......................................................................................................................19
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
1. OBJETIVOS
Al realizar este proyecto, hemos fijado los siguientes objetivos:
•
El objetivo principal de este proyecto es construir una casa totalmente
automatizada utilizando sensores, actuadores y las placas de arduino y
raspberry pi. Todo esto unido formará un sistema totalmente coordinado, el cual
funcionara desde la acción de un individuo a través de una página web.
•
Demostrar que se puede construir un sistema de domótica con un presupuesto
muy reducido gracias a la sencillez de los diferentes componentes.
•
Practicar la programación con arduino y el montaje de un circuito electrico.
•
Dar nuevas ideas para futuras construcciones, ya que la estructura de esta
maqueta puede dar diferentes ideas o inspiraciones.
•
Documentar bien el proyecto de forma que se pueda utilizar el trabajo realizado
en algún curso de la asignatura de Informática y/o Tecnología.
Página 1 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
2. MATERIALES
2.1. Placas
Arduino MEGA
•
Microcontrolador
ATmega2560
•
Voltaje
•
Voltaje entrada
5V
(recomendado)
7-12V
•
Voltaje máximo
6-20V
•
Entradas/salidas
digitales
54
•
Entradas analogicas 16
•
Corriente continua
por salida/entrada
•
40 mA
Corriente continua
por la entrada 3.3V
50 mA
•
Memoria flash
256 KB
•
SRAM
8 KB
•
EEPROM
4 KB
•
Velocidad de reloj
16 MHz
Imagen de la placa Arduino MEGA
Escudo Arduino Ethernet
Esta tarjeta permite que una placa Arduino se conecte a Internet. Se basa en el chip
Ethernet Wiznet W5100 que proporciona una red ( IP )con capacidad de TCP y UDP .
Permite hasta cuatro conexiones de socket simultáneas. Debemos utilizar la biblioteca
de Ethernet para escribir programas que se conectan a Internet a través de un
conector RJ45.
La última revisión añade una ranura para tarjetas micro-SD, que puede ser usada
para almacenar archivos. Es compatible con el Arduino Uno y Mega (utilizando la
librería Ethernet ).
Página 2 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Imagen del escudo Ethernet para Arduino
Raspberry Pi B+
SoC
Broadcom BCM2835
•
CPU
ARM 1176JZF-S a 700MHz
•
Juegos de instrucciones
RISC de 32 bits
•
GPU
Broadcom VideoCore IV, OpenGL ES
2.0, MPEG-2 y VC-1 1080p30
H.264/MPEG-4 AVC
•
SDRAM
512 MiB
•
Puertos USB 2.0
4
•
Entradas de vídeo
Conector MIPI CSI
•
Salidas de vídeo
Conector RCA, HDMI, Interfaz DSI para
panel LCD
•
Salidas de audio
Conector de 3.5 mm, HDMI
•
Almacenamiento integrado
Micro SD
•
Conectividad de red
10/100 Ethernet via hub USB
•
Periféricos de bajo nivel
8 x GPIO, SPI, I2C, UART
•
Reloj en tiempo real
Ninguno
•
Consumo energético
600 mA
•
Fuente de alimentación
5V vía Micro USB o GPIO header
•
Dimensiones
85.60mm x 53.98mm
•
Sistemas operativos soportados
GNU/Linux: Debian, Fedora, Arch
Linux, Slackware Linux.
Página 3 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Imagen del microordenador Raspberry Pi
Placa board
Está hecho de dos materiales, un aislante, generalmente un plástico, y un
conductor que conecta los diversos orificios entre sí. Uno de sus usos principales es la
creación y comprobación de prototipos de circuitos electrónicos antes de llegar a la
impresión mecánica del circuito en sistemas de producción comercial.
Imagen de una placa board
Esquema de interconexión de los conductores
2.2. Sensores
Sensor de ultrasonidos
Sensor que detecta a la distancia a la que se encuentra un objeto grácias a que
envía una señal de ultrasonidos y según el tiempo que tarde en volver el sensor
detecta la distancia a la que se encuentra un objeto con un máximo de 50 cm.
Página 4 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Sensor de ultrasonidos
Sensor de CO2 MQ-7
Este pequeño sensor puede medir la concentración del CO en el aire, puede
detectar concentraciones de CO de 20 a 2000 ppm.
Tiene una alta sensibilidad y de respuesta rápida. Proporciona una salida analógica
para que la analices con el arduino de tu preferencia, el circuito es simple, solo
necesitas una resistencia y la alimentación.
Sensor de CO2
Sensor de Gas MQ-5
Este es un sensor muy sencillo de usar, ideal para medir concentraciones de LPG
en el aire. El MQ-7 puede detectar concentraciones desde 10 hasta 10000 ppm.
Este sensor tiene una alta sensibilidad y con un tiempo de respuesta rápido. La
salida es analógica. Lo que necesitas para montarlo es alimentarlo con 5V, añadir una
resistencia y conectar la salida a una entrada ADC de un microcontrolador.
Página 5 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Sensor de gas
LDR
Resistencia que regula su valor dependiendo de la cantidad de luz que haya
en el ambiente.
Imagen de una LDR
PIR
Un sensor PIR es un sensor capaz de detectar movimiento dentro de su rango de
acción. La denominación PIR viene de “Passive Infrared”, de “Pyrolectric” o de “IR
motion”.
El componente principal es un sensor piroeléctrico que detecta niveles de radiación
infraroja. Cualquier cosa emite pequeños niveles de radiación y cuanto más caliente es
algo, más radiación emite.
Página 6 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Fotografía y esquema de funcionamiento de un sensor PIR
Página 7 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
2.3. Actuadores
Servo-motor
Pequeño motor que tiene la posibilidad de moverse en dos direcciones y en
diferentes ángulos, y mantenerse estable en la posición deseada.
Imagen de un servo-motor
LEDs blancos
LEDs que sirven para iluminar.
Imagen de un LED blanco
LED RGB
Este tipo de LED se caracteriza gracias a que puede variar entre el color rojo, verde
y azul y poder crear distintos colores a partir de estos.
Página 8 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Imagen de un LED RGB
Alarma antirrobos
Un simple buzzer que sirve para hacer ruido.
Imagen de un buzzer
2.4. Otros
10 resistencias 220 ohmios
Colores: Rojo, Rojo, Marrón
Cable IDE
El cable IDE (Integrated Drive Electronics) tiene 40 pins cada uno con una
capacidad de 15 bits
Imagen de un cable IDE
Cables MM
Página 9 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Imagen de un conjunto de cables MM
3. PROCEDIMIENTO
3.1. Montaje de la maqueta
Primero hicimos un pedido del material que utilizaríamos para construir la maqueta.
El material se llama cartón pluma y elegimos un color blanco, este cartón es un cartón
muy ligero y al mismo tiempo muy manipulable. En cuanto teníamos el diseño de la
maqueta, trazamos líneas sobre el cartón con un lápiz fácil de borrar con las distintas
medidas de las diversas habitaciones, una vez trazado las lineas comenzamos a cortar
con un cúter, después de haber cortado las diferentes partes de la casa lo lijamos con
papel de lija y finalmente lo pegamos con silicona transparente.
Para los sensores hicimos agujeros en el cartón según el lugar donde pertenezcan
para poder meter los cables y unirlos en la parte de atrás de la maqueta además
dejamos un saliente para poder poner los componentes electrónicos.
Página 10 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Maqueta de la vivienda que queremos automatizar
3.2. Montaje del circuito
Primero compramos una placa Arduino Mega que nos permite tener más entradas
tanto digitales como analógicas con respecto a la Arduino Uno, después con un cable
IDE lo juntamos a una placa board donde hemos hecho todas las conexiones
mediante los cables MM (macho macho).
Para empezar debimos comprobar las entradas y las salidas del cable IDE para
asociarlas y saber cual es cual mediante un polimetro, a continuación conectamos un
extremo en la placa board y el otro en el Arduino Mega. Configuramos un programa
para comprobar que todos los LEDs funcionan junto con una resistencia. Hacemos lo
mismo con los diferentes sensores, actuadores y otros componentes que utilizamos,
pero para algunos sensores como el de ultrasonidos necesitamos buscar su código en
páginas web como la de Arduino.
Una vez ya programamos todos los fragmentos de código y comprobado el
funcionamiento de los componentes por separado, pudimos empezar a conectar todos
los componentes con los diferentes pines del cable IDE que este esta conectado a la
placa Arduino Mega.
A continuación cogimos el Escudo Ethernet y lo unimos a la placa Arduino Mega
acoplándolo encima. Gracias al Escudo Ethernet podemos pasar datos a la red y
comunicarnos con la Raspberry Pi B+. En la Raspberry Pi debimos instalar OpenHAB
y de esta manera conseguimos transmitir datos a la aplicación la cual dispone de una
pagina Web con la cual podemos controlarlo a distancia.
Página 11 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Montaje del circuito y conexión de los sensores y actuadores a arduino
3.3. Programación del código
Para hacer que funcionen todos los sensores de manera correcta buscamos en
Internet los programas de los diferentes componentes y los probamos uno a uno.
Después de hacer esto los unimos todos los fragmentos de programas en un solo
archivo de Arduino.
Página 12 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Imagen que mustra los pasos que hemos seguido
3.4. Raspbian
Para que funcione, necesitamos de un medio de almacenamiento (Raspberry Pi
utiliza tarjetas de memoria microSD), conectarlo a la corriente utilizando cualquier
cargador microUSB de al menos 2000mah, y si lo deseamos, guardarlo todo utilizando
una carcasa para que todo quede a buen recaudo y su apariencia sea más estética.
Nosotros no utilizamos la carcasa y simplemente llevamos cuidado de no crear ningún
cortocircuito entre los conectores.
Dado a que es un microordenador, necesitamos intalar un sistema operativo en la
tarjeta MicroSD. La Raspberry Pi usa mayoritariamente sistemas operativos basados
en el núcleo Linux. Raspbian, una distribución derivada de Debian que está optimizada
para el hardware de Raspberry Pi.
Logotipo de la distribución de Linux Raspbian
Página 13 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
3.4. OpenHAB
OpenHAB es un software desarrollado en Java que pretende integrar múltiples
sistemas de domótica con el fin de automatizar distintas funciones de la casa, como
por ejemplo encender la calefacción o las luces en un determinado momento, o
controlar éstas funciones desde el teléfono móvil.
El software puede ejecutarse en cualquier plataforma que soporte Java 7 o superior.
En OpenHAB pueden integrarse multitud de gadgets/cosas. Además, el proyecto es
opensource y es posible construir soporte para nuevos dispositivos. OpenHAB tiene
múltiples interfaces para controlar los dispositivos que soporta. En las siguientes
imágenes se pueden ver dos de los interfaces.
Vista de la web de OpenHAB desde un navegador
Vista de la app de OpenHAB desde un móvil Android
Página 14 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Desde el punto de vista de la arquitectura, es una aplicación completamente Java
construida sobre el framework OSGI (Equinox). En la siguiente imágen se muestran
los distintos componentes.
Arquitectura de OpenHAB
La comunicación puede realizarse de modo asíncrono a través de un bus de
eventos, o puede haber comunicaciones con estado. En este diagrama se puede ver la
arquitectura general de las comunicaciones.
Página 15 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
Arquitectura general de las comunicaciones
Página 16 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
4. RESULTADOS Y DISCUSIÓN
Hemos creado una maqueta de una casa con materiales baratos y con la misma
función de otros sistemas domóticos comerciales más caros y avanzados.
Automatizar una vivienda puede costar más de 1000 € o incluso supera los 3000 €,
pero utilizando materiales sencillos como el cartón pluma o los sensores digitales,
hemos conseguido nuestro objetivo.
Esta vivienda esta preparada para el uso particular sobretodo de personas
discapacitadas o de personas de tercera edad, los cuales no tienen acceso total a la
manipulación de todos los actuadores o sensores.
4.1 Ventajas
•
El ahorro de energia es muy grande ya que los componentes utilizan corrientes
muy bajas de 5 voltios. Además la instalación del sistema es muchísimo mas
sencilla a otros sistemas.
•
Gracias a este sistema, la seguridad de los habitantes de la vivienda estaran
mas seguros ya que el sensor PIR, o el de ultrasonidos unidos con la alarma
puede alertar de posibles robos.
•
La comodidad de no tener que accionar varios interruptores es bastante
notable, ya que desde un solo dispositivo controlas la casa entera.
Página 17 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
5. CONCLUSIONES
Finalmente hemos acabado este proyecto, gracias a la ayuda de nuestro profesor,
la colaboración de nuestros compañeros y con las clases de programación de arduino
y Raspberry Pi.
Nuestro presupuesto no era muy elevado, sino que rondaba los 110 €, lo cual es
una cifra realmente pequeña comparada con los diferentes y altos precios de los
sistemas domóticos mas avanzados.
Página 18 de 25
El gusto de investigar
Domótica utilizando Arduino y Raspberry pi
6. REFERENCIAS
WEBGRAFÍA
•
Arduino. (2015). Página oficial de ARDUINO. Recuperado 20 de abril de 2015,
desde http://www.arduino.cc/
•
Mecatrónica (2013). Tutorial de Arduino. Recuperado 1 de abril de 2015, desde
http://www.tdrobotica.co/tutoriales/81-arduino-2/345-guia-arduino
•
Raspberry PI foundation. (2015). Página oficial de la Raspberry PI.
Recuperado 21 de abril de 2015, desde https://www.raspberrypi.org/
•
OpenHAB UG. (2015). Página oficial de OpenHUB. Recuperado 10 de abril de
2015, desde http://www.openhab.org/
•
Adafruit. (2015). Página oficial de Adafruit. Recuperado 23 de abril de 2015,
desde http://www.adafruit.com/
•
Electronichamsters (2015). Uber Home Automation w/ Arduino & Pi.
Recuperado 23 de abril de 2015, desde http://www.instructables.com/id/UberHome-Automation-w-Arduino-Pi/
•
Guillenxt.
(2013). SENSOR PIR + ARDUINO: Alarma de Movimiento.
Recuperado
25
de
abril
de
2015,
desde
http://www.guillenxt.com/2012/05/sensor-pir-parallax-y-arduino.html
Página 19 de 25
Descargar