You are on page 1of 8

Casa domtica con Arduino y Android

El proyecto es el de una casa domtica eficiente. Dicho proyecto fue elegido para defender en el final del Grado Superior de Desarrollo de Productos Electrnicos. Este proyecto consta de 2 partes: Parte de electrnica: Esta es la parte en la que he intervenido yo, desarrollando varios circuitos como el control de un toldo, control de una persiana, control de acceso a la vivienda mediante una huella dactilar, registro del consumo elctrico de toda la vivienda y regulacin de un fluorescente mediante el protocolo de comunicaciones I2C. Todo el proyecto ha sido desarrollado con las emergentes placas libres Arduino. Para controlar todo este hardware hemos utilizado el modulo WIFLY RN-XV, el shield deArduino y la placa Arduino Uno. Parte de informtica: En esta parte, han intervenido compaeros informticos que han desarrollado una magnfica aplicacin capaz de comunicar una Tablet Android con el mdulo wifi wifly rn-xv y de esta manera controlar cada de una de las cargas anteriores. A continuacin se puede ver parte del hardware desarrollado y la Interface de la aplicacin:

Sigo avanzando parte del proyecto con el control inalmbrico via Wifi con el dispositivoArduino Wifly rn-xv ! Ventajas sobre un sistema de domtica KNX, X-10, etc. - Ahorro brutal de costes, trabajando con hardware y software libre ahorramos costes frente a sistemas ya estandarizados. - Simplicidad de la instalacin: La mayor instalacin que har falta realizar ser para motores de persianas, fluorescentes, etc. mediante Wifi podemos conectar cada habitacin a la red y evitar cableados. - Control desde cualquier parte del mundo, la tecnologa Wifi nos permite conectarnos desde nuestra aplicacin en la otra punta de la tierra. - Instalacin con la tecnologa ms puntera actual en el mercado. 1. Pepe dijo: Dos puntualizaciones: 1) El control desde cualquier parte del mundo se puede conseguir con KNX, as que no es ventaja. 2) Los microcontroladores Atmel , la Wifi y el I2C ya no son precisamente la tecnologa ms puntera. Y dos preguntas: 1) Cmo evitis que el vecino de al lado se meta en la wifi del domicilio? 2) Los mdulos que usis, qu dimensiones de caja necesitan para ser empotrados?

Diego Romano dijo: Buenas! Te contesto a todo: 1) No es ventaja frente al KNX el control pero si que es ventaja el precio del mdulo usado para su control.

2) No hablo como tecnologa puntera los microcontroladores Atmel, Wifi o I2C sino el Arduino como hardware libre usado. 3) Se evita que el vecino acceda a la red porque el modulo Wifi se conecta a internet y no al revs, el mdulo se conecta a una sola direccin IP y a la red predefinida. La seguridad de este mdulo viene en funcin de la segurar de tu router. 4) No usamos ninguna caja, este proyecto ha sido desarrollado como prototipo y no se ha desarrollado con fin comercial por falta de inversores. Gracias por su inters

Pepe dijo: Muchas gracias por la respuesta! Llegu aqu desdehttp://foro.webdearde.com/viewtopic.phpt=3788&p=38727#p3872y pens que ese post lo habais puesto vosotros, por eso preguntaba lo de las cajas Un saludo

2.

Gonzalo dijo: oye diego, que usaste para el registro del consumo de la vivienda. Estoy interesado en realizar un proyecto sobre este tema.

Diego Romano dijo: Hola gonzalo, usamos un transformador en serie con el circuito a medir y en el otro extremo del transformador colocamos una resistencia pequea para medir las varaciaciones de tensin en funcin del consumo. En este apartado hicimos algunas pruebas pero no llegamos a realizar el prototipo por lo que tampoco te puedo indicar mucho.

3.

Chema dijo: Hola, Primero, enhorabuena por vuestro proyecto, parece que ha quedado muy bien. Quera preguntaros, sobre todo por la parte hardware, cmo hacis para conectar arduino + mdulo wifly. Para otros usos que he estado trabajando con RFID no he tenido problema, pero para este no s como hacerlo. Os cuento lo que necesito desarrollar para mi proyecto: queremos tomar medidas de temperatura durante periodos de tiempo en diversos puntos (ms o menos una monitorizacin), de manera que con un cliente arduino mvil (podamos cambiarlo de sitio, pues est autoalimentado) y que enve la informacin que vaya recogiendo con el sensor de temperatura/humedad/CO2 a un pequeo router y ste, a una aplicacin central (web+bbdd). La duda es esa, si con este mdulo, una vez configurado para que se entienda con el router, podr funcionar de manera autnoma para que enve la informacin que vaya recogiendo. Muchas gracias y saludos.

Diego Romano dijo: Hola Chema, gracias por visitar mi web y participar! Nosotros el hardware lo realizamos con la placa arduino con el mdulo shield de comunicaciones y el Wifly RnXv. Este modelo trabaja con una simple comunicacin UART pero que previamente hay que configurar como cualquier otro mdulo de comunicacin como el bluetooth, xbee, etc. Las configuraciones que realizamos nosotros fueron asignarle una ip esttica, aunque tambin sirve dinmica.

Tambin hay que asignarle el nombre del router al que te vas a conectar y su contrasea. Una vez hecho esto, puedes abrir un terminal con wifi, ya sea un ordenador portatil o un telefono Android y escribir la ip del mdulo, si la ip la has fijado esttica ya sabes cual es, si la as asignado dinmica tendrs que rastrear los equipos conectados a tu router para conectarte. Si lo que quieres es desde el mdulo wifi ir contra la base de datos, me imagino que la base de datos la tendrs que configurar para que reciba datos de esa ip, en esto no me hagas mucho caso que yo no entiendo mucho de informtica. Tambin comentarte que nosotros realizamos una conexin local porque no nos dio tiempo a realizar la conexin publica, pero entiendo que si quieres conectarte desde otra ubicacin que no sea tu red local tendrs que adquirir una ip publica para poder conectarte a la base de datos. Un saludo 4. Carlos dijo: Hola buenas, Tena una pregunta. Qu pasa si lo quiero implementar sin tener router e internet en casa? Simplemente tengo electricidad. La wifi ya no me sirve

Diego Romano dijo: Hola, si quieres implementarlo en casa sin tener internet, ya no te sirve el mdulo wifi, si deseas comunicacin inalmbrica desde cualquier lugar podras optar a comunicaciones gsm o por el contrario si deseas comunicacin inalambrica pero desde un lugar inferior a unos 10 metros aproximadamente puedes usar algn mdulo bluetooth! Un saludo. Carlos dijo: Muchas Gracias por tu respuesta!!! Buen trabajo!
Responder

5.

6.

AMERU dijo: Hola Diego, me encanta tu rpoyecto y estoy muy interesado en conocer ms sobre el mismo, ya que quiero realizar un pequeo proyecto para mi familia donde necesito contar el nmero de personas que suben a un auto mediante un sensor ptico, y que cuando el auto llegue a casa, con una tablet pueda bajar la informacin y guardarla, pero todo de manera inalmbrica, es decir por medio de bluetooth, pero no se como hacer esa comuniciacin bidireccional con bluetooth, espero y me puedas ayudar, muchas gracias y un gran saludo, haces un gran trabajo!!! Hasta pronto!!
Responder

Diego Romano dijo: Buenas! Gracias por el comentario! Me falta informacin, no entiendo que dudas tienes porque veo que tienes todo muy claro. El bluetooth simplemente con conectarlo ya te genera la comunicacin bidireccional permitiendo escribir y leer por puerto serie todo lo que mandes. Para la tablet puedes descargar alguna aplicacin que sea un terminal de comunicacin bluetooth y simplemente emparejarlo con el bluetooth. Si tienes mas preguntas no dudes en escribir o mandarme un correo si quieres! un saludo

Android es un sistema operativo basado en Linux diseado principalmente para dispositivos mviles con pantalla tctil, como telfonos inteligentes o tabletas,

Caractersticas
Caractersticas y especificaciones actuales:
41 42 43

Diseo de dispositivo

La plataforma es adaptable a pantallas de mayor resolucin, VGA, biblioteca de grficos 2D, biblioteca de grficos 3D basada en las especificaciones de la OpenGL ES 2.0 y diseo de telfonos tradicionales.

Almacenamiento

SQLite, una base de datos liviana, que es usada para propsitos de almacenamiento de datos.

Conectividad

Android soporta las siguientes tecnologas de conectividad: GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, WiFi, LTE, HSDPA, HSPA+, NFC y WiMAX.

Mensajera

SMS y MMS son formas de mensajera, incluyendo mensajera de texto y ahora la Android Cloud to Device Messaging Framework (C2DM) es parte del servicio de Push Messaging de Android.

El navegador web incluido en Android est basado en el motor de renderizado de cdigo abierto WebKit, emparejado Navegador web con el motor JavaScript V8 de Google Chrome. El navegador por defecto de Ice Cream Sandwich obtiene una puntuacin de 100/100 en el test Acid3.

Aunque la mayora de las aplicaciones estn escritas en Java, no hay una mquina virtual Java en la plataforma. El bytecode Java no es ejecutado, sino que primero se compila en un ejecutable Dalvik y corre en la Mquina Virtual Soporte de Java Dalvik. Dalvik es una mquina virtual especializada, diseada especficamente para Android y optimizada para dipositivos mviles que funcionan con batera y que tienen memoria y procesador limitados. El soporte para J2ME puede ser agregado mediante aplicaciones de terceros como el J2ME MIDP Runner.44

Soporte multimedia

Android soporta los siguientes formatos multimedia: WebM, H.263, H.264 (en 3GP o MP4), MPEG-4 SP, AMR, AMRWB (en un contenedor 3GP), AAC, HE-AAC (en contenedores MP4 o 3GP), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF y BMP.43

Streaming RTP/RTSP (3GPP PSS, ISMA), descarga progresiva de HTML (HTML5 <video> tag). Adobe Flash Soporte para streaming Streaming (RTMP) es soportado mediante el Adobe Flash Player. Se planea el soporte de Microsoft Smooth Streaming con el port de Silverlight a Android. Adobe Flash HTTP Dynamic Streaming estar disponible mediante una actualizacin de Adobe Flash Player.

Soporte para hardware adicional

Android soporta cmaras de fotos, de vdeo, pantallas tctiles, GPS, acelermetros, giroscopios, magnetmetros, sensores de proximidad y de presin, sensores de luz, gamepad, termmetro, aceleracin por GPU 2D y 3D.

Entorno de desarrollo

Incluye un emulador de dispositivos, herramientas para depuracin de memoria y anlisis del rendimiento del software. El entorno de desarrollo integrado es Eclipse (actualmente 3.4, 3.5 o 3.6) usando el plugin de Herramientas de Desarrollo de Android.

Google Play

Google Play es un catlogo de aplicaciones gratuitas o de pago en el que pueden ser descargadas e instaladas en dispositivos Android sin la necesidad de un PC.

Android tiene soporte nativo para pantallas capacitivas con soporte multi-tctil que inicialmente hicieron su aparicin en Multi-tctil dispositivos como el HTC Hero. La funcionalidad fue originalmente desactivada a nivel de kernel (posiblemente para evitar infringir patentes de otras compaas).
45

Ms tarde, Google public una actualizacin para el Nexus Oney


46

el Motorola Droid que activa el soporte multi-tctil de forma nativa.

El soporte para A2DF y AVRCP fue agregado en la versin 1.5; Bluetooth directorio telefnico fueron agregados en la versin 2.0;
48

47

el envo de archivos (OPP) y la exploracin del


49

y el marcado por voz junto con el envo de contactos entre

telfonos lo fueron en la versin 2.2.</ref> Los cambios incluyeron:

Videollamada

Android soporta videollamada a travs de Google Talk desde su versin HoneyComb.

Multitarea

Multitarea real de aplicaciones est disponible, es decir, las aplicaciones que no estn ejecutndose en primer plano reciben ciclos de reloj.

Caractersticas basadas en voz

La bsqueda en Google a travs de voz est disponible como "Entrada de Bsqueda" desde la versin inicial del sistema.50

Android soporta tethering, que permite al telfono ser usado como un punto de acceso almbrico o inalmbrico (todos Tethering los telfonos desde la versin 2.2, no oficial en telfonos con versin 1.6 o inferiores mediante aplicaciones disponibles en Google Play (por ejemplo PdaNet). Para permitir a un PC usar la conexin de datos del mvil android se podra requerir la instalacin de software adicional.51

Arquitectura
Los componentes principales del sistema operativo de Android (cada seccin se describe en detalle):

Aplicaciones: las aplicaciones base incluyen un cliente de correo electrnico, programa de SMS, calendario, mapas, navegador, contactos y otros. Todas las aplicaciones estn escritas en lenguaje de programacin Java.

Marco de trabajo de aplicaciones: los desarrolladores tienen acceso completo a los mismos APIs del framework usados por las aplicaciones base. La arquitectura est diseada para simplificar la reutilizacin de componentes; cualquier aplicacin puede publicar sus capacidades y cualquier otra aplicacin puede luego hacer uso de esas capacidades (sujeto a reglas de seguridad del framework). Este mismo mecanismo permite que los componentes sean reemplazados por el usuario.

Bibliotecas: Android incluye un conjunto de bibliotecas de C/C++ usadas por varios componentes del sistema. Estas caractersticas se exponen a los desarrolladores a travs del marco de trabajo de aplicaciones de Android; algunas son: System C library (implementacin biblioteca C estndar), bibliotecas de medios, bibliotecas de grficos, 3D y SQLite, entre otras.

Runtime de Android: Android incluye un set de bibliotecas base que proporcionan la mayor parte de las funciones disponibles en las bibliotecas base del lenguaje Java. Cada aplicacin Android corre su propio proceso, con su propia instancia de la mquina virtual Dalvik. Dalvik ha sido escrito de forma que un dispositivo puede correr mltiples mquinas virtuales de forma eficiente. Dalvik ejecuta archivos en el formato Dalvik Executable (.dex), el cual est optimizado para memoria mnima. La Mquina Virtual est basada en registros y corre clases compiladas por el compilador de Java que han sido transformadas al formato.dex por la herramienta incluida "dx".

Ncleo Linux: Android depende de Linux para los servicios base del sistema como seguridad, gestin de memoria, gestin de procesos, pila de red y modelo de controladores. El ncleotambin acta como una capa de abstraccin entre el hardware y el resto de la pila de software.

Arduino es una plataforma de electrnica abierta para la creacin de prototipos basada en software y hardware flexibles y fciles de usar. Se cre para artistas, diseadores, aficionados y cualquiera interesado en crear entornos u objetos interactivos. Arduino puede tomar informacin del entorno a travs de sus pines de entrada de toda una gama de sensores y puede afectar aquello que le rodea controlando luces, motores y otros actuadores. El microcontrolador en la placa Arduino se programa mediante el lenguaje de programacin Arduino(basasdo en Wiring) y el entorno de desarrollo Arduino (basado en Processing). Los proyectos hechos con Arduino pueden ejecutarse sin necesidad de conectar a un ordenador, si bien tienen la posibilidad de hacerlo y comunicar con diferentes tipos de software (p.ej. Flash, Processing, MaxMSP). Las placas pueden ser hechas a mano o compradasmontadas de fbrica; el software puede ser descargado de forma gratuita. Los ficheros de diseo de referencia (CAD) estn disponibles bajo una licencia abierta, as pues ereslibre de adaptarlos a tus necesidades.

El mdulo RN171XV es una solucin certificada Wi - Fi diseado especialmente para clientes que desean migrar su arquitectura existente 802.15.4 a una plataforma basada en estndares TCP / IP sin tener que redisear su hardware existente. El RN171XV est disponible en 3 opciones de antena : cable ( RN171XVW-I/RM ) , conector SMA inverso de polaridad ( RN171XVS-I/RM ) y el conector U.FL ( RN171XVU-I/RM ) . El mdulo RN171XV se basa en un robusto mdulo Wi - Fi RN171 para redes, e incorpora 802.11 b / g radio, procesador de 32 bits , la pila TCP / IP , reloj en tiempo real , Crypto Accelerator , la unidad de administracin de energa y una interfaz de sensor analgica. El mdulo RN171XV apoya la creacin de redes de infraestructura de acceso a Internet en todo el mundo directamente por cada nodo de conectividad y adhoc para el punto totalmente conectado a las redes de punto , a diferencia de muchos 802.15.4 implementaciones que requieren extensas , perfiles de aplicaciones personalizadas y productos puente adicionales. El RN171XV soporta rangos de temperatura industrial , por lo que es ideal para aplicaciones tales como redes de sensores , controladores industriales o comerciales, medidores de servicios y aplicaciones M2M. El mdulo ofrece funcionalidad adicional a travs de sus puertos programables GPIO en placa (8) y ( 3 ) ADC . Los ADCs proporcionan una resolucin de 14 bits , mientras que los GPIO pueden ser configurados para proporcionar una funcionalidad estndar o de seal de estado a un microcontrolador principal para reducir la necesidad de polling en serie entre el mdulo de Wi-Fi y microcontrolador principal. El mdulo est precargado con Roving firmware para simplificar la integracin y minimizar el tiempo de desarrollo de la aplicacin.En la configuracin ms simple , el hardware slo requiere cuatro conexiones ( PWR , TX , RX y GND ) para crear una conexin de datos inalmbrica .

CARACTERISTICAS

Direct internet connectivity provides internet access to every node Point to point connectivity to every node without the need for custom profiles Based on common 802.15.4 footprint 3 Antenna options available - wire, reverse polarity SMA connector, and U.FL connector Ultra low power: 4A sleep mode, 40mA active Onboard TCP/IP stack includes DHCP, UDP, DNS, ARP, ICMP, HTTP client, FTP client and TCP Firmware configurable transmit power: 0dBm to 12dBm Hardware interfaces: TTL UART Host data rate up to 464Kbps over UART Supports Adhoc and infrastructure networking 8 general purpose digital I/O 3 analog sensor inputs Real-time clock for time-stamping, auto-sleep, and auto-wakeup modes Accepts 3.3VDC regulated power supply Configuration over UART or wireless interface (via Telnet) using simple ASCII commands Over the air firmware upgrade (FTP) Secure Wi-Fi authentication: WEP, WPA-TKIP , WPA2-AES APPLICATIONS Industrial metering HVAC control Room temperature sensors Pump configuration and control Telemetry Robotics PV / Solar controllers

You might also like