Domótica para todos II
-
Upload
carles-llobet -
Category
Documents
-
view
219 -
download
0
Transcript of Domótica para todos II
-
7/30/2019 Domtica para todos II
1/29
Trabajo de investigacin en el mbito de investigacin tecnolgica
Autor: Carles Llobet Pons
Curso acadmico: 2 Batxillerat A
-
7/30/2019 Domtica para todos II
2/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 2 | Domtica
ndice1. Introduccin .............................................................................................................. 3
1.1 Objetivos ............................................................................................................. 3
1.2.1 Gua .............................................................................................................. 3
1.2.2 Com lo haremos? .......................................................................................... 3
1.2.4 Qu necesito? ............................................................................................... 4
1.2.5 Qu necesitar el lector per automatizar su hogar? ...................................... 4
2. Historia del proyecto ................................................................................................. 5
2.1 Transcurso del proyecto ...................................................................................... 52.1.1 Aprendizaje .................................................................................................. 5
2.1.2 Conexin entre Arduino y Processing............................................................ 6
2.1.3 Primeros programas ..................................................................................... 6
2.1.4 Primeras pruebas con Bluetooth................................................................... 6
2.1.5 Adaptar programas ....................................................................................... 7
2.1.6 Programar actuadores y sensores ................................................................. 7
2.2 Problemas y dificultades comunes....................................................................... 8
3. Gua para la realizacin ............................................................................................. 9
3.1 Programacin ...................................................................................................... 9
3.1.1 Fusin de programas Processing ................................................................... 9
3.1.2 Programa Arduino ........................................................................................ 9
4.Conclusiones ............................................................................................................ 10
4.1 Opinin del trabajo ........................................................................................... 10
4.2 Posibles mejoras................................................................................................ 10
5.Anexo....................................................................................................................... 11
5.1 Elementos utilizados ......................................................................................... 11
5.1.2 Programas: ................................................................................................. 11
5.1.2 Dispositivos ................................................................................................ 11
5.3 Programa .......................................................................................................... 12
6.Bibliografa ............................................................................................................... 29
6.1 Pgines web ...................................................................................................... 29
6.2 Agracedimientos a los asesores ......................................................................... 29
-
7/30/2019 Domtica para todos II
3/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 3 | Domtica
1. Introduccin
1.1 Objetivos
En esta memoria dividiremos el programa que previamente habamos hecho en el
fascculo anterior Domtica para todos: Configura la automatizacin de los elementos
del hogar en dos programas diferentes, uno que corresponder a la placa Arduino y
qu ha de hacer cuando recibe las rdenes, y otro en la interfaz grfica que crearemos
para podernos deshacer de la librera Firmata que habamos utilizado previamente y
poder crear la misma aplicacin pero para dispositivos Android.
1.2.1 Gua
Otra vez aprovecharemos la idea de crear una gua para que cualquier persona sea
capaz de crear sus propia aplicacin para Android y as poder mejorar la instalacin
que construy con nuestra anterior gua.
1.2.2 Como lo haremos?
Lo primero que haremos ser dividir el programa que ya tenamos (el del ordenador)
en dos partes, Arduino y Processing, para familiarizarnos con cmo trabajamos estos
dos programas envindose datos a travs del puerto serie. Una vez hacho esto,
crearemos una aplicacin sencilla para Android para ver como programar en nuestro
dispositivo mvil, y despus otra aplicacin, no tan sencilla, con la programaremos
nuestro telfono con una aplicacin que nos permita controlar el Bluetooth de nuestro
dispositivo para posteriormente controlar la casa a travs del Bluetooth.
-
7/30/2019 Domtica para todos II
4/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 4 | Domtica
1.2.4 Qu necesito?
Conocimientos
En esta continuacin del proyecto necesitar conocimientos de cmo Java programa
con otros Developement Kit como el de Android para poder hacer mi aplicacin para
Android. Necesitar tambin conocimientos de redes Bluetooth y de como trabajar
con el puerto serie para enviar o recibir datos.Materiales
En este proyecto quiero hacer la versin ms econmica posible, igual que en el
anterior, para que cualquier persona pueda seguirlo. Si alguien dispusiera de ms
presupuesto podra ampliar perfectamente su hogar aplicando el Bluetooth a ms
dispositivos.
1.2.5 Qu necesitar el lector per automatizar su hogar?
Conocimientos
La gua estar enfocada a que el lector pueda hacerlo por si mismo, es decir que si el
lector ya sigui la gua anterior, no tendr ningn problema en seguir esta para
mejorar su hogar y poderlo controlar remotamente desde cualquier punto de la casa
con un dispositivo que cabe en el bolsillo.
Materiales
Este proyecto tiene infinidad de posibilidades, igual que el anterior, as que
dependiendo de como se hiciese el proyecto anterior, en ste necesitar ms o menos
materiales. De todas formas si quieren programar los mismos dispositivos que yo, para
hacer esta mejora slo necesitar un mdulo Bluetooth (especificado en los anexos), y
un dispositivo mvil con sistema operativo Android con posibilidad de utilizar
Bluetooth.
-
7/30/2019 Domtica para todos II
5/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 5 | Domtica
2. Historia del proyecto
2.1 Transcurso del proyecto
2.1.1 Aprendizaje
Al principio, como en el proyecto anterior, no sabia por dnde empezar, por lo que
comenc a mirar proyectos en foros a ver que encontraba, hasta que empec a
entender qu es lo que tendra que hacer. Lo primero era instalar la API de Android
(Android Developement Kit) llamada Android SDK (Software Developement Kit)
Manager, que nos permitira aadir a nuestro IDE (Processing) las funciones necesarias
para programar. Por suerte, como Processing es una IDE basada en Java y los Android
tambin trabajan con Java, Processing tiene una funcin especfica para programar con
Android una vez descargadas las API necesarias.
As que fui a la pgina web de Processing para Android (pgina web nm. 5 de la
bibliografa) y me descargu la API de Android (Android SDK Manager):
-
7/30/2019 Domtica para todos II
6/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 6 | Domtica
2.1.2 Conexin entre Arduino y Processing
Una vez me hube instalado las API necesarias para mi dispositivo (en el apartado 2.2
explico cuales son) mir como tendra que conectar un sketch de Processing con uno
de Arduino. Para practicar, intent traducir mi programa para PC hecho con la librera
Firmata al mismo programa pero utilizando los 2 programas y el puerto serie. Cuando
lo consegu quise empezar a programar para Android.
2.1.3 Primeros programas
Para los primeros Sketch reutilic cdigos de otros proyectos como el de la pgina web
1 de la bibliografa, pero modificndolos para adaptarlos a mi Samsung Galaxy S3 Mini.
Tena que instalar diferentes APIs y
cambiar configuraciones del IDE
Processing para conseguir crear un
cuadrado que girase all donde yo lo
tocaba. Prob de instalar un emulador del
telfono mvil, pero tardaba mucho en
cargar y opt por arriesgarme a hacer
todas las pruebas con mi propio telfono.
2.1.4 Primeras pruebas con Bluetooth
Programar el dispositivo con Bluetooth ya era un mundo aparte. Tena que
interconectar el telfono con la placa y lo vea extremadamente complejo. A pesar de
ello, encontr una pgina web que estaba bastante bien explicada (Pgina nm. 2 de la
bibliografa) donde trabajaban con Processing, Android y Arduino. Prob de ejecutar la
aplicacin en mi dispositivo copiando el cdigo directamente pero daba un error en el
que me qued estancado durante dos semanas. Una vez solucionado (lo explico en el
apartado 2.2) y viendo que funcionaba correctamente el Bluetooth, empec a
aprovechar los conceptos de conexin Bluetooth para implantarlos en mi programa.
-
7/30/2019 Domtica para todos II
7/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 7 | Domtica
2.1.5 Adaptar programas
Ahora ya saba como tena que conectar el Bluetooth y como crear varias pantallas
case para mostrar primero los dispositivos Bluetooth disponibles y actuar en funcin
de ellos. Fui juntando poco a poco los dos programas, aadiendo libreras, moviendo
lneas de programa, etc. ....
Una vez el programa estaba listo para ser probado, cog el mismo programa de
Arduino que usaba el autor del post de la pgina mencionada y lo modifiqu para
adaptarlo a mi placa. Finalmente prob los dos programas y tras unos cuantos
retoques, consegu que me mostrara el men con todos mis dispositivos vinculado, y
cuando presionaba sobre el dispositivo Bluetooth de la placa Arduino, me mostraba mi
plano con los botones cambiando de rojo a verde al presionarlo y al revs.
2.1.6 Programar actuadores y sensores
Finalmente solo faltaba que adems de cambiar de color, enviase una orden a la placa
va Bluetooth que hiciese encender una u otra salida. Despus prob con diversas
funciones como serial.write, port.write, etc., y acab encontrando la correcta en
un foro de internet (ver bibliografa). Para conseguirlo tena que llamar a una funcin
socket.connect(); que nos permitira hacer un socket.getOutputStream(); para
encender o apagar un Output. Para ms comodidad lo incluimos en una variable
llamada ons.
Cuando en el programa clicsemos encima de un botn, intentara enviar este
OutputStream a travs del socket, y en caso de fallo enviara un error.
Para las salidas utilizamos la funcin socket.getInputStream(); que incluimos en la
variable ins. Todo esto, claro, adaptndolo a nuestro programa como veremos en el
apartado 5.3.
-
7/30/2019 Domtica para todos II
8/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 8 | Domtica
2.2 Problemas i dificultades comunes
Al empezar a programar comenzaron a surgir, como siempre acostumbra a pasar al
programar, problemas que no tenan explicacin aparentemente. Aqu os los
explicaremos para que no tropecis con la misma piedra, y con la solucin
correspondiente adjunta al mismo nmero:
Problemas:
1. El primer problema que apareci fue el error que no me dejaba compilarcorrectamente el programa.
2. Pueden aparecer problemas como: cannot find Arduino.Bluetooth library ocannot find Arduino.Content library.
3. Al intentar compilar el programa me daba un error.unknown.4. Al presionar el botn pensaba que no funcionaba i lo volva a presionar
constantemente sin recibir reaccin alguna una vez ya terminado el programa.
Soluciones:
1. Finalmente descubr que para solucionarlo se tena que vigilar muy bien quAPI instalamos. La API 10 es OBLIGATORIA, y a partir de sta, hemos de instalar
todas las que puedan estar relacionadas con el firmware de nuestro telfono. Si
tenemos dudas que nos lleven a pensar que este es el error, recomiendo
instalar TODAS las API.
2. Depende de la versin de Processing no coordina bien con las API del SDKManager por lo que recomiendo instalar la versin 2.08b de Processing.
3. Hemos de recordar que hemos de decirle a Processing (en la parte superiorderecha de la IDE) que estamos trabajando con Android, i no con el Java
predefinido.
4. El Bluetooth es ms lento que el cable, por lo que al presionar un botn darle 2o 3 segundos de tiempo para poder recibir los valores y encender la salida
correspondiente.
-
7/30/2019 Domtica para todos II
9/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 9 | Domtica
3. Gua para la realizacinAqu es dnde se centra el grueso de la gua para movilizar el dispositivo de control de
tu propia casa:
3.1 Programacin
Para realizar el proyecto de automatizacin de tu hogar, solamente deberis seguir
tres sencillos pasos que se explican a continuacin, obviando que ya habis instalado el
SDK Manager con todas las API necesarias.
3.1.1 Fusin de programas Processing
Lo primero que tenemos que hacer es coger nuestro programa de la pgina web
www.domoticaperlallar.blogspot.com y abrirlo junto con el vuestro (en modo
Arduino). Una vez tenis los dos abiertos, os leis con atencin el mo para ver la
estructura y dnde deberis colocar la estructura correspondiente a les conexiones
Bluetooth.
Despus de visto y repasado, solamente tendris que hacer copy/paste de todo lo
que no pertenece al programa en s, sino a las conexiones Bluetooth, en vuestro
programa (libreras, configuraciones del void setup, etc.,...), vigilando que las funciones
de vuestro programa queden incluidas en el void_muestraCasa.
3.1.2 Programa Arduino
A continuacin solamente tendremos que sustituir el programa del ejemplo Firmata
que tenais instalado en vuestra placa por el programa Arduino de mi pgina web
www.domoticaperlallar.blogspot.com. Despus conectar el mdulo Bluetooth a la
placa Arduino tal como se muestra en los anexos, y listo. Si quisierais aadir un icono a
vuestro programa, deberis aadir el icono en formato png en 3 tamaos:
(36x36): icon-36.png
(48x48): icon-48.png(72x72): icon-72.png
-
7/30/2019 Domtica para todos II
10/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 10 | Domtica
4.Conclusiones
4.1 Opinin del trabajo
Es una mejora importante que facilita muchsimo el control de nuestro hogar, y que
realmente no es complicado de conseguir una vez ya tenemos la gua anterior hecha.
Adems, hemos asumido el apartado 4.3.1 de la gua anterior donde mencionbamos
que podramos mejorarlo implementando sistemas de control que fuesen ms
cmodos y mviles.
Por tanto, hemos demostrado que realmente era posible mejorar el proyecto y
encontrar un sistema nuevo de control ms cmodo y til, as como rentable y
econmico.
4.2 Posibles mejoras
An habiendo alcanzado nuestros objetivos, el proyecto sigue estando abierto a
muchsimas posibilidades. Lo podramos seguir mejorando aumentando el presupuesto
del trabajo para poner ms sensores (luces que se activen con presencia o sonido) o
ms actuadores (puertas automticas).
Pero las bases para programar estos nuevos sensores o actuadores seran las mismas,
por lo que siguiendo esta gua podramos mejorar el proyecto hasta prcticamente
donde quisiramos, gracias a las infinitas posibilidades de programar con lenguaje Java
i la comodidad de Android.
-
7/30/2019 Domtica para todos II
11/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 11 | Domtica
5.Anexo
5.1 Elementos utilizados
5.1.2 Programas:
5.1.2 Dispositivos
Android:
Cualquier
dispositivo con
sistema operativo
Android y
capacidad para
usar Bluetooth.
Yo he usado: Samsung Galaxy S3 mini
Mdulo
Bluetooth: Existen
diversos tipos de
mdulo, mientras
sean para Arduino
y tengan puertos
Rx y Tx, para
enviar la
Yo he usado: JY-MCU Arduino Bluetooth Wireless Serial Port
Module:
Processing y Arduino
instalados en el ordenador
-
7/30/2019 Domtica para todos II
12/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 12 | Domtica
informacin.
5.3 Programa
Adjunto el programa que podis encontrar tambin en la pgina web
www.domoticaperlallar.blogspot.com y que os servir para poder adaptar vuestro
programa. Lo he adjuntado en formato fotografa igual que el de la gua anterior
porque en formato texto ocupa mucho ms espacio y no queda igual de bien. Aqu lo
tenis:
-
7/30/2019 Domtica para todos II
13/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 13 | Domtica
-
7/30/2019 Domtica para todos II
14/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 14 | Domtica
-
7/30/2019 Domtica para todos II
15/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 15 | Domtica
-
7/30/2019 Domtica para todos II
16/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 16 | Domtica
-
7/30/2019 Domtica para todos II
17/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 17 | Domtica
-
7/30/2019 Domtica para todos II
18/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 18 | Domtica
-
7/30/2019 Domtica para todos II
19/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 19 | Domtica
-
7/30/2019 Domtica para todos II
20/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 20 | Domtica
-
7/30/2019 Domtica para todos II
21/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 21 | Domtica
-
7/30/2019 Domtica para todos II
22/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 22 | Domtica
Aqu vendra la tabla de valores enorme que pusimos en el primer programa y que por
cuestiones de espacio, y ya que no la hemos modificado, no la incluiremos. Si se
necesitara, solo tendras que buscarla en la gua anterior que tambin est colgada en
www.domoticaperlallar.blogspot.com. *1
1 Disculpen las molestias pero es por un tema de presupuesto en el momento de imprimir tan ingentecantidad de hojas, ya que la anterior gua me cost mucho dinero imprimirla.
-
7/30/2019 Domtica para todos II
23/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 23 | Domtica
-
7/30/2019 Domtica para todos II
24/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 24 | Domtica
-
7/30/2019 Domtica para todos II
25/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 25 | Domtica
-
7/30/2019 Domtica para todos II
26/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 26 | Domtica
-
7/30/2019 Domtica para todos II
27/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 27 | Domtica
-
7/30/2019 Domtica para todos II
28/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
Automatizacin econmica del Hogar 28 | Domtica
-
7/30/2019 Domtica para todos II
29/29
Generalitat de Catalunya
Departament dEducaci
Institut de Secundria Vilatzara
Av. Arquitecte Eduard Ferrs, 101
08340 Vilassar de Mar
Tel. 93 750 63 66
Fax 93 750 65 53
6.Bibliografia
6.1 Pginas web
1. http://blog.bricogeek.com/noticias/tutoriales/como-programar-para-android-con-processing/
2. http://webdelcire.com/wordpress/archives/10453. http://www.android-videos.blogspot.com.es/4. http://arduinoandroid.blogspot.com.es/2012/02/arduino-and-android-parking-
assistance_27.html
5. http://wiki.processing.org/w/Android6. http://learning.codasign.com/index.php?title=Processing_on_Android
6.2 Agradecimientos a los asesores
Aunque esta versin de la gua no estaba incluida en el Trabajo de Investigacin a
entregar, y que lo he hecho completamente solo, agradezco a Elisabet Alsina el que
me hacha escuchado y dado ideas para continuar avanzando, a pesar de que no
funcionaran, me anim a que siguiera probando incluso en los momentos en que
pareca que nada funcionara, y al final termin funcionando.