Arduino Domotica
Arduino Domotica
Domótica Inalámbrica
Bajo Plataformas de Hardware Libre
A. Cabrera, (Universidad de Palermo - Argentina)
programación de nuevas funcionalidades en un mismo circuito En este tipo de plataformas se enmarca la Raspberry Pi,
y la adaptabilidad del hardware a nuevos requisitos. En 1971, plataforma de hardware libre que cuenta con capacidades
la empresa Texas Instruments creó el primer micro gráficas extendidas. En el siguiente cuadro comparativo se
controlador, combinando memoria ROM, RAM, detallan las características de ambos tipos de soluciones.
microprocesador y reloj en un chip, fue el primero y seguido
Tabla 1 – cuadro comparativo de especificaciones técnicas
por Intel, la cual en 1974 desarrollo el Intel 8048, el cual
acompañando el avance de la IBM PC logro ser vendido en Nombre Arduino Netduino Raspberry Pi
más de mil millones de unidades. Modelo Uno R3 Plus 2 Model B
En 1993 la empresa Atmel lanzó el primero en utilizar Tamaño 2.95”x2.10” 6.7”x5.2” 3.37”x2.125”
memoria flash. La masificación de esta tecnología trajo Procesador ATMega 328 Cortex-M4 ARM11
aparejado un notable abaratamiento de los precios de estos Vel. De Reloj 16MHz 168MHz 700MHz
RAM 2KB 128KB 256MB
componentes. Los fabricantes suelen proveer entonces sus
Flash 32KB 384KB (Tarj. SD)
plataformas de desarrollo: una placa con un micro controlador
EEPROM 1KB
y las herramientas de programación correspondientes.
Volt. Entrada 7-12V 7.5–9v 5v
Generalmente, el precio del producto final suele no ser
Pot. Mínima 42mA (.3W) 45mA 700mA (3.6w)
asequible y en ocasiones estas herramientas traen aparejadas 14 22 8
Digital GPIO
algunas imposiciones en sus términos de uso. Por esta razón, Entr. Analóg. 6 10-bit 6 ND
desde algunas comunidades de usuarios surgieron plataformas PWM 6 6 ND
alternativas de desarrollo, entre las cuales podemos destacar el TWI/I2C 2 1 1
caso de Arduino. SPI 1 1 1
B. Plataformas libres: Arduino UART 1 4 1
IDE Arduino Tool Microsoft IDLE, Scratch,
Arduino es una plataforma basada en micro controlador Visual Studio Squeak/Linux
RISC AVR de la empresa Atmel, desarrollada en el instituto Ethernet ND 10/100 10/100
IVREA en Italia. Durante la crisis económica que enfrentaba USB Master ND ND 2 USB 2.0
tal institución, fue pensada como alternativa de bajo costo para Salida Video ND ND HDMI/Comp.
los estudiantes, frente a otras soluciones de micro Salida Audio ND ND HDMI/Analóg
controladores de la época más caras, y teniendo en cuenta el
embargo inminente del material del instituto. Es desarrollada Al ser hardware abierto, en la actualidad se encuentran en
para ser compatible con el lenguaje de programación de el mercado múltiples clónes Arduino compatibles con distintas
código libre Processing4, y cuenta con soporte características, y los números de ventas de los modelos
multiplataforma. oficiales ascienden las 50.000 unidades, muestra de la
aceptación masiva que tuvo en el ámbito académico y la
industria. Google ya dio el visto bueno a estas tecnologías,
proporcionando el ADK para Android [4], un kit de desarrollo
de accesorios Arduino compatible para la plataforma Android.
comunicación, la heterogeneidad de los nodos, la escalabilidad Clase 1 100 mW 20 dBm ~30 metros
para la implementación a gran escala, y la habilidad para Clase 2 2.5 mW 4 dBm ~10-5 metros
trabajar en condiciones ambientales no favorables, por último Clase 3 1 mW 0 dBm ~1 metro
es importante destacar la facilidad de uso. Algunas de estas
características son heredadas por las WSAN en mayor o El estándar fue desarrollado para la sincronización de datos
menor medida. Uno de los grandes retos en una WSN es OBEX8, audio y voz, por lo tanto se hizo hincapié en el ancho
producir nodos de tamaño reducido y a bajo costo. Al tratarse de banda disponible y no así en el bajo consumo. En las
en la mayor parte de los casos de redes descentralizadas, la últimas versiones (v4.0) se soportan los modos: legacy, de
fiabilidad de estas redes es un factor determinante a la hora de bajo consumo, y de alta velocidad (EDR, “Enhanced Data
escoger una solución de este tipo. Rate”), basado en Wi-Fi.
La capacidad de estas redes de trabajar en entornos El protocolo define 27 perfiles, estos son especificaciones
complejos, como puede ser una fábrica con maquinarias de interfaz de comportamientos de alto nivel que engloban la
industriales, hizo que sean de especial interés, y un ámbito de mayoría de las diversas aplicaciones del protocolo.
estudio frecuente en el entorno académico. Algunos de los más relevantes listados en la tabla a
continuación, si bien el estándar no exige la implementación
de todos los perfiles en una solución.
D. WPAN, Redes Inalámbricas de área personal
Tabla 3 – Perfiles Bluetooth más comunes
Texto parcialmente tomado de [3] y [13]
Siglas Nombre
Si bien estas redes fueron diseñadas para el uso en la A2DP Advanced Audio Distribution Profile
comunicación entre dispositivos cercanos al punto de acceso AVRCP Audio / Video Transport Protocol
-lo cual no siempre se cumple en una instalación domótica-, BPP Basic Printing Protocol
CTP Cordless Telephony Profile
con la popularización de tecnologías como Bluetooth y más
DUN Dial-Up Network Profile
recientemente las basadas en el estándar IEEE 802.15.4, se ha
FTP File Transfer Profile
visto un interés creciente en el uso para aplicaciones de
HFP Hands-Free Profile
domótica. El ámbito de utilización de estas redes es el definido HSP Headset Profile
por el alcance de la voz humana, entre 1 a 100 metros. HID Human Interface Profile
Dentro de las redes WPAN podemos destacar algunas de ICP Intercom Profile
uso frecuente y de gran aceptación como IrDA, Bluetooth y PAN Personal Area Network Profile
ZigBee. SYNC Synchronization Profile
VDP Video Distribution Profile
1) Bluetooth – 802.15.1
Podemos notar que la especificación Bluetooth no
Bluetooth es una especificación industrial para redes contempla un perfil específico para domótica.
WPAN desarrollada y promovida desde 1998 por el Bluetooth El protocolo provee mecanismos de autenticación y
Special Interest Group [14]. Posibilita transmisión de voz, encripción en forma de rutinas que deben ser implementadas
datos y sincronización entre diferentes dispositivos mediante de igual forma en cada dispositivo.
enlace de radiofrecuencia en la banda libre ISM en 2.4Ghz6, El canal físico utilizado por Bluetooth está subdividido en
por esta razón, al ser una banda compartida, para prevenir unidades de tiempo llamadas ranuras (“slots”). Los datos son
interferencias se emplea un sistema de saltos de frecuencias7.
transmitidos entre los dispositivos mediante paquetes que son
colocados en dichas ranuras. La tecnología Bluetooth
Sus objetivos son: la eliminación de cables, facilitar las
comunicaciones entre dispositivos fijos y móviles, ofrecer la proporciona el efecto de transmisión “full dúplex” mediante la
posibilidad de conectarse en pequeñas redes inalámbricas y implementación de una esquema de división de tiempo dúplex
realizar la sincronización de dispositivos. (TDD). El canal de radio es compartido por un grupo de
Como se muestra en la tabla a continuación, las emisiones dispositivos sincronizados a un reloj común y con el mismo
deben ser en baja potencia. patrón de saltos de frecuencia. Un dispositivo provee la
referencia de sincronización y es conocido como “maestro”.
Tabla 2 – Clases de redes Bluetooth
Todos los otros dispositivos se conocen como “esclavos”.
Clase Potencia máx. Potencia máx. Alcance aprox. Un grupo de dispositivos sincronizados de esta manera forman
permitida permitida una piconet.
Bluetooth soporta topologías punto a punto y ad-hoc
6 mediante el establecimiento de las piconets. Dentro de estas
ISM (Industrial, Scientific and Medical) son bandas reservadas
internacionalmente para uso no comercial de radiofrecuencia electromagnética
en áreas industrial, científica y médica. Actualmente han sido popularizadas
por su uso en comunicaciones WLAN o WPAN 8
“Oject Exchange” (OBEX) es un protocolo de comunicaciones que
7
Además del sistema de salto de frecuencias FHSS para evitar facilita el intercambio de objetos binarios entre dispositivos. Es mantenido por
interferencias, pueden encontrarse también técnicas como ARQ (Automatic la Infrared Data Association (IrDA) pero ha sido adoptada también por el
Repeat Request) y FEC (Forward ErrorCorrection) Bluetooth Special Interest Group.
6
últimas, es muy importante la sincronización de la que se red. Por su parte el coordinador es el único que puede realizar
habló porque es este el mecanismo que permite que los la conformación de la red, gestionar los nodos, y comúnmente
dispositivos se mantengan en contacto y evadiendo otras el enrutamiento en la capa de red (no definida por el estándar).
piconets que podrían estar operando en el mismo sitio. La topología punto a punto también tiene un coordinador,
Mediante el canal de radio es posible formar un enlace sin embargo difiere de la topología en estrella en que cualquier
físico entre cualesquiera dos dispositivos que transmitan dispositivo puede comunicarse directamente con cualquier
paquetes en cualquier dirección entre ellos. En una piconets otro que esté en su rango de alcance. Este tipo de conexión
hay restricciones sobre qué dispositivos pueden formar un permite implementar formaciones de red más elaboradas como
enlace físico. Existe enlace físico entre cada esclavo y el la topología en malla. Es importante aclarar, que el estándar
IEEE 802.15.4 no establece el área de cobertura específica que
maestro pero no pueden formarse entre esclavos en una
debe tener la red inalámbrica en ninguna de sus topologías,
piconet. Además, debido a las restricciones de tiempo para
pues se sabe que las características de propagación de las
comunicación entre dispositivos, se dice que un elemento
señales son dinámicas e inciertas.
maestro sólo puede comunicarse con hasta siete esclavos. Otra Pequeños cambios de posición o dirección pueden
característica a tener en cuenta es que un dispositivo con ocasionar diferencias drásticas en la intensidad de la señal y la
tecnología inalámbrica Bluetooth puede participar calidad del enlace de comunicación. Estos efectos ocurren
simultáneamente en dos o más piconets mediante un esquema tanto si el dispositivo está en movimiento como si está
de multiplexación por división de tiempo, siempre respetando estacionario ya que los objetos móviles alrededor pueden
que un dispositivo no puede ser maestro de más de una impactar las características de propagación.
piconet, solamente maestro de una y esclavo de varias. En el estándar se definen también dos tipos de dispositivos
que podrán participar en una red de estas características: los
En la Ilustración 9 se muestra un ejemplo de topología que dispositivos de función completa (“full-function device”,
ilustra varias de las características arquitecturales de la FFD) y los dispositivos de función reducida (“reduced-
comunicación con tecnología inalámbrica Bluetooth. function device”, RFD). Un FFD puede comunicarse con
RFDs o con otros FFDs, mientras que un RFD sólo puede
comunicarse con un FFD. Los FFD están diseñados para que
puedan operar como coordinadores de la red mientras que los
RFD están previstos como nodos sensores-actuadores, los
cuales no necesitan enviar grandes cantidades de información
por lo que pueden ser implementados con cantidad de recursos
y capacidad de memoria mínimas.
F. La especificación ZigBee
Ésta especificación es desarrollada por la Alianza ZigBee,
una agrupación global de compañías creando soluciones
inalámbricas para utilizar en aplicaciones industriales,
comerciales, del hogar y de manejo de energía. Desde su
primera versión ratificada en 2004, se presenta como el único
estándar global de comunicaciones inalámbricas que permite
el desarrollo de productos para monitorización y control, de
bajo costo y bajo consumo de energía.
Ilustración 9 – Diagrama Topológico de una red Bluetooth El protocolo ZigBee utiliza como base el estándar 802.15.4,
con estas definiciones como base, la Alianza ZigBee se enfocó
en construir, por encima, básicamente tres nuevos bloques: la
E. LR-WPAN, el estándar IEEE 802.15.4 especificación de la capa de red, la especificación de la capa
de aplicación y la especificación de servicios de seguridad.
Este estándar define el protocolo y la interconexión Define una red de área doméstica que soporta bajas tasas de
compatible para dispositivos de comunicación de datos, en la transferencia con seguridad y confiabilidad. Más allá del
capa física y capa de enlace (capas 1 y 2 del modelo OSI), que protocolo especificado, la Alianza ZigBee ha comenzado por
usan transmisiones de radio frecuencia de corto alcance con dirigir sus intereses hacia campos muy específicos de
baja tasa de transferencia de datos, bajo consumo de energía desarrollo, delimitándolos con la publicación de perfiles
específicamente en redes inalámbricas de área personal. estándar de aplicación. La especificación ZigBee toma todo lo
Dependiendo de los requisitos de cada aplicación, una red definido por el IEEE 802.15.4 como base y establece los
inalámbrica según el IEEE 802.15.4 puede conformar tanto parámetros, protocolos y configuraciones por encima, creando
uno topología en estrella o una topología punto a punto. un estándar más específico y detallado. Concretamente, se
En la topología en estrella, la comunicación se establece delimitan cuatro entidades más allá del IEEE 802.15.4:
entre varios dispositivos y un único controlador central
llamado coordinador. Los dispositivos se usan típicamente La especificación de red.
para alguna aplicación asociada y resultan ser el punto de La especificación de la capa de aplicación.
inicio o el punto de terminación de una comunicación en la La especificación de servicios de seguridad.
7
surgido en el sitio de financiamiento colectivo DELETE (propias de una arquitectura REST), con la adición
Kickstarter.com, su propósito fundacional es acercar las redes de mecanismos de suscripción livianos. Todo protocolo de
Wi-Fi a los objetos de la vida cotidiana. aplicación que implemente este conjunto de comandos REST
puede ser usado con SEP 2, siendo HTTP un requisito de línea
base para interoperar con implementaciones SEP 2.
HTTP utiliza TCP como su mecanismo de transporte, como
resultado, TCP maneja la sesión proveyendo aseguramiento en
la entrega y escalamiento por ventanas. Los servidores y
clientes Smart Energy Profile 2.0 deben cumplimentar con el
RFC 2616 [13].
SEP utiliza códigos de respuesta HTTP tal como es habitual
en las plataformas RESTful. Estos códigos de respuesta
Ilustración 12 – Esquemático 3D del Spark Core intentan seguir buenas prácticas comunes a las interfaces
REST, pero en la especificación se han adaptado para
El Spark Core cuenta con reducidas dimensiones (2cm de cumplimentar las capacidades limitadas de las plataformas
ancho por 3.3cm de alto) un micro controlador más potente embebidas.
que el de Arduino, ya que debe ser capaz de –entre otras
cosas- cifrar tráfico HTTP, pero fue desarrollado de tal forma 2) Soluciones Domóticas: Spark Socket y Philips Hue
que el código Arduino pueda ejecutarse sin problemas en este.
Sus pines son compatibles con una placa de prototipado El mismo enfoque están siguiendo en la capa de aplicación
estándar, y en sus especificaciones técnicas cuenta con un nuevos productos en domótica, como el caso del proyecto
micro controlador STM32F103 de 32 Bits, arquitectura ARM antecesor al Spark Core: Spark Socket, un “portalámparas
Cortex M3 en 72Mhz, 128KB de memoria Flash y 20KB de inteligente” para una lámpara de luz estándar.
memoria RAM, un chip Wi-Fi Simple Link CC3000 de Texas Su capa de aplicación, de software libre, fue diseñada
Instruments, 2MB de memoria flash externa, alimentación de utilizando los principios arquitectónicos de REST, esta
3.3V en DC, 50mA de consumo de corriente típico, 300mA en solución integra también un sistema de control en la nube.
los picos de consumo –durante la transmisión-, 8 líneas de E/S El hardware, típicamente un micro controlador (en el caso
digitales, 4 líneas de PWM, 8 líneas de E/S analógicas, puerto de Spark, un Arduino con Wi-Fi integrado) junto a un circuito
de comunicaciones serie (UART), SPI y de periféricos I2C. de alta potencia con un regulador de intensidad Triac11.
Las capacidades de comunicación vía Wi-Fi son entre los
30 y 100 metros, se cuenta con un modelo de antena en el chip
o conector para antena externa u-FL.
Spark Core cuenta con un servicio en la nube para el paso
seguro de mensajes proporcionando a tal fin una interfaz de
programación REST en el dispositivo.
El proyecto prevé en su lanzamiento liberar el código, para
ejecutar y alojar el servicio de computación en la nube en el
ámbito privado.
VIII. REFERENCIAS
IX. BIOGRAFIA
[1] R. T. Fielding, Architectural Styles and the Designs,
Irvine: University of California, 2000.
Andrés Cabrera Argentino.
[2] Wikimedia, inc, «Triac,» 2013. [En línea]. Available: Estudiante de último año en la carrera
http://es.wikipedia.org/wiki/Triac. Licenciatura en Informática en
Universidad de Palermo. Apasionado
[3] I. d. l. P. Gonzalez, Tesis de Grado, Aguascalientes: por la computación y el desarrollo de
Universidad Autónoma de Aguas Callientes, 2009. software. Se desempeñó en varias
[4] Google, inc, «Android ADK,» 2013. [En línea]. empresas como desarrollador de
Software. También adquirió experiencia
Available: como investigador en el ámbito de la
http://developer.android.com/tools/adk/index.html. inteligencia artificial en la misma casa
[5] Georgia Tech College of Engineering, «Wireless Sensor de altos estudios.
and Actor Networks (WSAN),» 2001. [En línea].
Available:
http://www.ece.gatech.edu/research/labs/bwn/actors/. Notas a pie e imágenes contenidas en este documento fueron tomadas de
[Último acceso: 23 Octubre 2013]. Wikipedia.org, son parte del dominio público o son propiedad de sus
respectivos dueños.