Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Dispositivos, tecnologías de
adquisición de datos y redes
ÍNDICE
1. Introducción ........................................................................................................................................ 8
2. Dispositivos .......................................................................................................................................... 8
3. Dispositivos básicos ........................................................................................................................... 10
3.1. Gateways o Pasarelas .................................................................................................................... 14
3.2. CoAP .............................................................................................................................................. 15
3.3. ZigBee ............................................................................................................................................ 16
4. Dispositivos avanzados ...................................................................................................................... 18
4.1. Prototipos y dispositivos genéricos. .............................................................................................. 19
4.1.1. Arduino ..................................................................................................................................................... 20
4.1.2. Raspberry PI .............................................................................................................................................. 21
4.1.3. Cinterion Gemalto Concept Board ........................................................................................................... 22
4.1.4. Intel GALILEO GEN 2 DEVELOPMENT BOARD ........................................................................................... 24
4.1.5. Intel Edison DEVELOPMENT BOARD ......................................................................................................... 24
4.1.6. GlobalCode IoT Surfboard ........................................................................................................................ 25
4.2. Dispositivos de consumo en IoT .................................................................................................... 26
4.2.1. Smartphones ............................................................................................................................................ 26
4.2.2. Smart TV ................................................................................................................................................... 28
MBIGDA_M8T2_160727
3
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
4
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
5
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
6
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
7
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
En este capítulo se revisan las tecnologías actuales y sus particularidades, los problemas que
resuelven, y la motivación de su aplicación dentro de IoT, proporcionando una visión general. El
nivel de profundidad alcanzado al estudiar cada caso pretende por una parte hacer hincapié en los
aspectos diferenciadores respecto a otras posibilidades similares, y por otra parte proporcionar
más conocimientos sobre las tecnologías de mayor implantación o relevancia.
2. Dispositivos
Los dispositivos para la interacción con mundo físico para la captación de datos, y realizar la
entrada de datos a IoT, son dispositivos M2M evolucionados o integrados para suministrar las
características de IoT, y nuevos dispositivos diseñados desde el inicio para IoT.
Dependiendo del medio, algunos dispondrán de alimentación de energía, otros de baterías para
almacenarla, y otros obtendrán la energía autónomamente captada del propio medio, por ejemplo
con autogeneración fotovoltaica, generadores por aire, o por inducción en el caso de RFID.
MBIGDA_M8T2_160727
8
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
La variedad y las posibilidades es enorme, y estas condiciones del medio y características del
dispositivo y comunicaciones son muy a menudo muy relevantes incluso en fases posteriores de la
explotación de la información, puesto que estas circunstancias pueden influir en cuándo los datos
están disponibles y por el medio en que se encuentran en ciertos comportamientos de los datos de
un dispositivo. Incluso dos dispositivos iguales en medios diferentes y con comunicaciones
diferentes pueden presentar una variedad de situaciones a contemplar en las fases posteriores.
Desde el punto de vista del hardware los dispositivos están formados habitualmente por
pequeños sistemas de procesamiento embebidos de 8, 16 o 32 bits con RAM y memoria flash,
posibilidades de entrada y salida para conectar sensores y de interfaces de red y comunicaciones
como IEEE 802.15.4 y que se integran en pequeñas soluciones (SoC) System-on-a-Chip. Con muy
bajo consumo en el orden de los mili y micro vatios. Estas soluciones incorporan comunicaciones
TCP/IP y pequeños servidores HTTP. En algunos casos algunas de estas funciones son
proporcionadas mediante un Gateway adicional permitiendo al dispositivo centrar su actividad en
la obtención de datos de los sensores.
Característica Capacidades
Microcontrolador 8-16 o 32 bits con memoria y almacenamiento
Fuente de energía Alimentado externamente, con baterías, con autogeneración, y soluciones híbridas
Sensores y actuadores Sensores y actuadores integrados o con capacidades para conectarlos
externamente.
Comunicaciones Redes inalámbricas, de telefonía, LAN o WAN.
Sistema operativo Main-loop, basado en eventos, de tiempo real, o sistema operativo completo
embebido.
Aplicaciones Desde el muestreo de sensores hasta funcionalidades muy complejas.
Interfaz de usuario Pantalla, botones u otros dispositivos para la interacción.
Gestión del dispositivo Funcionalidades para el aprovisionamiento, gestión del firmware, arranque y
monitorización.
Entorno de ejecución Gestión del ciclo de vida de la ejecución de procesos y APIs.
Los dispositivos básicos proveen de lecturas de sensores y/o tareas de actuación, con capacidad
limitada para la interacción del usuario. La interfaz de comunicaciones proporciona capacidades de
MBIGDA_M8T2_160727
9
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Hoy en día se utilizan tecnologías heredadas como KNX, Z-Wave y Zigbee, en el futuro se
pretende que cada dispositivo tenga su propia IP y esté directamente conectada a Internet.
3. Dispositivos básicos
Son usados para un propósito específico, como hemos indicado el medio y el propósito son muy
relevantes en la construcción del dispositivo, este tipo de dispositivos tendrá las capacidades
mínimas de adaptación a diferentes medios o situaciones, es decir, son limitados para adaptarse lo
que significa que son muy específicos.
Cubren necesidades al menor coste en materiales posible (BOM: Bill of materials) para el
despliegue de muchos sensores, y obtienen mediciones básicas de parámetros físicos (temperatura,
presión atmosférica,…), o de estados de cosas, (válvula abierta/cerrada,…), o contadores (m3 de
agua al día,...).
Algunos de estos dispositivos son tan específicos que integran la sensorización dentro del
propio chip, otros ofrecen de forma más genérica entradas y salidas para conectar los sensores.
MBIGDA_M8T2_160727
10
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
En cuanto al consumo de energía tienen modos de uso orientados al ahorro o incluso capacidad
para obtenerla del medio con autogeneración, estos sistemas pueden ser programados para
“dormir” y “despertar” una parte de sus circuitos bien por una petición exterior o bien de forma
temporizada, economizando al máximo el consumo.
Un interfaz serie SPI, I2C, o UART suele estar presente para poder ampliar funcionalidades en
dispositivos adicionales como pantallas o almacenamiento externo, y también para comunicarse
con otros dispositivos que aporten funcionalidad al sistema.
Para ciertos usos puede ser necesario que el dispositivo aporte funcionalidades de seguridad
como encriptación mediante AES, existen, o se pueden fabricar, dispositivos que lo incorporan.
Ejemplo de dispos it ivo SoC medidor de f lujo de agua media nte ultrasonidos en un ch ip , vista de componente
electrónico
MBIGDA_M8T2_160727
11
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Ejemplo de dispos it ivo SoC medidor de f lujo de agua media nte ultrasonidos en un ch ip , vista de arquitectura. Se puede
observar la integrac ión en e l c hip del módulo de sensor de u ltrason idos jun to con el resto de componen tes que
proporcionan el pro cesamiento y almacenamiento, y la entr ada y salida.
Los dispositivos básicos carecen de capacidades de conexión WAN, por tanto estos SoC se
utilizan para tejer una red que se conecta a un Gateway y que proporciona la capilaridad suficiente
para recoger muestras de diversas localizaciones en el alcance entre el dispositivo y el Gateway.
Adicionalmente se utilizan protocolos avanzados para extender el alcance de estos dispositivos,
haciendo de pasarelas unos con otros en redes que se auto-configuran en caso de fallos, hasta
alcanzar al Gateway. Además por necesidades del medio, potencia de emisión, etc. es frecuente
que cuenten con filtros eliminadores de ruidos para las comunicaciones a nivel físico.
MBIGDA_M8T2_160727
12
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
13
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
En cuanto a los sistemas operativos, estos dispositivos básicos cuentan con limitaciones en la
capacidad de procesamiento, a menudo implementan un sistema operativo a veces de hebra única,
otras con capacidades de multi-hebra, ejemplos de sistemas operativos usados son:
Los pasarelas a considerar permiten la interconexión entre redes IEEE 802.15.4 o IEEE 802.11, y
redes Ethernet o de telefonía celular.
- ZigBee Gateway Device (ZigBee) que traduce entre ZigBee y SOAP e IP.
- Gateways que traducen de RFC-7252 Constrained Application Protocol (CoAP) a
HTTP/REST.
MBIGDA_M8T2_160727
14
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Las pasarelas pueden ser elementos de hardware muy básico o elementos más potentes,
dependiendo de las tareas que se quieran establecer en el dispositivo, estas tareas están en el
ámbito de la gestión de datos, ejecución de aplicaciones locales, gestión de los dispositivos.
Para la gestión de datos las pasarelas pueden proporcionar cache de datos, funciones de
filtrado, compactación de datos, agregaciones de datos, y almacenamiento temporal.
Ejemplo de un Gateway OGSi, con CWMP para la gestión, y c on aplicac iones para cámara y dispositivos UPnP.
3.2. CoAP
El protocolo CoAP http://coap.technology/ (Constrained Application Protocol, CoAP ) es un
protocolo web de transferencia especializada para su uso con nodos restringidos y redes
restringidas en Internet de las cosas, está diseñado para aplicaciones M2M como energía
inteligente y automatización de edificios
MBIGDA_M8T2_160727
15
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
CoAP es un protocolo de capa de aplicación que está destinada para su uso en dispositivos de
Internet con recursos limitados, tales como nodos WSN. Coap está diseñado para traducir
fácilmente a HTTP para la integración simplificada con la web, y al mismo tiempo cumplir los
requisitos especializados tales como la compatibilidad con multidifusión, a bajo coste, y la
simplicidad. Estos aspectos son extremadamente importantes para internet de las cosas (IoT) y para
dispositivos máquina a máquina (M2M). CoAP se puede ejecutar en la mayoría de los dispositivos
que admiten UDP o un análogo de la UDP.
Ejemplo de diagrama c on uso d e protoco lo CoAP para la ges tión de dispos itivos
3.3. ZigBee
ZigBee se basa en el nivel físico y el control de acceso al medio (MAC) definidos en la versión de
2003 del estándar IEEE 802.15.4. El desarrollo de la tecnología se centra en la sencillez y el bajo
costo más que otras redes inalámbricas semejantes de la familia WPAN, como por ejemplo
Bluetooth. El nodo ZigBee más completo requiere en teoría cerca del 10% del hardware de un nodo
Bluetooth o Wi-Fi típico; esta cifra baja al 2% para los nodos más sencillos.
MBIGDA_M8T2_160727
16
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
17
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Un nodo ZigBee (tanto activo como pasivo) reduce su consumo gracias a que puede permanecer
dormido la mayor parte del tiempo (incluso muchos días seguidos). Cuando se requiere su uso, el
nodo ZigBee es capaz de despertar en un tiempo ínfimo, para volverse a dormir cuando deje de ser
requerido. Un nodo cualquiera despierta en aproximadamente 15 ms.
Se espera que los módulos ZigBee sean los transmisores inalámbricos más baratos de la historia
y, además, producidos de forma masiva. Tendrán un costo aproximado de alrededor de los 8
dólares, y dispondrán de una antena integrada, control de frecuencia y una pequeña batería.
Ofrecerán una solución tan económica porque la radio se puede fabricar con muchos menos
circuitos analógicos de los que se necesitan habitualmente.
4. Dispositivos avanzados
Los dispositivos avanzados consisten en dispositivos que tienen características y funcionalidades
para los que se requiere más potencia de la típicamente usada en aplicaciones M2M, entre estas se
encuentran capacidades de procesamiento y almacenamiento superiores, que permiten la
ejecución en el dispositivo de aplicaciones más complejas, más allá de la captación de datos y
almacenamiento básico. Un sistema de entrada y salida avanzado, por ejemplo de pantalla y
teclado o pantalla táctil. Capacidades de captación, procesamiento y almacenamiento de datos que
requieren altas prestaciones, como por ejemplo podría ser la captación de imágenes en video o
audio, la conversión a formatos diversos de compresión y transmisión de video o audio y la
transmisión de video o audio en streaming.
MBIGDA_M8T2_160727
18
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Los sistemas operativos para este tipo de dispositivos pueden ser GNU/Linux, sistemas
operativos de tiempo real (RTOS) comerciales, como ENEA’s OSE, WindRiver’s VxWorks, or
Blackberry’s QNX.
Por otra parte el uso de tecnologías abiertas y extendidas así como APIs de uso extendido
facilitan la entrada de desarrolladores y la construcción de aplicaciones, que se verá muy facilitada
por el uso de interfaces y formatos próximos a los desarrolladores del internet de las personas,
como HTTP/REST/JSON.
En los dispositivos avanzados son factores muy relevantes y que merecen especial atención al
valorar un dispositivo las características de los siguientes aspectos:
MBIGDA_M8T2_160727
19
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Está muy extendido el uso de Arduino en casos en que el desarrollo es próximo a técnicos de
hardware, en cambio Raspberry Pi es más extendido o accesible para técnicos de software.
4.1.1. Arduino
Arduino es una compañía de hardware libre, desarrolla placas para desarrollo y prototipado con
un microcontrolador y un entorno de desarrollo (IDE) para facilitar el uso de la electrónica en
proyectos multidisciplinarios. Este sistema está muy orientado a técnicos electrónicos, a diferencia
de Raspberry Pi.
Por otro lado, el software consiste en un entorno de desarrollo (IDE) basado en el entorno de
Processing y lenguaje de programación basado en Wiring, así como en el cargador de arranque
(bootloader) que es ejecutado en la placa.
La propia descripción del sistema ya deja ver que se trata de un producto de electrónicos para
electrónicos, que facilita el diseño y prototipado de componentes electrónicos. Para los
desarrolladores de software, usar Arduino como prototipo del hardware sobre el que se ejecutará
una solución resulta tedioso o difícil, otros sistemas facilitan un enfoque más utilitario que
proporciona a los desarrolladores la capacidad de diseñar su software con más facilidad.
MBIGDA_M8T2_160727
20
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
4.1.2. Raspberry PI
Dispone de 4 puertos USB, 1 conector MIPI CSI que permite instalar un módulo de cámara
desarrollado por Raspberry. 1 conector RCA (PAL y NTSC), 1 conector HDMI (rev1.3 y 1.4), 1 Interfaz
DSI para panel LCD63.
MBIGDA_M8T2_160727
21
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Para dotarla de conectividad de red dispone de interfaces 10/100 Ethernet (RJ-45) vía hub USB,
Wifi 802.11n, y Bluetooth 4.1. A través de los puertos USB se pueden conectar otros periféricos de
conectividad, como un modem 3G.
Detalle del dispos it ivo Raspbe rry Pi 3. Caracter ísticas pr inc ipales y conec tores
A diferencia de Raspberry o Arduino, que son dos iniciativas pioneras pero provenientes del
mundo académico, en el mundo empresarial otras iniciativas para dispositivos IoT también están
disponibles con una variedad de dispositivos muy alta y de propósitos muy específicos.
Gemalto es una empresa que fabrica soluciones innovadoras para IoT, entre las cuales existen
placas para el diseño de prototipos y componentes para diseños profesionales. Por ejemplo ha
MBIGDA_M8T2_160727
22
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
presentado un dispositivo de voz sobre LTE (VoLTE) que permite voz y datos simultáneamente,
siendo una alternativa a 4G incluso en coste, apropiado para uso en voz, salud, seguridad y hogar
inteligente.
Sus dispositivos por ejemplo se están aplicando en los modelos más avanzados en integración y
prestaciones como por ejemplo APPLE SIM, en el que proporcionan la conectividad con redes de
telefonía. También se orientan en sectores como vehículos inteligentes.
MBIGDA_M8T2_160727
23
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Gemalto es un dispositivo a medio camino entre Arduino y Raspberry Pi, que facilita el
desarrollo de aplicaciones IoT sin perder la proximidad a las capacidades restringidas de recursos en
el dispositivo.
Es una placa de la familia de Arduino desarrollada por Intel y certificada para el desarrollo y
creación de prototipos de las placas basadas en la arquitectura Intel y diseñado específicamente
para fabricantes, estudiantes, educadores, aficionados y la electrónica de bricolaje.
Galileo dispone de las siguientes características: Procesador Intel Quark SoC X1000 de 32 bits,
single-core, single-thread, con conjunto de instrucciones del procesador Pentium arquitectura, a
velocidades de hasta 400 MHz.
En cuanto a memoria dispone de 256 MB DDR3, 512 KB de SRAM incrustada, 8 MB NOR Flash y
EEPROM estándar de 8 kb en placa, además de soporte para tarjetas microSD de hasta 32 GB.
Compatibilidad de hardware y conector con una amplia gama de shields Arduino. 12 GPIO
nativas para una mayor velocidad. 12-bit de modulación de ancho de pulso (PWM) para el control
más preciso de servos y respuesta más suave.
Intel Edison es un módulo que aumenta las capacidades de placas basadas en arquitectura
Arduino, en definitiva consiste en montar entorno de desarrollo hardware y software. El
microcontrolador es single-core de alto rendimiento y con CPU dual-core que admite la
recopilación compleja de datos en un formato de bajo consumo de energía.
MBIGDA_M8T2_160727
24
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Sobre este módulo Intel propone varios kits, placas y configuraciones, así como servicios
orientados a facilitar el desarrollo de productos innovadores en IoT.
Kit de desarro llo Hardware / Software Inte l Ed ison, p laca co n slot para e l modulo Edison
GlobalCode es una compañía que ha desarrollado una placa que ofrece alta conectividad para el
aprendizaje, prototipado y desarrollo de proyectos, es una placa restringida en capacidades de
almacenamiento y cómputo, al estar basada en Arduino Nano, pero está altamente sensorizada, y
permite ser integrada con Raspberry Pi e Intel Edison para disponer de capacidades aumentadas.
MBIGDA_M8T2_160727
25
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Para dotar de conectividad dispone de módulo para la conexión Zigbee, Wi-Fi o Bluetooth, y
conector para RXTX, GPS o modem 3G.
4.2.1. Smartphones
MBIGDA_M8T2_160727
26
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Un sensor es una pieza de tecnología que mide una cantidad física y la convierte en una señal.
Esta señal puede ser utilizada por una aplicación o leída por un individuo. Dependiendo de qué
teléfono se tiene, va a contener diferentes sensores.
Un teléfono inteligente moderno está equipado con unos 10 sensores, capaces de capturar
aspectos como la localización, la orientación del dispositivo, las condiciones de luz... En conjunto,
estos sensores producen una enorme cantidad de datos, tanto en forma no estructurada (imagen o
vídeos), así como estructurados, como datos de GPS o de aceleración.
Con el auge de los elementos Wearables, como Android Wear o Apple Watch, el teléfono
inteligente juega cada vez más este papel adicional. En esta nueva función puede ser considerada
como el "cerebro" y/o pasarela de la Body Area Network (BAN), teniendo en cuenta las capacidades
de almacenamiento y comunicación (3G, Wi-Fi, Bluetooth) de los teléfonos inteligentes.
Con tecnologías como Near Field Communications (NFC), los teléfonos inteligentes pueden
funcionar no sólo como sensores, sino también como actuadores, es decir, activar acciones (como
pagos) o controlar otras cosas (o participar en el control), como TV o coches.
Los sensores de uso en IoT más evidentes son todo sobre el movimiento. Estos incluyen el
acelerómetro, para medir el movimiento y la orientación, y el giroscopio, para medir la rotación
angular a través de tres ejes, y dando más precisión a la lectura acelerómetro.
Los servicios de localización son atendidos con un magnetómetro para detectar el Norte
magnético y algún tipo de chip de GPS o una variante relacionada a trazar su posición en el mapa.
Además de esto existen los más obvios, como un sensor de proximidad para reconocer cuando
se mueve el teléfono cerca de la cara durante una llamada, un micrófono y una serie de sensores
dentro de la cámara del teléfono para asegurarse de tomar buenas imágenes.
También hay sensores ambientales, que miden factores como la temperatura, presión
barométrica y luminosidad, aunque éstos se encuentran más comúnmente en los teléfonos de
gama alta. Hay sensores adicionales como los teléfonos como iPhone 6S y Samsung Galaxy S7 que
tienen un sensor de huellas dactilares.
MBIGDA_M8T2_160727
27
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Este último también va más allá al embalaje incorporado un monitor de frecuencia cardíaca que
comprende tanto un LED y el sensor de pulso. El Google Nexus 5 tiene un podómetro incorporado,
mientras que otros móviles utilizan datos de una serie de sensores para rastrear los pasos.
El uso de estos sensores es variado, a veces para proporcionar funcionalidad al usuario, otras
para el propio dispositivo, por ejemplo el coprocesador de movimiento en el iPhone puede
averiguar cómo se está utilizando el teléfono, si está en una mesa o lo llevas en el bolsillo, y utilizar
esa información para decidir si se debe alimentar ciertos elementos o no, de manera que logre un
ahorro de batería.
Pero estos datos están accesibles en el dispositivo para acceder a ellos y ser usados por
aplicaciones a través de APIS de programación.
Dado que estos dispositivos no están pensados para sensorizar, sino que es una tarea que han
incorporado adicionalmente, y que se mueven en el ámbito de la información personal y la
privacidad, tenemos que tener en consideración que el sistema puede no permitirnos acceder o
usar los datos, o someterlo a que el usuario tenga que dar su permiso. A la hora de realizar
aplicaciones de IoT usando un Smartphone y sus sensores, nos estaremos sometiendo y
necesitaremos a que estos sensores estén accesibles para nosotros.
Los Smartphone además tienen conectividad como hemos comentado, para desplegar sensores
específicos o interactuar con otros dispositivos en el hogar, o en un vehículo por ejemplo.
En este capítulo estamos hablando del Smartphone como dispositivos para el IoT, a nivel de
obtener datos de sensores, actuar como nodo o Gateway, etc. No debemos confundirlo con el uso
de un Smartphone como interfaz de usuario para interactuar con dispositivos de Internet de las
Cosas a través de aplicaciones.
4.2.2. Smart TV
MBIGDA_M8T2_160727
28
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Como ejemplo podemos tomar la iniciativa de Samsung Electronics que anunció que el centro
de su Smart TV en 2016 será Internet de las Cosas (IoT), conectada con la plataforma SmartThings.
SmartThings es una plataforma abierta que permite a los usuarios conectar, administrar y
controlar los dispositivos inteligentes y servicios de IoT. Permitiendo que el propio televisor para
actuar como controlador para toda la casa inteligente. Samsung ha desarrollado su propia
tecnología de concentrador IoT con SmartThings en los televisores SUHD 2016.
Con los televisores SUHD se puede conectar y controlar dispositivos de Samsung y los sensores
SmartThings, así como otros dispositivos compatibles, más de 200 SmartThings. Estos incluyen
desde las luces conectadas y las cerraduras de termostatos y cámaras, en una amplia gama de
fabricantes de terceros de alta calidad. Para el pleno apoyo de la conectividad con dispositivos
compatibles SmartThings, se conecta un dispositivo “SmartThings Extender” a través de un
adaptador USB.
MBIGDA_M8T2_160727
29
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Algunos se comercializan como gadgets, como los Smartwatch o las pulseras para deporte como
FitBeat, o joyas inteligentes, otros acabarán formando parte de las prendas o complementos para
aumentar sus prestaciones, (prendas deportivas, prendas con captación de datos de salud,
complementos)… Se pueden implementar dispositivos lavables, con alimentación cableada o con
batería, son extremadamente pequeños.
Los wearables embebidos en prendas para captar información son más específicos, se pueden
embeber en ropa, o complementos, y no tienen la necesidad de estar en lugares visibles, ni de
hacer de interfaz de usuario. Obviamente tienen menos capacidades hardware.
Al igual que ocurre con las placas de IoT existen módulos para aprendizaje, prototipado, etc.
Dispositivos que con batería o alimentados desde una placa o dispositivo externo, despliegan
sensores, son lavables, pequeños y embebibles en prendas. Estos dispositivos lejos de ser llevables
MBIGDA_M8T2_160727
30
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
a mercado, sirven para realizar prototipos o pruebas de concepto, como podrían ser zapatillas
inteligentes, ropa deportiva inteligente, vendas sanitarias inteligentes, y un largo etcétera.
En este contexto de prototipado destacan por ejemplo los dispositivos extensiones de Arduino
para desarrollo de Wearables. Hay varias marcas que fabrican sobre el hardware Arduino, como
Adafruit, que dispone de muchos dispositivos y materiales para construir prototipos Wearables.
Entradas digitales
Borne
Hilo conductor
10 Ohm resistencia
5V DC
Se cose un hilo conductor en los bordes internos de la cremallera cruzando de la parte frontal a
la trasera, entre diente y diente, de manera que entren en contacto al estar cerrada (hilo rosa) y no
estén en contacto cuando está abierta.
Una resistencia de 10 Ohmios (por requerimiento del circuito de conexión) se une a uno de los
extremos.
A lo largo del hilo en el otro lado de la cremallera ponemos bornes espaciados a cierta distancia,
conectados con el hilo conductor, destinados a conectar un cable a una entrada digital.
MBIGDA_M8T2_160727
31
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
En la placa Arduino se conectan las entradas digitales a los cables unidos a los bornes, el otro
cable del otro lado de la cremallera se conectará a la salida de alimentación de 5V.
Esto sería un prototipo de sensor, con el que se podría desarrollar una funcionalidad de internet
de las cosas, haciendo accesible la cremallera desde internet para consultar su estado o recopilando
su estado y realizando algún tipo de análisis que aporte cierta funcionalidad.
Es una placa electrónica hecha por Adafruit basada en la ATtiny85. Dispone de 3 pines digitales
de entrada / salida (de los cuales 2 pueden utilizarse para salidas PWM y 1 como entrada
MBIGDA_M8T2_160727
32
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
analógica), un resonador de 8 MHz, una conexión micro USB, un conector JST para una batería de
3,7 V, y un botón de reinicio. Consta de 512 Bytes de SRAM y 512 Bytes de EEPROM, y una memoria
Flash de 8Kb de los cuales 2.75 Kb son reservados para el arranque.
Arduino Gemma
Es una placa orientada a e-textiles y proyectos en los que se quieren llevar dispositivos puestos.
Se puede coser a la tela y usar hilo conductor para fuentes de alimentación, sensores y actuadores.
Se puede conectar directamente al ordenador usando sólo un cable micro USB.
El USB Arduino LilyPad es una placa electrónica basada en el ATmega32u4. Cuenta con 9 pines
digitales de entrada / salida (de los cuales 4 pueden utilizarse para salidas PWM y 4 entradas
analógicas), un resonador de 8 MHz, una conexión micro USB, un conector JST para una batería de
3.7V Li-Po, y un botón de reinicio.
Arduino LilyPad
MBIGDA_M8T2_160727
33
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Es una placa orientada a e-textiles y proyectos en los que se quieren llevar dispositivos puestos.
Se puede coser a la tela y usar hilo conductor para fuentes de alimentación, sensores y actuadores.
Se puede conectar directamente al ordenador usando sólo un cable micro USB.
El USB Arduino LilyPad Main Board es una placa electrónica basada en el ATmega128 o 328V.
Cuenta con 14 pines digitales de entrada / salida (de los cuales 6 pueden utilizarse para salidas
PWM y 6 entradas analógicas, una conexión micro USB, un conector JST para una batería de 3.7V Li-
Po, y un botón de reinicio. Consta de 512 Bytes de SRAM, 1 Kb de EPROM y 16 Kb de memoria
Flash de los cuales 2 kb se reservan para arranque.
Es una placa orientada a e-textiles y proyectos en los que se quieren llevar dispositivos puestos.
Se puede coser a la tela y usar hilo conductor para fuentes de alimentación, sensores y actuadores.
Se puede conectar directamente al ordenador usando sólo un cable micro USB.
El LilyPad Simply tiene sólo 9 pines para entrada / salida. 4 entradas analógicas, cuenta con un
conector JST e incorpora circuito de carga para baterías de polímero de litio. Se basa en el
ATmega328.
MBIGDA_M8T2_160727
34
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Es un dispositivo para crear proyectos de e-textiles usando módulos que se pueden poner y
quitar fácilmente de las prendas, componiendo un sistema. El SimpleSnap es similar al Simply pero
incluye una batería de polímero de litio recargable y conectores rápidos hembra en formato de
botón de presión.
Consta de 9 pines para entrada / salida. 4 entradas analógicas, cuenta con un conector JST e
incorpora circuito de carga para baterías de polímero de litio. Se basa en el ATmega328.
Existen muchos dispositivos Wearables, dentro y fuera del universo Arduino, en el caso Arduino
es relevante el fabricante Adafruit, que dispone de muchos materiales y dispositivos para construir
prototipos.
MBIGDA_M8T2_160727
35
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Los dispositivos de Vinaya (Altruis) permiten conectarse por Bluetooth al Smartphone y alertan
mediante una pequeña vibración al usuario que los lleva puesto según los eventos que sucedan, de
manera que no necesita estar mirando el móvil continuamente y ser notificado cuando algo
importante suceda. Se presentan en forma de anillos, pulseras o colgantes, en cuanto a batería se
cargan por USB y tienen un tiempo de funcionamiento por carga de alrededor de un mes. Los
dispostivos de Swarovski se enfocan hacia la monitorización de actividades, calidad del sueño, etc.
MBIGDA_M8T2_160727
36
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
4.5. Smartwatch
Los Smartwatch son wearables destinados a facilitar E/S sin necesidad de usar el Smartphone,
además incluyen algunos sensores al estar fijados en la muñeca a través de la pulsera al usuario.
Con estos sensores y conectados con el Smartphone a través de Bluetooth reemplazan a los relojes
tradicionales, proporcionando un pequeño interfaz de E/S para controlar u obtener información de
aplicaciones que residen en el Smartphone. Estas aplicaciones pueden hacer de pasarela para
servicios en la nube o control remoto. La carga de energía se realiza entre diaria y semanalmente
en función del uso, a través de un dispositivo de carga USB.
MBIGDA_M8T2_160727
37
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Apple Smartwatch
Para el desarrollo y la distribución de aplicaciones Apple aplica una política similar a las apps
móviles, dispone de un market y un proceso de publicación muy estricto en cuanto a la calidad,
formato, etc.
Los proyectos para Apple Watch consisten en dos paquetes separados: una aplicación de reloj y
una extensión WatchKit. La aplicación de reloj contiene el guión gráfico y archivos de recursos
asociados a todas las interfaces de usuario de la aplicación. El paquete de extensión WatchKit
contiene un delegado y los controladores para la gestión de las interfaces y para responder a las
interacciones del usuario. Estos paquetes se distribuyen dentro de una aplicación para iOS, y se
instalan desde iOS en el Apple Watch del usuario, se ejecutan localmente en el reloj.
Un proyecto watchOS debe incluir una aplicación de reloj, pero también puede incluir un
“glance” (vista especial para mostrar información de un vistazo), “notificaciones personalizadas”
MBIGDA_M8T2_160727
38
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
La mirada, las notificaciones y las complicaciones no son ejecutables por separado. En lugar de
ello, la interfaz de la mirada y las notificaciones están incluidos en el guión gráfico de la aplicación
Reloj. El código para la gestión de las miradas, las notificaciones y las complicaciones son parte de
su extensión WatchKit.
El Watch Connectivity framework ofrece varias opciones para enviar datos entre una aplicación
para iOS y la extensión WatchKit. Cada opción está destinada a un uso diferente. La mayoría de las
opciones son para realizar una transferencia unidireccional de datos en segundo plano y son una
forma conveniente para entregar actualizaciones. Las transferencias de primer plano permiten
enviar un mensaje inmediatamente y esperar la respuesta. La Tabla 4-1 enumera los métodos que
utiliza para las pautas de comunicación y de uso para cada uno.
Para el desarrollo de las aplicaciones es necesario usar las herramientas de desarrollo de Apple.
Similar a la solución de Apple pero con la filosofía Android, Android Wear es un sistema
operativo para Wearables que ejecuten Android, por su orientación actual y necesidades de
computo se puede usar en Smartwatch, joyas inteligentes o pulseras, los fabricantes de hardware
adaptan la versión de Android a su dispositivo según las funcionalidades que quieren proporcionar,
al igual que se hace con los SmartPhone Android.
MBIGDA_M8T2_160727
39
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
El desarrollo de aplicaciones Android Wear se realiza desde Android Studio, un IDE de desarrollo
Android. La arquitectura de las aplicaciones Android Wear es asimilable a la de Apple WatchOS, se
manejan conceptos similares.
4.6. Pulseras
Con menores prestaciones que los SmartWatch existe un subconjunto de dispositivos en forma
de pulsera que realizan algunas de las tareas similares, su uso se orienta sobre todo a actividades
deportivas, estas por ejemplo como FitBeat. Cada sistema tiene sus características de sensorización
y presentación de datos al usuario.
5. Sistemas Operativos
Además de los dispositivos básicos y las soluciones de sistema operativo específicas o muy
orientadas al dispositivo, como Contiki, toda placa debe disponer de un sistema operativo, respecto
a las placas orientadas a desarrollo, prototipo o pruebas de concepto, podremos encontrar muchas
filosofías.
MBIGDA_M8T2_160727
40
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Si bien los dispositivos más potentes como Raspberry Pi tienen capacidad para ejecutar
versiones de los sistemas operativos habituales en otros ámbitos, otras como Edison, Gemalto o
Arduino requieren un sistema operativo propio, como los dispositivos de capacidades restringidas,
pero además de herramientas y soluciones para el desarrollo y la compilación propias, para agilizar
su propósito.
En cuanto a los Smartphones principalmente podemos identificar Android, Apple, Windows 10,
y Mozilla FireOs. Android es una familia de sistemas operativos basada en Linux.
En todo caso se están lanzado muchas iniciativas a fijar el estándar o ser una opción de “sistema
operativo del hogar” para estos dispositivos desde Microsoft (Windows IoT), Linux (Zephyr), Google
(Brillo), Huawei (LiteOs),…
MBIGDA_M8T2_160727
41
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
para el gran público otros propósitos más específicos o visiones más amplias que nosotros si
debemos tener, como la agricultura, la sanidad, etc.
6.1. CWMP
El Technical Report 069 o CWMP es un estándar técnico del DSL Forum (renombrado
posteriormente a Broadband Forum) conocido como CPE WAN Management Protocol (CWMP), que
define un protocolo como capa de abstracción para el mantenimiento remoto de los dispositivos
del usuario final. Como protocolo basado en SOAP/HTTP bidireccional proporciona una
comunicación entre el CPE y el servidor de configuración, Auto Configuration Server (ACS), e incluye
también un servicio de autoconfiguración y control del CPE en modo seguro en un entorno de
trabajo.
MBIGDA_M8T2_160727
42
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Esquema de gestión de dispos itivos mediante Technic al Rep ort 069 o CWMP
6.2. OMA-DM
La especificación OMA DM está diseñada para la gestión de dispositivos pequeños como
teléfonos móviles, PDAs y Palm Tops. La gestión de dispositivos pretende dar soporte a los
siguientes usos típicos:
MBIGDA_M8T2_160727
43
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
OMA DM está diseñado para soportar y utilizar un gran número de soportes para transporte de
datos como:
- físicamente sobre cableado (USB, RS-232) y medios inalámbricos (GSM, CDMA, IrDA o
Bluetooth)
- capas de transporte implementadas sobre cualquier WSP (WAP), HTTP u OBEX, o
transportes similares
MBIGDA_M8T2_160727
44
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Tanto dispositivos como redes en IoT son completamente heterogéneas, los dispositivos
pueden ser sensores específicos a Smartphones u ordenadores personales, los enlaces de red a su
vez pueden estar formados por señales inalámbricas o unidas con cable físico, por diversos
protocolos y tecnologías. Ambos, dispositivos y enlaces, suponen un ecosistema que puede tener
implicaciones debido a la variedad de capacidades, un mismo dispositivo puede pasar por un enlace
de red Wi-Fi, en otros puede estar conectado mediante fibra óptica, en esta red Wi-Fi puede haber
dispositivos que consuman poco ancho de banda y otros que consuman mucho ancho de banda por
MBIGDA_M8T2_160727
45
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Para proveer de esta capacidad a la red es necesario que los nodos sean identificables
independientemente de qué tipo de dispositivo se trata, en esto juega un papel esencial la
convergencia IP, todo nodo de la red dispondrá de una IP que lo identifica, y se comunicarán
mediante el mismo protocolo IP, de manera que, con un mismo protocolo todos los nodos podrán
hablar con todos los nodos, independientemente del medio físico por el cual están conectados
(medio físico del enlace de red) y de los protocolos subyacentes en cada dispositivo. La
convergencia IP permite que los nodos de la red puedan enlazarse unos con otros.
En esta situación tan variada será relevante al realizar proyectos de IoT, en los que se deberá
asegurar que los datos son transmitidos con la velocidad y la precisión adecuadas al propósito.
Es importante comprender que el que los dispositivos sean accesibles e identificables mediante
IP, esto no significa que los dispositivos estén organizados en redes horizontales. Es preciso que las
redes se configuren debidamente acorde al uso que va a realizarse, en el siguiente ejemplo se
puede observar esta situación.
MBIGDA_M8T2_160727
46
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
A0 B
Servicio
A
1 C
A
2
ADSL
A
A 4
1000
Area Network A D
WSN (Wired Sensor Network)
3
- Uno (A0) por necesidades específicas conectado mediante red Wi-Fi, con sus
características de enlace.
- Otros por ejemplo mil sensores (A1 – A 1000) mediante una red cableada WSN.
Para que la red de sensores tenga conectividad se despliega un nodo Gateway B, Este Gateway
conecta la subred de medidores A1-A1000 y el medidor A0.
La red de medidores (WSN) es capaz de dirigir las peticiones a los diferentes medidores de
forma inteligente, de manera que no todos están conectados al Gateway B, sino que existe una ruta
desde B para alcanzarlos a todos dando un número determinado de saltos en nodos de A (son
nodos con capacidad de enrutamiento y solo algunos tienen conexión directa con B).
La información de los sensores quiere ser obtenida desde un servidor C, que se conecta a través
de Ethernet a Internet, alcanzando al Gateway B.
MBIGDA_M8T2_160727
47
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Finalmente un usuario se conecta desde D al servidor C para usar el servicio publicado a través
de una ADSL.
Es muy importante observar que el ejemplo está mostrando la solución a nivel de red, no se
está definiendo cómo funciona la comunicación a nivel de aplicación entre los distintos nodos, si los
nodos “A“ tienen un servidor HTTP que devuelve XML o si envían datos a través de protocolos
como MQTT.
Una vez se dispone de la conectividad IP la capa de aplicación puede ser a su vez nuevamente
homogénea o heterogénea en cuanto a tecnologías empleadas y requerimientos en las sucesivas
capas de protocolo. Las aplicaciones por las tecnologías empleadas y su uso establecerán a su vez
requisitos de ancho de banda necesario y precisión de los protocolos y servicios.
Aunque pueda ser deseable disponer de una red completamente IP-a-IP sin traducciones de
protocolos, las redes LLN no son exactamente comparables a las clásicas redes IP por las
restricciones propias de sus dispositivos y medios en los que se despliegan. Esto hace que escalar
redes a cientos de millones de objetos conectados con una diversidad tan grande de
comportamientos que necesitará de ayuda centralizada y especifica. Esta ayuda se puede
proporcionar desde los Gateways aplicando conversores de protocolos y optimizadores adecuados
al medio.
Habitualmente los Gateways proporcionan de puente entre las tecnologías de red WAN y LAN,
esto es, disponen de conectividad de tipo LAN (como Ethernet o Wi-Fi) y de tipo WAN conexión
4GLTE o Wi-Max por ejemplo. En IoT se pretende que dispositivos sean de bajo coste y sean
accesibles desde Internet, para este propósito conectarlos directamente a Internet mediante la red
WAN directamente puede ser muy costoso (por ejemplo cada dispositivo puede contar con tarjeta
SIM y línea de datos). Esta solución es válida solo en escenarios muy justificados. En lugar de
desplegar costosos dispositivos con conectividad WAN se despliegan dispositivos formando una red
WPAN (Wireless Personal Area Network) soportada normalmente en el IEEE 802.15.4 sobre la que
funcionan los protocolos como Zigbee, WirelessHart, Isa100.11.a, 6LoWPAN, RPL y CoAP.
MBIGDA_M8T2_160727
48
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
IEE802.15.4 cubre el acceso al medio y la capa física para este tipo de redes mediante medio
físico inalámbrico “Wireless Medium Access Control (MAC) and Physical Layer (PHY) specifications
for low-rate wireless personal area networks (LR-WPANs)”, otras tecnologías aparte de IEE802.15.4
permiten también dotar de conectividad a estos dispositivos usando otros medios y características
como Bluetooth LE/Smart, M-BUS, Wireless M-BUS, KNX, y Power Line Communication (PLC).
Hay multitud de aspectos que han propiciado una diversidad de protocolos, estándares o
soluciones para la conexión de los dispositivos, aspectos como: la gran variedad de dispositivos, la
evolución desde dispositivos existentes M2M, la incursión de nuevas tecnologías como RFID o NFC,
y no menos importante, las características diversas de entorno físico en el que deben funcionar los
dispositivos, el volumen de datos, la frecuencia con la que deben transmitirse los datos y la
precisión de los datos a transmitir. Como consecuencia encontramos muchas soluciones que con
enfoques diversos, resuelven problemas o mejor dicho, proponen un valor diferencial en base a
unas características.
Así, la típica pila de protocolos OSI que en tecnologías como la web dirige las implementaciones,
y está muy definida en cuanto a las tecnologías a usar, en el caso de IoT las normas se han ido
formando unas de facto y otras respetando estándares.
MBIGDA_M8T2_160727
49
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Presentación
Sesión
HTTP/REST
SEP 2.0
AQMP
MQTT
XMPP
CoAP
ZigBee
RPL
Red IPv6
6LoWPAN
IEEE 802.15.4
Enlace
Bluetooth LE
WI-FI 802.11
Ethernet
802.3
RFID
Física
Pila de protoco los de uso exte ndido en Io T y sus correspond ientes nive les OSI
Las soluciones de IoT actuales pueden ser clasificadas respecto a la conectividad de red, como
soluciones no-IP y soluciones IP. Muchas soluciones pertenecen al grupo No-IP como Zibgbee, Z-
Wave, INSTEON o WAVEM2. La mayoría de estas soluciones son aisladas y tienen sus propias
soluciones verticales, lo que dificulta la compatibilidad entre diferentes sistemas de
comunicaciones, o sistemas heterogéneos.
En el contexto de la convergencia IP, otras soluciones pretenden resolver las dificultades que
presentan las capacidades reducidas de los dispositivos en memoria y limitaciones
MBIGDA_M8T2_160727
50
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Para usar soluciones embebidas en dispositivos No-IP, se necesitan Gateways que realicen una
traducción de protocolos, incluyendo una traducción a nivel semántica entre distintos mecanismos
de enrutamiento, seguridad, calidad de servicio, etc. Por el contrario, el uso de soluciones basadas
en IP permite que estas traducciones solo se deban a los motivos físicos, permitiendo que la
semántica sea común.
Las tecnologías más extendidas o con más potencial en desarrollo, para dotar de conectividad a
los dispositivos en el contexto de IoT, son las siguientes:
Los dispositivos pueden utilizar redes de telefonía para la transmisión inalámbrica, estándar
para comunicaciones inalámbricas de transmisión de datos de alta velocidad para teléfonos móviles
y terminales de datos. Está muy extendido 3G y en entornos urbanos de momento el despliegue de
4GLTE.
MBIGDA_M8T2_160727
51
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Evolución de 3GPP
La red la proporcionan las operadoras móviles como servicio en pago por uso o tarifa plana, el
coste del dispositivo y el coste de las tarifas sobre datos son elevados. Las características más
importantes a tener en cuenta son:
o Bajada: 326,5 Mbps para 4x4 antenas, 172,8 Mbps para 2x2 antenas.
Para las redes 3G tienen las mismas características pero con menores anchos de banda y mayor
latencia. Es habitual encontrar dispositivos con el slot para la tarjeta SIM y el interfaz de red.
Estos protocolos están evolucionando debido a la alta demanda de uso en todos los sectores.
Son los protocolos de red LAN y WLAN extendidos como Ethernet y Wi-Fi. Con la llegada de Internet
de las Cosas se están mejorando Por ejemplo IEEE 802.11n proporciona trafico mejorado para
aplicaciones de Streaming multimedia, otras versiones del protocolo están avanzando en soportar
MBIGDA_M8T2_160727
52
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Esta familia de soluciones IEEE 802.15.4 es originaria desde su concepción para IoT, son
dispositivos de muy bajo coste, bajo consumo de energía y baja potencia. Con las tecnologías
actuales para el almacenamiento de energía este consumo aun no alcanza los niveles necesarios
para considerarlo de larga duración (más de diez años). Sobre la capa física proporcionada por IEEE
802.15.4 otros protocolos destinados a trabajar con 802.15.4, aportan funcionalidades que
sabiendo de las limitaciones, tratan de preservar o prolongar el uso de la batería.
MBIGDA_M8T2_160727
53
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
7.2.4. SigFox
Como operador de telecomunicaciones implica que no tienes que lidiar con operaciones de
instalación ni de mantenimiento de la red y la conectividad de los dispositivos.
MBIGDA_M8T2_160727
54
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
La red está diseñada para enviar pequeños (muy pequeños) mensajes, no es apropiada para
altos anchos de banda. Se enfoca a dispositivos con baja capacidad de almacenamiento de energía,
que requieran consumir poca energía para transmitir el mensaje.
Opera en frecuencias por debajo de GHz, 868 MHz en Europa y 902 MHz en Estados Unidos.
Emplea una modulación de banda ultra estrecha, lo que le permite proporcionar una red escalable
y de alta capacidad pese a usar una frecuencia de baja capacidad de transporte.
Funcionamie nto general de la red SigFox y el acceso a los d a tos a tr avés del Cloud
MBIGDA_M8T2_160727
55
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Cada mensaje es autenticado mediante un mecanismo de hash y una clave privada específica de
cada dispositivo, robusto incluso a ataques de tipo “replay” o re-emisión de mensajes antiguos. El
protocolo de radio tiene además una alta resistencia a interferencias.
Cada mensaje transmite 12 octetos (12 bytes, 96 bits) de carga útil, y los metadatos necesarios
por el protocolo, incluyendo en los metadatos un Timestamp del mensaje (fecha y hora) y el
identificador único del dispositivo.
A día de hoy la regulación Europea implica una limitación en la red de 140 mensajes al día por
dispositivo. Un dispositivo en la banda de 868 MHz no puede emitir más de un 1% del tiempo y
cada mensaje no puede exceder los 6 segundos de transmisión. Esto limita la red a enviar 6
mensajes por dispositivo y hora.
Para utilizar esta tecnología se requiere que el dispositivo utilice un módulo SIGFOX-ready o
incorporar al dispositivo un “transceiver” SIGFOX, que fabrican y distribuyen partner, una
suscripción al servicio, para poder hacer uso de la red, Y estar en un área con cobertura de la red.
Existen dispositivos adaptados y chips “transceiver” para construir dispositivos, y modulos para
adaptar sigfox a diferentes dispositivos de prototipado como Raspberry, Arduino, Intel Edison…
MBIGDA_M8T2_160727
56
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Hay que tener en cuenta que vincular un proyecto de despliegue de dispositivos a la red SigFox
implica una vinculación con la empresa y que a día de hoy si bien se puede cambiar de operador
móvil en caso de problemas con la compañía móvil, no es posible cambiar de operador en la red
SigFox, y habría que cambiar técnicamente los dispositivos, es decir, tener en cuenta la continuidad
de la empresa.
Conocida como PLC, es un sistema que permite enviar la información sobre la línea eléctrica.
Permite enviar datos a larga distancia (Kilómetros) utilizando una frecuencia baja.
En condiciones de calidad sobre instalaciones existentes dispone de muy bajo ancho de banda
(en torno a cientos de bits por segundo), aunque se pretende alcanzar soluciones de banda ancha
(BPL: Bandwith Power Lines).
- Los módems PLC transmiten en las gamas de media y alta frecuencia (señal portadora
de 1,6 a 30 MHz).
- La velocidad asimétrica en el módem va generalmente desde 256 kbit/s a 2,7 Mbit/s.
- En el caso de suministro de un edificio, en el repetidor situado en el cuarto de
medidores, la velocidad es de hasta 45 Mbit/s y se pueden conectar hasta 256 módems
PLC, que se deben repartir este ancho de banda.
- En las estaciones de voltaje medio, la velocidad desde los centros de control de red
hacia Internet es de hasta 134 Mbit/s.
- Para conectarse con Internet, las empresas de electricidad pueden utilizar
un backbone de fibra óptica o enlaces alquilados.
MBIGDA_M8T2_160727
57
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Además de la pretensión de ser proveedores de banda ancha a través de la red eléctrica, cuya
competitividad está muy limitada para los usos actuales y las capacidades de otras tecnologías, sí
son muy apropiados para transmitir datos de mediciones en redes inteligentes de suministro
eléctrico.
7.2.6. RPL
Es un adaptador de protocolos para IPv6, diseñado para aplicar sobre capas de enlace con alta
tasa de pérdida de datos. Su principal característica es la tolerancia a fallos, tanto en el trasiego de
información, como en la estabilidad de la red.
Esta solución se alcanza a base de perder ancho de banda efectivo, por lo que la fiabilidad se
logra a través de perder velocidad.
No tiene un protocolo específico para la capa física ni de acceso al medio, son compatibles con
capas de enlace PLC, IEEE 802.15.4 y Wi-Fi de baja potencia.
Comunicac ión segura de ex tremo a extremo mediante RPL a través de un border router
MBIGDA_M8T2_160727
58
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Cada aplicación tiene diferentes casos de uso y cada aplicación utiliza un chipset diferente para
satisfacer los requisitos esenciales de hardware. También están disponibles chips de modo dual
para aplicaciones que incluyen ambos casos de uso.
Bluetooth LE-permite ráfagas cortas de conexión de radio de largo alcance, por lo que es ideal
para Internet de las cosas y aplicaciones que no requieren conexión continua, y que especialmente
dependen de la conservación de la batería.
Bluetooth BR / EDR establece 79 canales, entre 2400 y 2483.5 MHz. Mientras que Bluetooth
Smart establece 40 canales, entre 0 y 39 entre 2400 y 2483.5 MHz, donde los canales 37, 38 y 39
son canales destinados a anunciar servicios.
MBIGDA_M8T2_160727
59
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Los chips de modo dual están disponibles para soportar los dispositivos individuales tales como
teléfonos inteligentes o tabletas que necesitan conectarse a ambos dispositivos BR / EDR (como
auriculares de audio) y dispositivos LE como Wereables o balizas de comercio (retail beacons).
Mientras que cada aplicación tiene requisitos específicos que se detallan en la especificación
Bluetooth, la arquitectura de núcleo del sistema Bluetooth tiene muchos elementos comunes. El
sistema incluye un transceptor RF, banda base y las pilas de protocolos que permiten a los
dispositivos conectarse e intercambiar una variedad de clases de datos.
De una forma simplificada veremos cómo funciona Bluetooth, para poder comprender los
detalles que se van a tratar sobre este protocolo e internet de las cosas, las claves a tener en cuenta
son las siguientes:
Bluetooth es un sistema por el que se establece una conexión permanente entre dos
dispositivos, vía inalámbrica, a corta distancia.
MBIGDA_M8T2_160727
60
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
e) Los dispositivos usan el protocolo Bluetooth para interrogarse acerca de los servicios que
ofrecen:
o El lado del vehículo del enlace HFP es “Car Kit” o HFP Client.
f) A partir de ese momento el vehículo puede hacer uso de las funcionalidades publicadas por
el servidor (móvil) del servicio de telefonía, enviándole la voz (micro) y emitiendo el
auricular (audio) mediante Streaming.
g) Otros servicios serán acceder a la agenda, iniciar y recibir una llamada, o finalizarla.
Este ejemplo debe tenerse en mente en adelante para identificar de forma concreta conceptos
como el Security Manager, el GATT, el GAP, los perfiles, y la gran diferencia: en internet de las cosas
MBIGDA_M8T2_160727
61
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
la conexión a través de los Gateways permite el uso de los dispositivos a través de internet
identificados por una IPv6.
Los protocolos de las tres capas más bajas – protocolos de radio, de control de enlace y gestor
de enlaces- se agrupan en un subsistema conocido como el controlador de Bluetooth. Esta es una
aplicación común que utiliza un estándar de interfaz opcional -Host to controller Interface (HCI)-
que permite la comunicación bidireccional con el resto del sistema Bluetooth, llamado el Bluetooth
Host.
El controlador principal puede ser una de las siguientes configuraciones, dependiendo de caso
de uso:
MBIGDA_M8T2_160727
62
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- Capa Física (PHY): Controla la transmisión / recepción de la radio de 2,4 GHz con
canales de comunicación Bluetooth. BR / EDR ofrece más canales con ancho de banda
más estrecho, mientras LE utiliza un menor número de canales pero da un ancho de
banda más amplio.
- Capa de enlace: Define la estructura de paquetes / canales, el procedimiento de
descubrimiento y conexión, y envía / recibe datos.
- Modo de prueba directa: Permite a los probadores que encarguen a la capa física
transmitir o recibir una determinada secuencia de paquetes, enviando comandos a la
misma, ya sea a través de la HCI o por medio de una interfaz UART de 2 hilos.
- Host to Controller Interface (HCI): Interfaz estándar opcional entre el subsistema
controlador Bluetooth (tres capas inferiores) y el anfitrión Bluetooth.
MBIGDA_M8T2_160727
63
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
En la actualidad, los principales sistemas operativos móviles son compatibles con Bluetooth de
baja energía (LE). Esto ha hecho Bluetooth Low Energy un estándar multiplataforma de facto para la
comunicación inalámbrica de corto alcance. Como consecuencia, han aparecido nuevos mercados
para los accesorios conectados.
MBIGDA_M8T2_160727
64
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Esquema general de red con d ispositivos Blue tooth acced id os desde Internet
Las aplicaciones que se ejecutan en dispositivos móviles pueden acceder a los sensores y
actuadores inteligentes Bluetooth y servicios Web en Internet. Esto significa que una aplicación
puede funcionar como una puerta de enlace entre dispositivos Bluetooth inteligentes e Internet.
Por ejemplo, las mediciones pueden ser subidas a un servicio en la nube de salud o puntos de
ajuste y actualizaciones de firmware se pueden descargar a dispositivos Bluetooth de baja energía.
A menos que un dispositivo Bluetooth Low Energy sea un wearable, y por lo tanto se mantiene
unido a su usuario, su conectividad con el dispositivo móvil también es esporádica. Una vez
disponemos de la tecnología en el dispositivo y los protocolos y estándares, surge la dificultad de
conectar los dispositivos para prestar servicios a través de Internet, para esto hay que configurar
una serie de dispositivos de red con software atendiendo a los protocolos que permitan la
interacción desde y con Internet. Bluetooth cumple unas normas que permiten a diferentes
aplicaciones y sensores compartir la misma puerta de enlace a Internet son deseables.
MBIGDA_M8T2_160727
65
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Por tanto para dar cabida a diferentes entornos y usos de la tecnología se han definido tres
tipos de dispositivos o interacciones con dispositivos Bluetooth Low Energy que deben prestar los
Gateways para soportar estos usos:
MBIGDA_M8T2_160727
66
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Un Gateway de Internet que soporte Low Energy Servers permite la comunicación con el GATT
de forma remota a través de internet en lugar de forma local.
El protocolo GATT proporciona una serie de comandos al cliente para descubrir información
sobre el servidor, como:
GATT ofrece notificaciones e indicaciones: El cliente puede solicitar una notificación para una
característica particular del servidor. El servidor puede enviar el valor al cliente siempre que esté
disponible.
Estas técnicas son aplicadas hoy y se usan en servidores GATT existentes. Un cliente web
remoto puede interactuar mediante un Gateway e impersona a un cliente GATT local, obteniendo
los servicios que ofrece el GATT. Para este tipo de interacción a través de internet se necesita:
MBIGDA_M8T2_160727
67
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- Un API RESTful GATT para permitir acceso remoto a los atributos del perfil gnérico
Generic Attribute Profile (GATT) a través de un Gateway (GATT Client role) para acceder
y controlar los dispositivos Low Energy Server (GATT Server role)
- Un motor de seguridad que haga de puente entre el Bluetooth Security Manager
Protocol (generación de clave y encriptación) con la seguridad de la capa de transporte
de Internet (Internet Protocol Transport Layer Security) y para autenticar a los
dispositivos Low Energy Servers.
El consorcio Bluetooth tiene publicadas las especificaciones para las APIS RESTful a utilizar.
Permite que los dispositivos accedan a servicios web por HTTP. Se requieren tres tipos de
componentes:
Para dar soporte a 6LN Bluetooth, IPv6 sobre dispositivos Bluetooth, se dispone de la
especificación 6LoBTLE Low Energy Nodes (Gap Peripheral Role).
Esta especificación permite a dispositivos 6LN Low Energy Node, conectarse a través de un
Router 6LBR 6LoBTLE a un Gateway de Internet (GAP Central Role) desde clientes IPv6 a servidores
web y servicios IPv6.
MBIGDA_M8T2_160727
68
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Un ejemplo puede ser el Proyecto de código abierto CETIC 6LBR, un 6LoWPAN/RPL Border
Router. 6LBR puede funcionar como independiente, embebido en hardware, o sobre un host Linux.
Soporta varias topologías para configurar inteligentemente una red WSNs con el mundo IP.
Border Router sobre Cont ik i p ara red de sensores con proto colo 802. 15.4
7.2.8. RFID
Un sistema RFID tiene lectores y etiquetas que se comunican entre sí por radio. Consiste en dos
tipos de elementos, tag o circuito integrado para almacenar la información y dispositivo para leer y
escribir información en el tag. Una etiqueta está formada por un circuito integrado, de un tamaño
mínimo, y una antena. Un lector está formado por una antena y un software de control y
aplicación.
Un lector de RFID es un dispositivo conectado a la red (de emplazamiento fijo o móvil) con una
antena que envía a la etiqueta la potencia por inducción, datos y comandos. El lector RFID actúa
MBIGDA_M8T2_160727
69
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
como un punto de acceso para los artículos etiquetados o dispositivos RFID, para que los datos de
las etiquetas puedan ser puestos a disposición de las aplicaciones.
Las etiquetas RFID son tan pequeñas y requieren tan poca potencia que ni siquiera necesitan
una batería para almacenar datos e intercambiarlos de con los lectores de información. Esto hace
que sea fácil y barato aplicar etiquetas a todo tipo de cosas que a identificar o rastrear. Las antenas
recogen la energía y la canalizan al chip para encenderlo. En general, cuanto mayor es el área de la
antena de la etiqueta, más energía será capaz de recoger y canalizar hacia el chip, y podrá ser leído
a mayor distancia.
Una etiqueta RFID se compone de un circuito integrado conectado a una antena que se ha
impreso, grabado, estampado o adherido con vapor sobre una montura que es a menudo un
sustrato de papel o polietileno tereftalato (PET). El chip y la antena en conjunto, llamado una
incrustación, se aplican al objeto, por ejemplo entre una etiqueta impresa y su respaldo adhesivo o
insertado en una estructura más durable.
En cuanto a la distancia, se denomina rango de lectura, las antenas lectoras operan ya sea en un
"campo cercano" (de corto alcance) o "campo lejano" (de largo alcance).
MBIGDA_M8T2_160727
70
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Los sistemas de RFID pueden ser degradados en su calidad por la banda de frecuencias en la que
actúan: baja frecuencia, alta frecuencia y ultra-alta frecuencia. También hay dos grandes categorías
de sistemas RFID pasivo y activo.
La frecuencia se refiere al tamaño de las ondas de radio utilizadas para la comunicación entre
los componentes del sistema RFID. Los sistemas de RFID operan en baja frecuencia (LF), alta
MBIGDA_M8T2_160727
71
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
frecuencia (HF) y bandas (UHF) ultra-alta frecuencia. Las ondas de radio se comportan de manera
diferente en cada una de estas frecuencias, con ventajas y desventajas.
Si un sistema de RFID funciona a una frecuencia más baja, que tiene un alcance de lectura más
corto y una tasa de lectura más lenta, pero aumenta las capacidades para la lectura de cerca o
sobre superficies de metal o de líquidos.
Si un sistema funciona a una frecuencia más alta, por lo general tiene mayores velocidades de
transferencia de datos y mayores alcances de lectura que los sistemas de baja frecuencia, pero
también tienen más sensibilidad a la interferencia de las ondas de radio y mayor sensibilidad al
medio como líquidos y metales.
7.2.8.1. LF RFID
La banda LF (Low Frequency) cubre frecuencias de 30 KHz a 300 KHz. Por lo general los sistemas
de LF RFID operan a 125 KHz, aunque hay algunos que funcionan a 134 KHz. Esta banda de
frecuencia proporciona un alcance de lectura de 10 cm, y una velocidad de lectura más lenta que el
resto de frecuencias, pero no es muy sensible a interferencias.
Las aplicaciones LF RFID incluyen control de acceso y seguimiento de animales. Las normas para
los sistemas de rastreo de los animales se definen en la norma ISO 14223 e ISO / IEC 18000-2. El
espectro de frecuencias de LF no se considera una aplicación verdaderamente global debido a
ligeras diferencias en los niveles de frecuencia y potencia en todo el mundo.
La banda de HF oscila de 3 a 30 MHz. La mayoría de los sistemas HF RFID operan a 13,56 MHz
con rangos de lectura de entre 10 cm y 1 m. estos sistemas de alta frecuencia experimentan una
sensibilidad moderada a las interferencias.
7.2.8.2. HF RFID
MBIGDA_M8T2_160727
72
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
entre dispositivos. Otras normas de alta frecuencia incluyen la ISO / IEC 14443 A y ISO / IEC 14443
para la tecnología MIFARE, que se usa para tarjetas inteligentes y tarjetas de proximidad, y la JIS X
6319-4 para FeliCa, que es un sistema de tarjeta inteligente de uso común en el dinero electrónico.
La banda de frecuencia UHF cubre el rango de 300 MHz a 3 GHz. Los sistemas que cumplan con
el estándar UHF Gen 2 RFID utilizan la banda de 860 MHz a la 960. Si bien hay cierta variación en la
frecuencia de región a región, en la mayoría de los países los sistemas RFID UHF Gen2 operan entre
900 y 915 MHz.
El rango de lectura de los sistemas de UHF RFID pasivos puede ser tan largo como 12 metros, y
tiene una velocidad de transferencia de datos más rápida que LF o HF. UHF RFID es la más sensible
a interferencias, pero muchos fabricantes de productos UHF han encontrado formas de diseñar
etiquetas, antenas y lectores para mantener un buen funcionamiento incluso en entornos difíciles.
Las etiquetas UHF RFID pasivas son más fácil y más baratas de fabricar que las etiquetas de alta
y baja frecuencia. En la mayor parte de nuevos proyectos se está utilizando UHF RFID en oposición a
LF o HF.
La banda de frecuencia UHF está regulada por una única norma global llamado el estándar UHF
Gen2 ECPglobal (ISO 18000-6C).
UHF HF y LF
Estándar global Gen2 Múltiples estándares compiten
Coste de etiquetas muy barato, dos o tres veces Coste de etiquetas superior a UHF
más barato que HF y LF.
Más adecuado para solo identificar objetos Más adecuado para usos más complejos como pago seguro, etc.
MBIGDA_M8T2_160727
73
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
En los sistemas de RFID activo, las etiquetas usan su propia energía para emitir. Por lo general,
la fuente de energía es una batería. Las etiquetas activas transmiten su propia señal para enviar la
información almacenada en sus microchips.
Los sistemas de RFID activo normalmente operan en la banda de frecuencia ultra alta (UHF) y
ofrecen un alcance de hasta 100 m. En general, las etiquetas activas se utilizan en objetos grandes,
tales como vagones de ferrocarril, contenedores reutilizables grandes, y otros activos que necesitan
ser rastreados a través de largas distancias. Hay dos tipos principales de etiquetas activas:
transpondedores y balizas.
Los transpondedores son "despertados" cuando reciben una señal de radio de un lector, y
responden mediante la transmisión de una señal. Debido a que los transpondedores no irradian
ondas de radio activa hasta que reciban una señal del lector, conservan la vida de la batería.
Las Balizas se utilizan en la mayoría de los sistemas de localización en tiempo real (RTLS), con el
fin de realizar un seguimiento de la ubicación precisa de un activo de forma continua. A diferencia
de los transpondedores, las balizas no son encendidos ante la señal del lector. En lugar de ello,
emiten señales a intervalos preestablecidos. Dependiendo del nivel de precisión requerida en la
localización, las balizas se pueden configurar para emitir señales cada pocos segundos, o una vez al
día. En este caso de ejemplo la señal de cada baliza es recibida por antenas lectoras que se colocan
alrededor del perímetro de la zona vigilada, y comunica la información de identificación de la
etiqueta y la posición.
MBIGDA_M8T2_160727
74
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Las etiquetas activas se utilizan normalmente en el seguimiento en tiempo real de los activos de
alto valor en sistemas de circuito cerrado (es decir, sistemas en los que las etiquetas no se pretende
que salir físicamente de las instalaciones de control del titular de la etiqueta o del expedidor). Los
activos de mayor valor por lo general pueden justificar el mayor costo de la etiqueta activa que
presenta una fuerte motivación para su reutilización. Equipo médico, equipo de prueba electrónico,
equipo de cómputo, contenedores de transporte reutilizables son todos excelentes ejemplos de
aplicaciones para la tecnología de RFID activo. Las etiquetas RFID activas pueden proporcionar
seguimiento en términos de presencia (indicación positiva o negativa de si un activo está presente
en un área en particular) o de localización en tiempo real. Las etiquetas RFID activas son por lo
general físicamente más grandes que las etiquetas RFID pasivas. La mayoría de los sistemas RTLS se
basan en el uso de la tecnología de etiqueta de RFID activa.
Las etiquetas activas pueden contener 512 KB de RAM o más, lo que permite a la etiqueta activa
almacenar la información de los objetos y su estado, así como para almacenar a modo de caché la
evolución y devolverla cuando son interrogados por un lector. Esta “gran” capacidad de memoria
hace también a RFID activo preferible ante RFID pasivo en situaciones en las que la etiqueta RFID no
puede simplemente ser utilizado como una "placa" o referencia, y se requiere una búsqueda
inmediata en una base de datos host. Mediante el almacenamiento de datos activo crítico
directamente en la propia etiqueta, esta información puede ser recuperada directamente de la
etiqueta y se utiliza independientemente de la disponibilidad del sistema host anfitrión.
Las etiquetas RFID activas operan a frecuencias 303, 315, 418, 433, 868, 915 y 2400 MHz, con
rangos de lectura de 60 a 300 pies. Suelen mostrar muy altas velocidades de lectura y tienen
fiabilidad de lectura debido a su mayor potencia de transmisión, la antena optimizada, y una fuente
confiable de energía embebida. El costo de la etiqueta RFID activa puede variar significativamente
dependiendo de la cantidad de memoria, la duración necesaria de la batería, y si la etiqueta incluye
características embebidas de valor añadido, tales como sensores de temperatura, detección de
movimiento, o interfaces de telemetría.
MBIGDA_M8T2_160727
75
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Las etiquetas RFID activas para balizamiento se utilizan en muchos sistemas de RTLS y son
principalmente útiles cuando la ubicación de un activo tiene que ser rastreados en cualquier lugar y
en cualquier momento a través de la utilización de los receptores de localización. Con una etiqueta
de RFID activa de balizamiento, un mensaje corto que contiene el identificador único de la etiqueta
RFID se emite a intervalos preestablecidos. Este intervalo se programa en la etiqueta por el
propietario etiqueta o usuario.
Las etiquetas RFID activas 802.11 (Wi-Fi) están diseñadas para funcionar en las bandas ISM sin
licencia del 2,4 GHz a 5,8 GHz. Actualmente los dispositivos fabricados se limitan a 2,4 GHz.
Estas etiquetas tienen las características de las etiquetas RFID activas, pero también cumplen
con las normas aplicables y protocolos IEEE 802.11. Las etiquetas RFID Wi-Fi pueden fácilmente
comunicarse directamente con la infraestructura estándar Wi-Fi sin ninguna modificación especial
de hardware o firmware y puede coexistir con clientes Wi-Fi, como ordenadores portátiles, o
teléfonos VoWLAN. Cuando se encienden, los activos equipados con cliente Wi-Fi 802.11 pueden
ser rastreados de forma nativa sin la necesidad de tener una etiqueta de propiedad adjunta.
MBIGDA_M8T2_160727
76
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Las etiquetas multimodo ofrecen el equivalente funcional de tener activos equipadas con varias
etiquetas individuales diferentes en un solo paquete físico. Esto puede ser muy útil cuando los
activos deben moverse por varios sistemas, por ejemplo, varias empresas o sedes con diferentes
tecnologías. Se han hecho mucho más factibles por la disponibilidad de la etiqueta altamente
integrada OEM de silicio que combina dos o más tecnologías de etiquetas RFID distintas en un solo
chip o conjunto de chips. Esto se ejemplifica por ejemplo en el dispositivo G2C501 de G2
Microsystems un sistema-en-chip (SoC) que incluye Wi-Fi 802.11b RFID activa, EPC Global 900 MHz
Gen 1 Clase 0 RFID pasiva, 2.4 GHz ISO24730-2 TDOA, una CPU de 32 bits, aceleradores de cifrado,
reloj en tiempo real e interfaces de sensores.
MBIGDA_M8T2_160727
77
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
de tal manera que proporciona una indicación de que ha entrado (o ha salido) de los límites de una
zona conocida como por un punto en un determinado momento.
No todas las etiquetas activas son compatibles con Chokepoint triggers, y en las que sí, el
Chokepoint trigger tiende a ser específico del fabricante. En el momento actual no son
interoperables entre las etiquetas de activos de diferentes fabricantes. Estos productos funcionan
con la señalización magnética de baja frecuencia. El alcance tiende a ser predecible, con una
excelente penetración de materiales de construcción típicos y sus contenidos.
En los sistemas RFID pasivos, el lector y la antena del lector envía una señal de radio a la
etiqueta. La etiqueta RFID utiliza entonces la señal transmitida para encenderse, y reflejar la
energía recibida para enviar la información al lector.
Los sistemas RFID pasivos pueden operar en baja frecuencia (LF), alta frecuencia (HF) o ultra alta
frecuencia (UHF). Están limitados en su alcance a menos de 10 metros por la potencia de
retrodispersión (reflexión de ondas) de la etiqueta, es decir, la señal de radio reflejada desde la
etiqueta de vuelta al lector. Debido a que no requieren una fuente de alimentación, y sólo
MBIGDA_M8T2_160727
78
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
requieren un chip de la etiqueta y la antena, son más baratos, más pequeñas y más fácil de fabricar
que las etiquetas activas.
Las etiquetas pasivas se pueden empaquetar de muchas formas diferentes, dependiendo de los
requisitos específicos de la aplicación RFID. Por ejemplo, pueden ser montados sobre un sustrato, o
intercalados entre una capa adhesiva y una etiqueta de papel para crear etiquetas inteligentes
RFID. Las etiquetas pasivas también pueden ser incorporadas en una variedad de dispositivos o
empaquetados para hacer la etiqueta resistente a temperaturas extremas o productos químicos
agresivos.
Ejemplo de dispos it ivos et iqu etas RFID pasivo en dis tin tos empaquetados
Las soluciones RFID pasivo son útiles para muchas aplicaciones, y son comúnmente desplegados
para realizar un seguimiento de mercancías en la cadena de suministro, a los activos de inventario
en la industria minorista, para autenticar productos tales como productos farmacéuticos. RFID
pasivo se puede utilizar en almacenes y centros de distribución, a pesar de su menor alcance,
mediante la ubicación de los lectores en los puntos de estrangulamiento para controlar el
movimiento de activos.
MBIGDA_M8T2_160727
79
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
La tecnología RFID tiene un alto potencial para mejorar y proteger la vida de los consumidores,
y también a revolucionar la forma de hacer negocios. A medida que la tecnología de auto-
identificación es más flexible, RFID se puede utilizar para hacer trazabilidad y control de objetos del
mundo físico automáticamente y con precisión.
Una etiqueta RFID BAP, pasiva asistida por batería, es un tipo de etiqueta pasiva que en lugar de
usar la energía captada de la señal del lector RFID a alimentar de energía chip, y a enviar la señal
mediante retrodispersión de la etiqueta al lector, utilizan una fuente de alimentación integrada
(por lo general una batería) para encender el chip, y toda la energía capturada del lector se puede
utilizar para la retrodispersión, lo que les proporciona una mejor señal y alcance. A diferencia de los
transpondedores, etiquetas BAP no tienen sus propios transmisores.
MBIGDA_M8T2_160727
80
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Una actualización para el estándar UHF Gen 2, llamado UHF Gen 2 V2, o simplemente G2 se
basa en el estándar V1 original, pero asegura que las comunicaciones RFID tienen opciones de
seguridad más complejas para proteger los datos y evitar su falsificación. En el estándar G2, el
usuario es capaz de ocultar todo, parte o nada del contenido de la memoria de la etiqueta.
Dependiendo de qué privilegios de acceso tenga el lector, y su proximidad a la etiqueta, la
capacidad del lector para acceder y / o modificar los datos de la etiqueta varía. Esto evita el robo de
datos de la etiqueta o la manipulación. Las normas G2 también establecen una medida anti
falsificación que implica etiquetas con autentificación criptográficamente. Las etiquetas UHF Gen2
V1 envían respuestas estáticas de vuelta al lector, por lo que es fácil para clonación para crear
etiquetas falsificadas. Conforme a las normas G2, cada vez que un lector envía una señal a una
etiqueta se envía un número secreto diferente y la etiqueta calcula una respuesta específica a esa
interacción.
MBIGDA_M8T2_160727
81
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Una etiqueta RFID se compone de un circuito integrado conectado a una antena que se ha
impreso, grabado, estampado o adherido con vapor sobre una montura que es a menudo un
sustrato de papel o polietileno tereftalato (PET). El chip y la antena en conjunto, llamado una
incrustación, se aplican al objeto, por ejemplo entre una etiqueta impresa y su respaldo adhesivo o
insertado en una estructura más durable.
- Los primeros 8 bits son una cabecera que identifica la versión del protocolo.
- Los siguientes 28 bits identifican el organismo que gestiona los datos de esta etiqueta;
el número de organismo es asignado por el consorcio EPCglobal.
- Los siguientes 24 bits son para una clasificación de objeto, que identifica el tipo de
producto.
- Los últimos 36 bits son un número de serie único de una determinada etiqueta.
Estos dos últimos campos son establecidos por la organización que emitió la etiqueta.
El número total código de producto electrónico se puede utilizar como una clave en una base de
datos global para identificar de forma única ese producto particular.
7.2.9. NFC
MBIGDA_M8T2_160727
82
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
conjunto de estándares dirigidos por el NFC Forum, está muy extendido el NFCIP-1. Está basado en
la tecnología RFID y FeliCa.
NFCIP-1 puede funcionar a diversas velocidades en el orden de centenas de Kilobit por segundo,
106, 212, 424 o 848 Kbit/s. El protocolo es flexible en cuanto a cambiar la velocidad de
funcionamiento, esta velocidad se acuerda por las dos partes y se puede modificar durante la
comunicación. Su enfoque, en parte debido por la tasa de transferencia, es para comunicación
instantánea, más que para la transmisión de grandes cantidades de datos, es decir, para la
identificación y validación de equipos/personas. Los equipos con tecnología NFC son capaces de
enviar y recibir información al mismo tiempo.
El alcance de NFC es muy reducido (20 cm). Su uso es transparente a los usuarios, se utiliza por
proximidad, acercando los dispositivos, y en ciertas aplicaciones no requiere más interacción con el
usuario, es decir, el simple hecho de aproximar los dispositivos implica una acción.
A nivel físico NFC puede funcionar como un dispositivo RFID activo o pasivo. En el caso activo,
requiere que ambos dispositivos estén alimentados y proporcionen un campo electromagnético
para el intercambio de datos. En el caso pasivo solo un elemento genera el campo magnético que el
otro dispositivo utiliza. La diferencia entre NFC y RFID estriba básicamente en que NFC es un
subconjunto de RFID en el que el alcance está limitado para requerir la proximidad.
MBIGDA_M8T2_160727
83
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
En cuanto a la seguridad, la poca distancia es un elemento a tener en cuenta, pero aun así se
podría realizar la copia de los códigos del chip para un uso fraudulento, o alterar la comunicación.
La seguridad será proporcionada por las capas de comunicación seguras como SSL.
NFC ha sido adoptado por la industria del Smartphone por la multitud de aplicaciones que
pueden realizarse usando este protocolo, pero principalmente por sus posibilidades de uso en
sistemas de pago móvil, la proximidad necesaria para realizar la comunicación asemeja el uso físico
al de una tarjeta de crédito. Está presente en casi todos los teléfonos Smartphone.
MBIGDA_M8T2_160727
84
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Las et iquetas NF C de Sony Xp eria permiten c onf igurar el perfil de uso de l Smartphone co nforme al lugar en e l que
estás.
8. Nivel de red
8.1. IPv6 Networking
Esta tecnología aporta la capacidad de conectar los dispositivos a la red mediante una IP, de
forma que la capa física y de enlace está solucionada en el uso del dispositivo. Pueden presentar
problemas si necesitan convivir en un entorno orientado a M2M heredado, donde los Gateways no
estén contemplando IP como protocolo para comunicarse con los dispositivos.
8.2. 6LoWPAN
Desde el principio IPv6 ha sido elegido por IETF como la única forma de dar soporte a las
comunicaciones Wireless sobre IoT, descartando cualquier solución no basada en el escenario de
convergencia IP. Para disponer de un estándar que proporcione conectividad con redes WSNs de
dispositivos con recursos reducidos, el protocolo 6LoWPAN realiza una optimización sobre redes
construidas con protocolo IEEE 802.15.4. En concreto 6LoWPAN resuelve cómo integrar IPv6 con la
capa de acceso al medio y la capa física de IEEE 802.15.4. El protocolo incluye soluciones para la
autoconfiguración de direcciones y la gestión de una red mallada.
MBIGDA_M8T2_160727
85
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Esta capa de adaptación resuelve dos problemas principales entre el protocolo IEEE 802.15.4 y
el protocolo IPv6. Por una parte el protocolo IEEE 802.15.4 solo soporta paquetes de 127 bytes, y
considerando la cabecera está sobrecargada por información de las capas superiores de los
protocolos, por ejemplo las cabeceras de control del protocolo MAC, IPv6, seguridad y transmisión,
el tamaño que queda para la aplicación es muy pequeño. Por otra parte el tamaño mínimo de MTU
(transmisión) en IPv6 es de 1280 bytes (RFC 2460), pero IEEE 802.15.4 tiene un valor de MTU
inferior, es decir, hay que fraccionar los paquetes IPv6 para convertirlos en varios 802.15.4, y re-
ensamblar los 802.15.4 para convertirlos en IPv6.
6LoWPAN proporciona una solución para estas dos situaciones, por una parte compresión sin
estado sobre las cabeceras, y por otra parte fragmentación y ensamblado de paquetes entre IPv6 y
IEEE 802.15.4.
MBIGDA_M8T2_160727
86
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
8.3. RPL
Las redes de baja potencia y con altas tasas de pérdida de paquetes (LLNS) representan una de
las áreas de investigación más interesantes. Incluyen por lo general redes inalámbricas (WPAN
redes de área), de baja potencia mediante “Power Line Communication” (PLC) y redes de sensores
inalámbricos (WSNs).
Las redes LLNS y, en particular, las WSNs están emergiendo rápidamente como un nuevo tipo
de sistemas distribuidos, con aplicaciones en diferentes áreas tales como seguimiento de objetos,
medio ambiente, gestión del tráfico, etc. Sin embargo, para conseguir una comunicación fiable,
para garantizar una alta relación de entrega y al mismo tiempo gestionar la energía de forma
eficiente requiere de mecanismos especiales en la capa de red. Como resultado, RPL se ha
especificado y desarrollado con el fin de superar estos requisitos.
El protocolo de enrutamiento de IPv6 para redes con energía baja y con pérdidas (RPL), que ha
sido diseñado para superar los problemas de enrutamiento en LLNS.
El grupo de trabajop de IETF “Routing over Lossy and Low-power Networks working group
(RoLL)” se ha centrado en el diseño del enrutamiento con objeto de alcanzar una estandarización
para el uso de IPv6 en este tipo de redes. Dado que la situación requiere una adaptación a los
dispositivos y al medio, esta estandarización se produce conforme a escenarios de aplicación, se
han definido cuatro escenarios hasta el momento “Home Automation (RFC5826)”, “Industrial
Control (RFC5673)”, “Urban Environment (RFC5548)” y “Building Automation (RFC 5867)”.
Este tipo de redes suelen estar optimizados para ahorrar energía usando patrones diferentes de
la comunicación estándar, ejecutar los protocolos de enrutamiento a través de capas de enlace de
elementos embebidos en tamaños y capacidades restringidas
MBIGDA_M8T2_160727
87
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Implementa medidas para reducir el consumo de energía, tales como el envío de tasa de
mensajes de control dinámico y hacer frente a las incoherencias de topología sólo cuando los
paquetes de datos tienen que ser enviados. E protocolo también proporciona soluciones de
Gateway y saltos intermedios entre nodos de la topología.
RPL soporta tres tipos de tráfico: point-to-point (entre dispositivos dentro de la LLN), pointto-
multipoint (un centro de control a un subconjunto de dispositivos dentro de la LLN) y multipoint-to-
point (desde los dispositivos dentro de la LLN hacia un punto de control central).
Los dispositivos de red que ejecutan el protocolo están conectados de una manera tal que no
hay ciclos. Para este propósito se construye un grafo acíclico orientado a destino (DODAG), que
encamina las peticiones a un solo destino sin caer en ciclos de enrutamiento. El grafo es gestionado
por un nodo raíz.
El grafo es construido con una función que calcula las métricas a tener en cuenta en el cálculo
del peso de los caminos construidos, de manera que pueden darse diferentes funciones de
optimización en función de las necesidades del escenario de despliegue.
Otro hecho importante sobre el diseño del protocolo es el mantenimiento de la topología. Dado
que la mayoría de los dispositivos en un LLN se alimentan por batería, es crucial limitar la cantidad
de mensajes de control enviados a través de la red. Muchos protocolos de encaminamiento hacen
difusión de paquetes de control en un intervalo de tiempo fijo, que hace que la energía que se
desperdicie cuando la red está en una condición estable.
RPL adapta la tasa de envío de mensajes de control extendiendo el algoritmo Trickle. En una red
con enlaces estables los mensajes de control serán raros mientras que un ambiente en el que los
cambios en la topología sean frecuentes RPL enviará información de control con mayor frecuencia.
RPL emplea mensajes de dos tipos DIO para configurar la red y DAO para enrutar envíos entre
los nodos.
En general, hay tres tipos de nodos en una red RPL: El primer tipo son nodos raíz que se hace
referencia comúnmente como nodos de puerta de enlace que proporcionan conectividad a otra
MBIGDA_M8T2_160727
88
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
red. El segundo tipo son los routers. Dichos nodos pueden anunciar información de topología a sus
vecinos. El tercer tipo son las hojas que no envían ningún mensaje de control (DIO) y sólo tienen la
capacidad de unirse a un grafo (DODAG) existente.
Muchos de los protocolos de enrutamiento de hoy en día utilizan métricas de enlace que no
tienen en cuenta el estado actual de un nodo. El estado incluye recursos típicos como el uso de la
CPU, la memoria disponible y la energía restante. Esto puede ser crucial para LLNS donde los
dispositivos de red son por lo general alimentados con baterías y tienen recursos limitados de
hardware. Considerar estos aspectos conlleva por ejemplo, el que en una topología de red de
sensores, el último nodo antes de la raíz por lo general experimentará un tráfico más alto, y
mayores gastos de sus recursos por reenviar datos de los otros nodos.
MBIGDA_M8T2_160727
89
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
También debe mencionarse que RPL se puede ejecutar en nodos que tienen limitadas
capacidades de energía y memoria. El protocolo se adapta dinámicamente la tasa de envío de
mensajes de control de enrutamiento que se generarían frecuentemente sólo si la red está en una
condición inestable. Además, el protocolo educe la sobrecarga de la memoria en los nodos
intermedios.
RPL también permite la optimización de la red para distintos escenarios y despliegues. Por
ejemplo, se puede tener en cuenta la calidad del enlace entre nodos o su cantidad actual de
energía, lo que hace que sea una solución eficiente para implementaciones WSN.
8.4. ZigBee
Para formar una red ZigBee se necesitan tres tipos distintos de dispositivo según su papel en la
red:
- Coordinador ZigBee (ZigBee Coordinator, ZC). El tipo de dispositivo más completo. Debe
existir al menos uno por red. Sus funciones son las de encargarse de controlar la red y
los caminos que deben seguir los dispositivos para conectarse entre ellos.
- Router ZigBee (ZigBee Router, ZR). Interconecta dispositivos separados en la topología
de la red, además de ofrecer un nivel de aplicación para la ejecución de código de
usuario.
- Dispositivo final (ZigBee End Device, ZED). Posee la funcionalidad necesaria para
comunicarse con su nodo padre (el coordinador o un router), pero no puede transmitir
información destinada a otros dispositivos. De esta forma, este tipo de nodo puede
estar dormido la mayor parte del tiempo, aumentando la vida media de sus baterías.
Un ZED tiene requerimientos mínimos de memoria y es por tanto significativamente
más barato.
MBIGDA_M8T2_160727
90
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- Topología de malla: al menos uno de los nodos tendrá más de dos conexiones.
La topología más interesante (y una de las causas por las que parece que puede triunfar Zigbee)
es la topología de malla. Ésta permite que si, en un momento dado, un nodo del camino falla y se
cae, pueda seguir la comunicación entre todos los demás nodos debido a que se rehacen todos los
caminos. La gestión de los caminos es tarea del coordinador.
Ejemplo de red ZigBee con un coordinador , varios routers y dispositivos f ina les
8.5. Z-Wave
Z-Wave es un protocolo de comunicaciones inalámbricas para la automatización residencial. Se
orienta al control y la automatización intentando proveer de un método confiable y simple para
controlar elementos de las viviendas tales como luces, sistemas de climatización, seguridad, home
cinema, ventanas, piscinas, y garajes. El protocolo es propietario y fue creado en 2005. Es un
sistema de éxito en domótica en el sector residencial y hay muchos dispositivos que son
interoperables por este protocolo.
MBIGDA_M8T2_160727
91
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Un Sistema Z-Wave puede ser utilizado remotamente a través de Internet usando un Gateway
Z-Wave. Los nodos Z-Wave usan el chip ZW0201, basado en Intel MCS-51. Actualmente Z-Wave ha
adaptado el protocolo para su uso en System-On-a-Chip (SOC) de la serie 500.
Algunos productos Z-Wave se presentan con versiones Open Source, aunque Z-Wave es una
solución muy cerrada y para desarrollar se requieren versiones OEM para fabricante.
La distancia alcanzable entre dos nodos Z-Wave es de unos 30 metros. El protocolo permite
realizar hasta cuatro saltos entre nodos, junto con la distancia de 30 metros entre nodos, ambos
aspectos combinados dan suficiente cobertura para cubrir el tamaño de una casa.
La banda elegida para la transmisión es una banda libre para uso industrial, científico y médico,
puede estar sujeto a interferencias con algunos dispositivos como teléfonos inalámbricos, pero
queda libre de interferencias con WiFi o Bluetooth.
Z-Wave implementa una red mallada de nodos en la que los paquetes se dirigen de forma
dinámica a través de la vivienda evitando los obstáculos o nodos caídos. Si la ruta preferida no está
disponible, un nodo probará otras rutas hasta que se encuentre el camino hasta el destino. Estas
situaciones pueden provocar variaciones significativas en las latencias, y deben ser consideradas
especialmente en las acciones de control.
Una red Z-Wave puede tener entre 2 y 232 nodos, dos redes Z-Wave pueden ser unidas.
Los nodos de una red no pueden ser móviles, se considera que son dispositivos fijados
físicamente a una localización, por lo que no es un protocolo adecuado por ejemplo en robots de
servicio con capacidades de desplazamiento. Durante la unión de un dispositivo a la red se asigna la
localización de este, y para ubicarlo en otra localización se requiere desagregarlo de la red y volver
a agregarlo a la red.
MBIGDA_M8T2_160727
92
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Los nodos pueden funcionar en modo de bajo consumo (para dispositivos alimentados con
batería) pero en este modo de funcionamiento no pueden realizar la función de enrutar paquetes
para otros dispositivos de la red.
8.6. INSTEON
El sistema INSTEON es un sistema de domótica donde los dispositivos no se diferencia por su
funcionalidad en la red (todos son emisores, repetidores y receptores). Es un sistema que dispone
de banda dual: funciona en radiofrecuencia (RF) y mediante la red eléctrica de corriente alterna
(CA), el protocolo permite construir redes mezclando estos tipos de medios físicos, lo que facilita
evitar interferencias y superar obstáculos.
Una particularidad del enrutamiento es que cada nodo emite todo mensaje que recibe, de
manera que este alcanza a todos los nodos en su cercanía, indistintamente de si la conexión es RF o
CA para los dispositivos que tienen los dos interfaces DualBand. Los mensajes incluyen un número
de saltos máximo para no ser retransmitidos indefinidamente. Dispone de sistema de detección y
corrección de errores en los paquetes.
MBIGDA_M8T2_160727
93
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Topolog ía de un a red Insteon DualBand en la que los enlace s representados con lín eas c o ntinuas representan
conexiones CA, y las líneas d is continuas RF.
Puede realizar (SimulCast) una especie de difusión (Broadcast) a todos los dispositivos de forma
óptima.
Existen dispositivos de muy diversa índole para el uso en domótica residencial, incluyendo
soluciones técnicas para interconexión de redes y con el sistema, son esenciales obviamente los
enchufes e interruptores que son anfitriones de versiones de pasarela entre las dos capas físicas
(CA y RF).
MBIGDA_M8T2_160727
94
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
9. Protocolos de aplicación
Conceptualmente Internet e las cosas se refiere a la idea genera de que las cosas,
especialmente los objetos cotidianos, son accesibles, reconocibles, localizables, direccionables y/o
controlables a través de Internet; bien vía RFID, WLAN, WAN, o cualquier otra forma de construir
una red para interconectarlos. Los objetos cotidianos no solo se refieren a dispositivos electrónicos
ni de un alto desarrollo tecnológico y grandes prestaciones como vehículos o teléfonos móviles,
sino también a elementos como alimentos, ropa, complementos, materiales, etc.
MBIGDA_M8T2_160727
95
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Debemos realizar una diferenciación en internet de las cosas referida a si la generación y el uso
de la información es en un entorno de consumo / social o es en un entorno industrial / profesional.
Así, no tiene la misma criticidad una aplicación de internet de las cosas para controlar la
temperatura en casa, que para controlarla en una empresa que tiene una parte de su proceso
productivo en cámaras frigoríficas, o si vamos más allá en un entorno hospitalario, o militar.
En el concepto de Internet de las Cosas Industrial destacan dos aspectos claves diferenciadores:
Los sistemas industriales que actualmente utilizan estas tecnologías incluyen sectores tan
representativos como aeroespacial y defensa, control de tráfico aéreo, sistemas de gestión y
control de combate, modelado y simulación, vetrónica (vehículo electrónico), sanidad y entorno
hospitalario, ferrocarril y gestión de vehículos, energía inteligente en sistemas SCADA de gran
tamaño, y Smart Cities.
MBIGDA_M8T2_160727
96
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
9.1. HTTP/REST
Los servicios a través de HTTP se han popularizado gracias a la web, de manera que existen
multitud de tecnologías, herramientas, software y personas con conocimiento en este protocolo.
Esta popularización ha conllevado una evolución en los usos del protocolo y en el desarrollo de
conceptos que son usables o extrapolables a otros ámbitos. Así el protocolo HTTP se presenta
idóneo para un rápido desarrollo y popularización del Internet de las Cosas, y allí donde sea
aplicable será un protocolo idóneo. HTTP es un protocolo de envío y respuesta, el cliente HTTP
envía una petición al servidor que es respondida, hasta la siguiente petición del cliente no existirá
vínculo entre cliente y servidor. Cada petición se enruta de forma independiente de las anteriores,
no existe una conexión permanente.
En la evolución de HTTP y para proveer servicios que la tecnología y la demanda de uso han ido
favoreciendo, se han incorporado capacidades que incluso han roto con el concepto de protocolo
MBIGDA_M8T2_160727
97
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
de envío y respuesta, como la posibilidad de establecer una conexión permanente (para enviarse
mutuamente datos entre servidor y cliente).
REST (Representational State Transfer) es un concepto aplicado sobre http para favorecer el
desarrollo de servicios web. REST consiste en utilizar el protocolo HTTP cumpliendo unas normas
(por convención) que facilitan tanto el desarrollo como el uso de aplicaciones que proporcionan
servicios y aplicaciones cliente de servicios.
En REST todo recurso está identificado por una URI, un identificador que permite,
inequívocamente, acceder a los servicios que proporcione el recurso. Esta URI en HTTP tiene la
forma de una URL.
Los servicios REST devuelven un documento XML, HTML, JSON de tipo hipermedia, de forma
que es fácilmente interpretable de forma básica sin requerir aplicaciones especializadas para
interpretar la respuesta de un servicio (se puede invocar por ejemplo desde un navegador web).
Una gran ventaja de REST sobre HTTP es la interoperabilidad entre diferentes tecnologías para
conectarse a los servicios ofrecidos mediante este protocolo. Por una parte clientes HTTP existen
en prácticamente todas las tecnologías, por otra no hay transferencia binaria que obligue a
MBIGDA_M8T2_160727
98
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
traducciones complejas. Así a un servicio REST es fácil desde una aplicación nativa de un sistema
Apple, o desde un navegador web escrito en C++, o desde un script Python.
Ejemplo de una ap licac ión en una telev isión que ofrece un interfaz REST para ser s inton iz ada. El cliente ( Dia l Client) se
comunica con REST con la Tele visión ( TV) que desen cadena acciones sobre la API de la aplicac ión que se ejecu ta en esta
ante las peticiones rea lizadas por el c liente.
En el ejemplo de un sintonizador de TV podríamos tener diferentes URIS para los servicios, para
configurar, para usar, etc. Por ejemplo:
SERVICIO SINTONIZADOR:
Una vez creado el servicio que responde a estas peticiones por HTTP y en el que se fija además
como se representan los objetos que se envían bajo un verbo y se reciben bajo un verbo (un
determinado XML o JSON) es fácil crear un cliente para sintonizar la TV.
MBIGDA_M8T2_160727
99
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Nótese que al ser un servicio HTTP, es muy fácil interaccionar con la TV localmente, el cliente se
ejecuta desde la botonera de la propia TV, desde el módulo receptor de infrarrojos, o remotamente
desde un cliente a través de Internet.
El problema de HTTP REST para IoT consiste en que las redes subyacentes tienen que tener unas
capacidades y comportamientos asimilables a la web, en el sentido de tiempo de espera en TCP,
anchos de banda, etc. Algunos dispositivos por su potencia y capacidades podrán enviar y recibir los
datos por HTTP sin problema, es decir, se podrá montar un servidor web y dispondrá de potencia y
de alcance suficiente a través de la red que le de soporte, pero los servicios que sean prestados por
dispositivos con capacidades restringidas no será tan fácil, hacen falta soluciones que ofrezcan un
interfaz HTTP/REST pero internamente resuelvan la problemáticas del medio, en este sentido CoAP
es un ejemplo.
9.2. CoAP
Proporciona un protocolo de la IETF, del grupo de trabajo “Constrained RESTful Environments
working group” (CoRE), para realizar transferencia de tipo web RESTful, y está especializado para su
uso en dispositivos con restricciones severas en capacidades de cómputo y comunicaciones. Estas
situaciones se dan, además de en otros campos, en el campo de M2M e IoT.
Es un protocolo de envío / respuesta en el que los nodos se hacen peticiones independientes sin
estado. REST es una solución muy aplicada en desarrollo de aplicaciones web en internet, y cada
vez más en todo tipo de servicios y en interoperabilidad entre sistemas.
CoAP, realiza una abstracción de las particularidades de los objetos de la red, convirtiéndolos en
recursos de manera que cada recurso es identificado mediante un identificador universal de
recurso (URI), y además puede ser utilizado de forma que no requiera mantener el estado
“stateless”, usando comandos GET, PUT, POST, DELETE. Cabe pensar que para este propósito, es
suficiente con desplegar un Servidor/Cliente en el dispositivo y para optimizar la comunicación en
redes de sensores aplicar una compresión al HTTP, pero estrictamente hablando, CoAP no es un
protocolo de compresión HTTP. Por una parte CoAP realiza la función de optimización pero por otra
parte proporciona funcionalidades necesarias en el entorno de IoT como el descubrimiento de
MBIGDA_M8T2_160727
100
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
101
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Aplicando CoAP en una WSN se puede acceder desde internet a los recursos de la red de
sensores de forma directa o a través de un proxy.
El acceso directo significa que desde Internet se accede a la WSN a través de un Gateway que
solo realiza la conversión de protocolo entre IPv6 y 6LoWPAN, pero no procesa los protocolos de
las capas superiores, por ejemplo CoAP o TCP, este uso reduce la sobrecarga de procesamiento,
pero requiere que en ambos extremos se estén usando los mismos protocolos.
El acceso a través de un Proxy significa que el usuario accede a la WSN a través de un proxy que
convierte formatos de datos incompatibles externos a formatos compatibles internos en las redes
WSN y viceversa, así se puede por ejemplo interactuar con HTTP, TCP, e IPv4 sobre IPV6 con UDP.
Estas conversiones las realiza el Gateway.
MBIGDA_M8T2_160727
102
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
La ventaja de usar un proxy es que los servicios actuales de internet pueden acceder fácilmente
a los recursos de redes WSN sin realizar cambios gracias a la transformación que realiza el Gateway
proxy. Pero además, los dispositivos de baja potencia no pueden gestionar conexiones TCP de
forma eficiente, la conexión TCP está diseñada para unos tiempos de respuesta que los pequeños
dispositivos y los anchos de banda de las WSNs no pueden cumplir, TCP interpreta que el servicio
no está disponible o la conexión se ha perdido. El proxy proporciona la capacidad de realizar de
buffer para procesar las peticiones y evitar el timeout del protocolo TCP manteniendo viva la
conexión TCP.
Basado en un hardware de plataforma abierta, el Router debe ser dotado de capacidades para
la conectividad 802.15.4 y de una implementación del proxy HTTPCoAP que se debe instalar en el
MBIGDA_M8T2_160727
103
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
sistema operativo del Gateway (OpenWrt). El Gateway realizará el mapeo de una IPv4 a la IPv6 de
la red de sensores.
Interacciones en tre las capas de software y Arquitectura de capas de sof tware en e l Prox y Gateway HC (HTTP -CoAP).
MBIGDA_M8T2_160727
104
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
La capa CoAP de petición y respuesta implementa las funciones para interactuar con los
dispositivos a través de una librería que implementa el protocolo CoAP. Como CoAP usa UDP y no
es confiable, la capa CoAP response deberá incluir la gestión del ACK de mensajes CoAP, la
retransmisión de peticiones por Timeout, el procesamiento de los mensajes directos, asíncronos y
segmentados, etc.
Cuando se implementa este tipo de solución se observa la gran problemática que resuelve. Por
una parte subyacente está la red de sensores que funciona con 6LowPAN/IPv6/RPL y CoAP, el proxy
CoAP tiene que resolver las situaciones que se van a dar en las capas inferiores en cuanto a
proporcionar el servicio deseado en una red de sensores que tiene alta inestabilidad de forma
inherente. En este caso de ejemplo se observa como al lidiar con una red WSN conforme aumenta
el número de saltos entre nodos, se pierden paquetes, y se deben resolver estas situaciones para
proporcionar servicios confiables. En este caso en el nivel 6 se llegan a perder hasta el 56% de los
paquetes.
Todos estos fallos aunque el Gateway sea capaz de resolverlos hasta proporcionar la
información implican por un lado que la velocidad de respuesta crece conforme los nodos están a
distancia y como se enrute el tráfico, por otro que no lo hacen de forma lineal o predecible
directamente en función del número de saltos. Finalmente el funcionamiento puede estar
MBIGDA_M8T2_160727
105
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
comprometido por sobrecarga de mensajes en la red por las tasas de fallos, y lentitud en la
respuesta. Aquí el criterio de la función de optimización de RPL resulta crítico.
PAQUETES PERDIDOS
60
50
40
30
20
10
0
0 1 2 3 4 5 6 7
% de paquetes perdidos en fu nción de l número de sa ltos en una red prototipo Proxy Gate way HTTP -CoAP. El escenario
de prueba fue def inido con un entorno con mucho ruido en el que la comun icac ión entre dispositivos so lo ten ía u n
alcance de 30 cm.
En el caso de ejemplo se despliegan varios dispositivos 802.15.4 uno de ellos una cámara
conectada al Gateway, el recurso se publica bajo la IPv6 que se le asigna, de manera que enviando
una petición HTTP desde un navegador web conectado al Gateway por Wifi 802.11, el Gateway
gestiona la petición hasta el dispositivo y devuelve la respuesta al navegador.
En contraposición, con un cliente CoAP (no HTTP REST) se puede hacer la conexión directa
lanzando la petición coap://[2001:2::19]:5683/camera que devolverá la imagen sin pasar por el
servicio proxy del Gateway, al cliente específico COAP.
Este caso representa la importancia de la convergencia en servicios HTTP/REST más allá aún de
la importancia de la convergencia IP.
MBIGDA_M8T2_160727
106
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
9.3. XMPP
XMPP es un protocolo abierto y extensible basado en XML, originalmente ideado para
mensajería instantánea (anteriormente conocido como Jabber). Sus siglas significan Protocolo
extensible de mensajería y comunicación de presencia (Extensible Messaging and Presence
Protocol).
El protocolo XMPP establece una plataforma para el intercambio de datos XML que puede ser
usada en aplicaciones de mensajería instantánea. Por su origen como software libre existen
servidores y clientes que pueden ser usados sin coste alguno.
Véase que aunque los usuarios tienen como concepto de mensajería las aplicaciones de chat, y
en este caso aún más al haber sido usado de forma muy generalizada XMPP para sistemas de chat,
la mensajería entre maquinas consiste en el paso de mensajes para establecer una comunicación,
típicamente de forma asíncrona.
Las características de XMPP son adecuadas para IoT, y se postula como una herramienta para
construir dispositivos, servicios y aplicaciones sólidas, seguras e interoperables, para la Internet de
las cosas.
XMPP ofrece diversas opciones, tales como conexiones de socket standard Binding, Streaming
Bidireccional sobre HTTP síncrona (BOSH) , e intercambio eficiente de XML (EXI). Los diferentes
modelos para establecer conexión en XMPP consisten en:
- XMPP Standard Binding: Permite a las cosas que conectarse a la red mediante una
conexión normal de socket bidireccional al servidor. Los fragmentos XML son
posteriormente enviados en ambas direcciones a través de esta conexión. Este método
se describe en las especificaciones XMPP RFC: RFC 6120, RFC 6121 y RFC 6122.
MBIGDA_M8T2_160727
107
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Si la respuesta es lenta en producirse y ser obtenida por quién hizo la petición, y los resultados
parciales tienen que ser devueltos para mostrar el progreso, este sistema básico no es suficiente.
MBIGDA_M8T2_160727
108
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Este podría ser el caso cuando se comunica con dispositivos detrás de puertas de enlace, detrás de
la cual se utilicen protocolos de comunicación muy lentos. Otro ejemplo importante, es si se desean
soluciones interoperables. En tales casos, las soluciones propietarias dificultades que las hacen
difíciles de integrar en contextos más grandes.
Para facilitar la creación de una arquitectura abierta y débilmente acoplada que permita la
interoperabilidad entre las cosas y las aplicaciones, se define el estándar XEP-0323: “Internet of
Things - Sensor Data was created”. Se define un mecanismo de petición / respuesta, donde los
datos del sensor se pueden leer desde los dispositivos de forma asíncrona. Aparte del mecanismo
de petición / respuesta normal proporcionada por XMPP, permite una respuesta lenta y define un
formato de datos que puede ser usado para encapsular los datos del sensor de una manera
interoperable. Está diseñado para permitir añadir nuevos tipos de dispositivo que a las redes sin la
necesidad de actualizar el software para realizar las tareas básicas, tales como lectura de los datos
del sensor, el procesamiento de datos y la presentación de datos a los usuarios humanos. También
permite a los dispositivos de diferentes fabricantes y aplicaciones de diferentes desarrolladores
intercambiar datos de fichero con facilidad.
Ejemplo de petición / respuesta asíncrona, el cliente rea liza una petición y rec ibe varias r espuestas enviadas desde el
disposit ivo has ta ob tener una respuesta de f inalizac ión.
MBIGDA_M8T2_160727
109
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Para facilitar el intercambio de datos en IoT, entre las cosas de diferentes fabricantes, de forma
asíncrona, los datos se pueden encapsular utilizando el formato de datos del sensor. Esta forma uso
se define en XEP-0323: Internet of Things - Sensor Data y para control en XEP-0325: Internet of
Things - Control.
Observador es un patrón de diseño que define una dependencia del tipo uno-a-muchos entre
objetos, de manera que cuando uno de los objetos cambia su estado, notifica este cambio a todos
los dependientes. Cuando un aspecto de un programa cambia frecuentemente, estos patrones
definen un objeto que encapsula dicho aspecto. En XEP-0060: Publish-Subscribe se implementa el
patrón observador.
- Ejemplo
MBIGDA_M8T2_160727
110
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Un ejemplo de uso del protocolo de envío y respuesta entre dos nodos de la red
intercambiarían los siguientes mensajes:
</iq>
- Extensiones
Las diferentes extensiones del protocolo XMPP relacionadas con internet de las cosas son las
siguientes:
XEP Descripción
xep-0000-IoT- Define cómo manejar las peculiares relacionadas con los dispositivos
BatteryPoweredSensors alimentados con batería, y otros dispositivos que tienen presencia
intermitente en la red.
MBIGDA_M8T2_160727
111
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
xep-0000-IoT-Multicast Define como los datos de sensores pueden ser difundidos (multicast)
de forma eficiente.
xep-0000-IoT-PubSub Define como los datos de sensores pueden ser publicados (de forma
eficiente
XEP-0322 Define como usar EXI para alcanzar compresión eficiente de datos. No
es una extensión específica para datos de sensores, pero debería
considerarse su uso en cualquier red de sensores que tengan que
cuidar el uso de memoria y tamaño del paquete de datos.
MBIGDA_M8T2_160727
112
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
9.4. MQTT
MQTT es un estándar ISO que define un protocolo de comunicaciones (ISO/IEC PRF 20922), la
comunicación se basa en mensajería de publicación y suscripción sobre TCP/IP. El protocolo fue
orientado desde sus inicios hacia la telemetría, sus siglas significan “Message Queue Telemetry
Transport”. Es muy útil para conexiones donde es importante no consumir mucho ancho de banda
MBIGDA_M8T2_160727
113
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
(se usa por ejemplo en comunicaciones entre sensores, conexiones GPRS,…) y para aplicaciones
móviles por su envío eficiente.
Una de las grandes ventajas que supone utilizar un intermediario con capacidad de
almacenamiento es que desacopla el funcionamiento de dos sistemas, una característica muy
deseable para IoT donde las variadas características de las redes de sensores y de los dispositivos
pueden condicionar al resto del sistema.
BROKER
Productor Consumidor
El protocolo fue diseñado originariamente por IBM con objeto de ser útil en entornos en los que
el código a ejecutar debe ser ligero y el ancho de banda es limitado, si bien no se llegan a establecer
de forma cuantificada estos dos objetivos. Actualmente hay dos versiones de MQTT: MQTT v3.1 y
MQTT-SN (Sensor Network) una variante del protocolo para dispositivos no-IP publicada en 2013.
MQTT en el contexto de IoT por su diseño no presenta capacidades de Big Data, aunque algunas
implementaciones permiten modo clúster, la arquitectura de MQTT sigue una topología de
estrella, con un nodo central no distribuido, que hace de servidor o “broker” con una capacidad de
hasta 10000 clientes. Se requiere de otros sistemas Big Data para combinarlos de manera que se
pueda construir un broker que atienda un gran número de mensajes y dispositivos.
MBIGDA_M8T2_160727
114
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
HTTP es un buen protocolo para envío de petición y respuesta, pero no es una buena solución
para envíos PUSH ni para garantizar calidad de servicio QoS, transmite texto y requiere bastante
ancho de banda comparado a una transmisión binaria, las soluciones HTTP consumen bastante
batería, mantener un servidor web desplegado para recibir peticiones es costoso, y para actuar
como host requiere toda la pila de software de un servidor web.
La capa de transporte sobre la que montar MQTT debe proporcionar ordenación, ausencia de
pérdidas, stream de bytes. MQTT puede funcionar sobre TCP/IP, TLS y WebSocket. UDP por
ejemplo no es válido para MQTT por no garantizar o poder modificar el orden de los datos.
En este contexto un mensaje de aplicación es el contenido que transporta MQTT, los datos que
una aplicación que está usando MQTT pretende enviar o recibir.
MBIGDA_M8T2_160727
115
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MQTT intercambia paquetes formados por tres bloques, una cabecera fija, presente en todos
los paquetes, una cabecera variable presente en algunos paquetes y una carga (“payload”) presente
en algunos paquetes.
- Cabecera: En el primer octeto están dos campos de 4 bits, el código de tipo de paquete,
y los “flags” u opciones para ese tipo de paquete, y un campo de entre 1 y 4 octetos
que indica la longitud total de los campos de cabecera variable y carga útil. La
codificación de este campo utiliza el ultimo bit de cada byte para saber si el valor
continua en el siguiente byte o ya ha finalizado, se usan entre 1 y 4 bytes, de forma que
la representación máxima es de 256MB.
- Cabecera variable: Algunos paquetes contienen una parte de cabecera variable, el
contenido y la longitud varía en función del tipo de paquete, por ejemplo un valor
común en varios tipos de paquete es el identificador de paquete compuesto por un
long de dos bytes. El cliente y el servidor asignan identificadores de paquetes de forma
independiente el uno del otro. Como resultado de ello, los emparejamientos entre
servidor y cliente pueden participar en intercambios de mensajes simultáneos
utilizando los mismos identificadores de paquete. Esto evita que se tenga que abordar
la complejidad y soportar las ineficiencias que supone de controlar una secuencia de
generación de identificadores distribuida.
- Carga útil: Algunos paquetes pueden portar carga útil, en tal caso un tercer campo está
presente, en el caso del paquete PUBLISH es donde residen los datos a transportar
entre las aplicaciones que estén haciendo uso de MQTT.
MQTT entrega mensajes de aplicación de acuerdo con la calidad de los niveles de servicio (QoS)
definida. El protocolo de entrega es simétrico, en la siguiente descripción del cliente y el servidor
pueden cada uno tomar el papel de cualquiera de emisoras o receptoras. El protocolo de entrega se
MBIGDA_M8T2_160727
116
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Cuando el servidor está entregando un mensaje de aplicación a más de un cliente. Cada cliente
es tratado de forma independiente. El nivel de calidad de servicio se utiliza para decidir la forma de
funcionamiento en la entrega de un mensaje de aplicación.
Es importante conocer que la QoS que se establece entre el emisor y el bróker puede ser
diferente a la QoS que se establezca entre un suscriptor y el bróker.
MBIGDA_M8T2_160727
117
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
direccionamiento es de 65535 paquetes, se considera que no puede haber más de este número de
paquetes entre un cliente y un bróker sin que sean procesados.
Esto en Big Data supone un punto débil, e implica que puede necesitarse un sistema de apoyo
Big Data para el sistema de mensajería.
QoS 0 A lo sumo una Cuando la capa TCP sea estable y ofrezca bajas tasas de fallo, por
vez. ejemplo en una conexión cableada estable.
MBIGDA_M8T2_160727
118
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
9.4.3. Topics
Los topics, o “nombres de cola”, pueden presentar un separador “/” que se usa para dividir la
cola en una jerarquía de tipo árbol. Por ejemplo una jerarquía podría representar ubicaciones en la
forma: “29004/Calle2/5/planta1/humedad”.
Para nombrar los topics y filtros hay que tener en cuenta las siguientes reglas:
Ejemplos:
Una suscripción a un topic puede contener comodines “wildcard” que permiten suscribirse a
varios topics a la vez. Los comodines pueden ser usados en los filtros pero no en el nombre del
topic de suscripción.
El comodín “#” significa cualquier número de niveles, por ejemplo si un cliente se suscribe a
“sport/tennis/player1/#” recibirá mensajes enviados a:
- “sport/tennis/player1”
- “sport/tennis/player1/ranking”
MBIGDA_M8T2_160727
119
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- “sport/tennis/player1/score/wimbledon”
El comodín “+” significa solo un nivel, por ejemplo si un cliente se suscribe a “sport/tennis/+”
recibirá mensajes enviados a:
- “sport/tennis/player1”
- “sport/tennis/player2”
- “sport/tennis/player1/ranking”.
- “sport/+” no coincidirá con la cola “sport” pero sí con “sport/”.
- “+” es válido
- “+/tennis/#” es válido
- “sport+” no es válido
- “sport/+/player1” es válido
- “/finance” unifica con “+/+” y con “/+”, pero no con “+”.
El carácter especial “$”: Los topics que comienzan por $ tienen un tratamiento especial.
- $SYS/ ha sido adoptado como prefijo para topics que puedan tener información
específica del servidor o para implementar un API de control.
- Las aplicaciones no pueden usar un topic que comience por $.
MBIGDA_M8T2_160727
120
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Por ejemplo:
- Una suscripcion a “#” no recibirá ningún mensaje publicado a un topic que comience
por “$”.
- Una suscripción a “+/monitor/Clients” no recibirá mensajes publicados en
“$SYS/monitor/Clients”
- Una suscripción a “$SYS/#” recibirá mensajes publicados a topics que comiencen por
“$SYS/monitor/Clients”
- Una suscripción a “$SYS/#” recibirá mensajes que comiencen por “$SYS/”
- Una suscripción a “$SYS/monitor/+” recibirá mensajes publicados a
“$SYS/monitor/Clients”
- Para que un cliente reciba mensajes “$SYS/” y también que no comienzan por $, tiene
que suscribirse a ambos “#” y “$SYS/#”
9.4.4. Seguridad
Típicamente el puerto definido para MQTT es TCP 8883 (nombre de servicio IANA: secure-mqtt).
En un protocolo como MQTT hay que tener en consideración circunstancias en torno a la seguridad,
amenazas, que las diferentes implementaciones deben contemplar y resolver, por ejemplo:
MBIGDA_M8T2_160727
121
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Adicionalmente, se puede necesitar cubrir otros aspectos de seguridad específicos del ámbito
de aplicación del sistema, geográficos (p.e. U.S.-EU SafeHarbor [USEUSAFEHARB]), específicos de
una industria (p.e. PCI DSS [PCIDSS]) y normativas (p.e. Sarbanes-Oxley [SARBANES]).
MBIGDA_M8T2_160727
122
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Una conexión MQTT es siempre entre un cliente y un bróker, dos clientes no se conectan nunca
entre sí directamente. La conexión comienza cuando un cliente envía el mensaje CONNECT al
bróker, este le responde con un mensaje CONNACK y un código de estado. Una vez que la conexión
se ha establecido el bróker la mantendrá abierta de manera permanente hasta que el cliente envíe
un mensaje solicitando la desconexión DISCONNECT o hasta que se pierda la conexión.
Al permanecer la conexión abierta y ser alcanzable la dirección del bróker por el cliente MQTT,
el hecho de que en la infraestructura existan redirecciones por NAT para alcanzar el bróker en
direcciones privadas desde la dirección pública no supondrá ningún problema para hacer llegar
respuestas.
Cada librería o sistema puede tener parámetros adicionales aunque los parámetros
comúnmente requeridos, y esencialmente necesarios, para establecer la conexión son:
MBIGDA_M8T2_160727
123
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- Indicar al broker si el cliente quiere establecer una sesión persistente o no. Una sesión
persistente (CleanSession es falso) significa, que el bróker va a almacenar todas las
suscripciones para el cliente y también todos los mensajes perdidos, cuando se
suscriben con calidad de servicio (QoS) 1 ó 2. Si “clean session” se establece a true, el
bróker no almacenará nada del cliente y también purgará toda la información de una
sesión persistente anterior.
- Usuario y clave: MQTT permite enviar un nombre de usuario y la contraseña para la
autenticación y autorización del cliente. Sin embargo, la contraseña se envía en texto
claro, a no ser que esté cifrado o en hash por la implementación o se utilice TLS por
debajo. Es muy recomendable utilizar nombre de usuario y contraseña junto con un
transporte seguro de la misma. Algunas implementaciones permiten también usar un
certificado SSL, en cuyo caso no se necesita indicar nombre de usuario y contraseña.
- Ultima voluntad, permite notificar a otros clientes, cuando un cliente se desconecta de
forma abrupta. Un cliente que se conecta proporcionará su voluntad en forma de un
mensaje de MQTT y del topic al que enviarlo en el mensaje de CONEXIÓN. Si el cliente
se desconecta abruptamente el bróker envía este mensaje en nombre del cliente.
- El “Mantener Vivo” (Keep alive) es un intervalo de tiempo en el que el cliente enviará
mensajes regulares de PING al bróker. La respuesta del bróker con el PING de respuesta
permitirá a ambas partes determinar si el otro está todavía vivo y accesible.
Una vez se recibe la petición de conexión el bróker responderá con un mensaje CONNACK, que
contendrá un indicador que determina si existe una sesión persistente previa para el cliente en el
bróker, y un código de respuesta que indica si se ha aceptado la conexión o si se ha rechazado, el
código indica el motivo de rechazo.
CONNECT
Cliente Broker
CONNACK
MBIGDA_M8T2_160727
124
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Una vez que se ha establecido una conexión de un cliente MQTT a un broker, el cliente puede
publicar mensajes. Cada mensaje debe contener un topic, que será utilizado por el bróker para
reenviar el mensaje a los clientes interesados en este topic.
Cada mensaje tiene típicamente una carga útil que contiene los datos reales a transmitir en
formato binario. MQTT transporta datos de forma agnóstica, la carga útil puede ser cualquier cosa:
datos binarios, texto, XML, JSON,.... El mensaje de publicación MQTT tiene además:
MBIGDA_M8T2_160727
125
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Una vez que el broker recibe el mensaje lo procesará y lo enviará a los clientes suscritos para el
topic, atendiendo a estos criterios establecidos en el mensaje: topic, QoS, retener último valor,
etc…
Cliente
Suscrito
Cliente Broker
PUBLISH
Cliente
Suscrito
Para que un cliente se suscriba a mensajes tiene que enviar un mensaje de suscripción al
broker, el mensaje de suscripción indicará un identificador de paquete y una lista de suscripciones
con la calidad de servicio deseada para cada suscripción.
MBIGDA_M8T2_160727
126
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Una vez se produzca la suscripción el broker responderá con el mensaje SUBACK, que contendrá
el identificador de paquete para el control interno de la suscripción, y la lista de códigos de retorno,
uno para cada suscripción solicitada, indicando si la suscripción es fallida, o en caso de éxito el nivel
de servicio con el que finalmente se ha realizado la suscripción.
SUBSCRIBE
Broker Cliente
SUBACK
Un cliente suscrito podrá cancelar la suscripción enviando un mensaje UNSUBSCRIBE para dejar
de recibir mensajes, en este tipo de mensaje el cliente indica la lista de topics a los que quiere dejar
de estar suscrito, no se indica QoS, solamente el topic. Al realizar la cancelación el broker
responderá con un mensaje UNSUBACK.
MQTT presenta muchas formas de uso pero mientras algunas de ellas son válidas en cualquier
escenario, algunas de ellas presentan problemas en algunas circunstancias, es importante
contemplar el contexto y aplicar unas buenas prácticas:
- No usar el carácter “/” en la raíz del topic, crea un nivel innecesario. Es preferible usar
“hogar/temperatura” a “/hogar/temperatura/”.
- No usar el espacio en los nombres de los topic, aunque mqtt lo permite, el espacio
complica el uso y la monitorización desde programas externos.
- Usar topics cortos y concisos.
MBIGDA_M8T2_160727
127
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- Usar solo caracteres ASCII imprimibles en los topic, el uso de caracteres especiales
complica el uso y la monitorización desde programas externos.
- Incorporar un identificador del cliente o el clientId en el topic, es útil para reforzar el
esquema de autorización o en general para desarrollar aplicaciones o monitorizar.
- No suscribirse a “#”, recibir todo lo que llega a MQTT puede ser un problema, a veces
es conveniente guardar todos los mensajes en una base de datos, sin embargo, a
menos que puedas garantizar que el cliente va a ser capaz de recibir todos los datos y
guardarlos, suscribirse a “#” podría causar un problema. Algunas implementaciones
MQTT disponen de plugins para realizar eficientemente esta tarea. En cualquier caso en
sistemas Big Data es posible tratar con esta situación, pero debe ser contemplada.
- La estructura jerárquica del topic debe contemplar que pueda extenderse en diferentes
niveles, es decir, que tenga un diseño capaz de ser evolucionado. Por ejemplo, si se está
diseñando un topic para un hogar, tener en cuenta que puede incorporarse un nuevo
sensor, un nuevo electrodoméstico, o incluso levantarse una nueva planta.
- Usar la jerarquía para especificar, en lugar de usar jerarquías genéricas o dejar los datos
sin especificar, por ejemplo es mala práctica llegar a “casa/salón” y hacer llegar todos
los dispositivos y mediciones a ese topic. Sería más adecuado llegar a cada magnitud
“casa/salón/sensorventana/temperatura”
Puede ser muy útil usar un servidor web para monitorizar o presentar la información MQTT, por
la facilidad y popularidad que presenta la tecnología web para construir interfaces de usuario. Por
esto es de especial interés en algunos casos facilitar la comunicación de la información entre un
bróker y un cliente web.
Actualmente desde un navegador no se puede realizar una conexión puramente MQTT ya que
no es posible abrir una conexión TCP de tipo raw. Esto está cambiando debido a un cambio en la
MBIGDA_M8T2_160727
128
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
API de sockets, pero de momento pocos navegadores presentan esta funcionalidad, por lo que se
necesita apoyarse en una capa de transporte que realice en ensamblado y desensamblado de
paquetes emulando la comunicación raw.
TCP TCP
TLS TLS
Websocket Websocket
Web Server
Aplicación
Bridge Navegador web
MQTT Librería js
MQTT
Websocket
Bróker
MQTT Aplicación
Comunicac ión MQTT Broker – Navegador. Posibles esquema s de conexión y protoco los.
En el cliente es necesario introducir una librería Javascript que realice de puente entre
Websocket y MQTT para enviar y recibir los mensajes.
Al usar Websocket como capa de transporte para MQTT se podrá utilizar la versión segura sobre
TLS (Secure Websocket), incorporando seguridad en las comunicaciones.
MBIGDA_M8T2_160727
129
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Existen múltiples implementaciones de MQTT, cada una puede o no resolver las diferentes
características del protocolo. En la siguiente tabla se muestra una comparativa de
implementaciones en función de las características que cubren. Una de las soluciones Open Source
más extendidas es Mosquitto.
plugin system
websockets
dynamic
cluster
bridge
topics
QoS 0
QoS 1
QoS 2
Server
$SYS
auth
SSL
mosquitto ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✘ ✔ ✔
RSMB ✔ ✔ ✔ ✔ ✔ ✔ ✘ ✔ ✘ ✘ ?
WebSphere MQ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ? ? ?
HiveMQ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
Apache Apollo ✔ ✔ ✔ ✔ ✘ ✘ ✔ ✔ ? ✔ ?
Apache ActiveMQ ✔ ✔ ✔ ✔ ✘ ✘ ✔ ✔ ✔ ✔ ✔
my-Channels ✔ ✔ ✔ § ✘ ✘ ✔ ✘ ? ? ?
Nirvana Messaging
RabbitMQ ✔ ✔ ✘ ✔ ✘ ✘ ✔ ✔ ? ? ?
Solace ✔ ✔ ✘ ✔ § ✔ ✔ ✔ ✔ ✔ ✘
MQTT.js ✔ ✔ ✔ § ✘ ✘ ✔ ✔ ✘ ✔ ✘
moquette ✔ ✔ ✔ ✔ ? ? ✔ ? rm ✔ ✘
mosca ✔ ✔ ✘ ✔ ? ? ? ? ✘ ✔ ✘
IBM MessageSight ✔ ✔ ✔ ✔ ✘ ✔ ✔ ✔ § ✔ ✘
2lemetry ✔ ✔ ✔ ✔ ✔ § ✔ ✔ ✔ ✔ ✘
GnatMQ ✔ ✔ ✔ ✔ ✘ ✘ ✘ ✔ ✘ ✘ ✘
JoramMQ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
ThingMQ ✔ ✔ ✔ ✔ ✔ ✘ ✔ ✔ ✔ ✔ ✔
VerneMQ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔ ✔
emqttd ✔ ✔ ✔ ✔ ✔ ✔ ✔ ? ✔ ✔ ✔
Leyenda : ✔ soportado, ✘ no soportado,? no se ha podido comprobar, § con limitaciones, rm en la hoja de ruta
MBIGDA_M8T2_160727
130
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- MQTT.js y my-Channels Nirvana Messaging aceptan peticiones con usuario y clave pero
no realiza actualmente la autenticación.
- IBM MessageSight permite un modo de alta disponibilidad que provee redundancia
similar a un sistema en clúster, pero no realiza balanceo de carga.
- 2lemetry utiliza dominos en los topic, el primer segmento del topic es el nombre de
dominio. El topic $SYS está bajo el dominio (p.e. “com.example/$SYS/#”)
- Solace provee una solución propietaria de bridge entre brokers.
Un ejemplo de instalación y uso de mosquitto en Servidor cloud Ubuntu (12.04 LTS) en este
ejemplo se muestra el envió desde un cliente de consola de un mensaje.
a) Iniciar sesión reemplazando AwsKeyPair.pem con las claves de tu servidor y 0.0.0.0 con la IP.
mosquitto
mosquitto_sub -d -t hola/mundo
MBIGDA_M8T2_160727
131
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
9.5. MQTT-SN
MQTT-SN es una variante del protocolo MQTT surgida para dar respuesta a dispositivos y redes
LSNN, con pérdida de paquetes y pocas capacidades. Si bien MQTT contempla esta situación como
un principio en su especificación, no establece unos criterios objetivos ni subjetivos para ello, solo
es un principio de diseño. MQTT-SN cubre las necesidades simplificando el protocolo para trabajar
en redes de sensores. Como bróker se usa un bróker MQTT al que se conectan pasarelas que
realizan la traducción MQTT-SN a MQTT.
Existen tres tipos de nodo MQTT-SN: Clientes (Client), Pasarelas (GW) y Enrutadores (Fowarder).
Los clientes se conectan a un servidor MQTT a través de una pasarela MQTT-SN GW usando el
protocolo MQTT-SN. La pasarela puede o no estar integrada directamente en un broker MQTT (no
SN). En caso de no estar integrada, el protocolo MQTT se usa entre la pasarela y el broker MQTT. La
principal función de la pasarela es la traducción entre MQTT-SN y MQTT.
MBIGDA_M8T2_160727
132
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Los clientes MQTT-SN pueden acceder al MQTT-GW a través de un enrutador (Fowarder) que
encapsula las tramas MQTT-SN que recibe de la zona wireless lo reenvía al Gateway, y realiza la
misma tarea en sentido contrario, sin modificar el contenido de la trama.
Existen dos modos de funcionamiento para las pasarelas MQTT-SN, modo transparente y modo
agregación:
- En modo transparente cada cliente establece y mantiene una conexión con el broker,
por tanto habrá tantas conexiones en el broker como clientes. La traducción de
protocolo (MQTT-SN <-> MQTT) será meramente sintáctica. Dado que la conexión es
entre los dos extremos, clientes y broker, todas las funciones y características del
broker serán proporcionadas a los clientes. Si bien la implementación de la pasarela en
modo transparente es más simple, requiere que el servidor mantenga tantas
conexiones como clientes, lo que puede resultar en un problema de escalabilidad o
rendimiento.
- En modo agregación se mantiene una única conexión entre la pasarela y el broker. El
intercambio de mensajes con los clientes finaliza en la pasarela que decide la
información que se enviará al broker. Las pasarelas de agregación actúan como un
concentrador, y el número de conexiones con el broker se reducen, lo que es útil en
redes WSN con muchos dispositivos.
MBIGDA_M8T2_160727
133
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Un mensaje MQTT-SN consiste en dos campos: una cabecera y una parte variable. La cabecera
está presente en todo mensaje y dependiendo del tipo de mensaje tendrá 2 o 4 octetos, en cambio
la parte variable estará o no presente, y su longitud dependerá del tipo de mensaje indicado en la
cabecera.
La cabecera tiene un número long de uno o tres octetos, e indica el número de octetos total del
mensaje, incluida la cabecera. Si el primer octeto es 0x01entonces la longitud del campo es de 3
octetos y representa un long codificado mediante MSB (byte más significante primero), si no, el
primer octeto representa la longitud.
Es importante tener en cuenta que por los objetivos de ser un protocolo de “bajo peso“, MQTT-
SN no realiza fragmentación ni re-ensamblado de paquetes, por tanto, el tamaño máximo de un
mensaje que puede usar en una red está limitado por el tamaño máximo de un paquete en la red, y
no por el valor máximo representable en el campo longitud codificado en la cabecera del mensaje
MQTT-SN.
En cuanto a la compatibilidad con redes ZigBee hay dos aspectos importantes a considerar: los
nodos Gateway MQTT-SN deben desplegarse en nodos coordinadores, en nodos en modo “router
always-on” para que estén siempre disponibles para recibir mensajes. Por otra parte los mensajes
están limitados a la capacidad máxima de ZigBee que es de 60 octetos.
MBIGDA_M8T2_160727
134
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Existen varias implementaciones de Broker MQTT cada una de ellas presenta variedades y
funcionalidades adicionales:
Broker MQTT
EMQTTD Broker clusterizable, escalable masivamente, Opensource,
versión de protocolo MQTT V3.1/3.1.1 escrito en
Erlang/OTP soporta WebSocket, STOMP, StockJS, CoAp y
MQTT-SN simultáneamente.
ActiveMQ Sistema de mensajería OpenSource de la fundación
Apache con plugin para MQTT.
Apollo Nuevo sistema de mensajería Apache construido sobre las
bases de ActiveMQ que soporta MQTT mediante plugin.
HiveMQ Solución propietaria escalable y segura.
IBM MessageSight IBM Soluciones propietarias de IBM para MQTT
Websphere MQ Telemetry
JoramMQ Proporciona MQTT sobre el sistema de mensajería Open
Source JORAM escrito en Java basado en ActiveMQ.
Mosquito Servidor opensource MQTT con clientes C,C++, Python y
Javascript
RabbitMQ Broker AMQP de SpringSource que tiene un MQTT plugin.
Solace Message Routers Sistema de mensajería propietario con funcionalidades
para MQTT
MQTT.js Servidor MQTT node.js
Brokers MQTT
Por otra parte el uso de un protocolo estandarizado permite independizar las tecnologías o
implementaciones utilizadas en consumidores, productores y broker, algunos clientes son:
Clientes MQTT
Arduino client for MQTT Cliente para Arduino
NanodeMQTT Cliente para placa Nanode (dispositivo parecido a Arduino).
Eclipse Paho Implementaciones en diferentes lenguajes de clientes
OpenSource MQTT y MQTT-SN.
MeQanTT Proyecto que muestra las bases de un cliente MQTT, de
carácter formativo, no es para ser usado en producción.
Mosquito javascript websocket Cliente Javascript experimental de Mosquito
client
Clientes MQTT p ara implementar Productores y Consumidor es
MBIGDA_M8T2_160727
135
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Herramientas MQTT
Mqtt.io Cliente web para cualquier Broker MQTT público.
Eclipse Paho Vista de eclipse para interactuar con un broker MQTT.
MQTT/HTTP Bridge Pasarela que expone MQTT bajo HTTP
MQTT/HTTP Bridge Sensemote Pasarela que expone MQTT bajo HTTP REST
MQTT Over Websockets Experimental de proyecto Mosquito
Herramientas MQTT
9.6. AQMP
AQMP es un estándar que define un protocolo de comunicaciones, la comunicación se basa en
colas de mensajería de publicación y suscripción sobre TCP/IP. El protocolo fue orientado desde sus
inicios hacia el sector financiero, y lograr una gran interoperabilidad. Se define como protocolo a
nivel de cable: El estándar de AQMP permite alta interoperabilidad al transportar entre las
aplicaciones octetos de bytes. Cualquier programa que pueda crear e interpretar mensajes
conforme a este formato de datos puede interoperar con cualquier otra herramienta que cumpla
con este protocolo, independientemente del lenguaje de implementación.
Está muy extendida la versión 0.91 pero ha sido estandarizada una nueva versión 1.0 que es
estándar internacional ISO/IEC 19464 promovido por OASIS. Es un protocolo completamente
abierto.
MBIGDA_M8T2_160727
136
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
TCP TCP
Intercambiador Cola
Cliente Cliente
BROKER
- Los clientes son aplicaciones que pueden conectarse al bróker, en un esquema con
autenticación por nombre de usuario y clave.
- La conexión se realiza de forma permanente sobre un protocolo de transporte como
TCP, una conexión está ligada a un cliente.
- Las conexiones se aprovechan multiplexando en ella la información a transmitir a un
cliente, para esto se define y se maneja en el protocolo el concepto de canal, de
manera que, en una misma conexión física puede circular información de diferentes
canales lógicos.
- Una vez se establece la conexión, dentro de un canal, se crean las estructuras lógicas o
entidades necesarias para el comportamiento deseado según las opciones que ofrece
AMQP.
9.6.1. Broker
El bróker AQMP es el software que, de forma centralizada o distribuida (en una máquina o
varias), proporciona un servicio por el que recibe mensajes enviados por programas software y los
entrega a los programas software destinatarios que se han suscrito para recibirlos.
9.6.2. Intercambiadores
Un intercambiador es un enrutador que aplicará unas reglas para enviar los mensajes a las
colas, donde los mensajes esperarán para ser consumidos por los clientes. Los clientes envían los
MBIGDA_M8T2_160727
137
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
mensajes a un intercambiador en un bróker, este decidirá a que colas debe enviarlo para resolver
las suscripciones.
Para decidir el enrutamiento de los mensajes a las colas, el intercambiador tiene varios modos
de funcionamiento:
Modo fanout: se ignora el valor de la clave de enrutamiento de manera que todo mensaje es
enviado a todas las colas, sin aplicar distinción.
Ejemplo de enrutamiento Fan out, los mensajes se envían a todas las co las
Modo Intercambio directo: el sistema enviará únicamente los mensajes a las colas cuyo
nombre esté enlazado mediante una regla al nombre indicado en el campo de enrutamiento del
mensaje. Una cola puede ser receptora de mensajes con diferentes valores si se definen varias
entradas en la tabla de enrutamiento para la misma cola, y un mensaje puede ser dirigido también
a varias colas si se definen varias salidas en la tabla de enrutamiento para el mismo mensaje.
Ejemplo de enrutamiento dire cto en e l que se envían mensajes a diferentes co las, los men sajes info y warn ing van a una
cola, mientras que los mensa j es de error van a las dos c olas .
9.6.3. Colas
Una cola consistirá en una lista de mensajes que se encola en el bróker bajo un nombre
identificador de la cola, los datos se almacenan en orden de llegada hasta ser entregados a los
MBIGDA_M8T2_160727
138
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
clientes suscritos formando una cola FIFO, en algunos casos el orden podría no garantizarse
dependiendo de la implementación y la situación (por ejemplo en algunas recuperaciones ante una
caída del sistema).
Entre las propiedades al crear una cola, y en consecuencia formas de uso, están:
Persistencia de la cola, que permite indicar si la cola será persistente ante una caída del
servidor. Dependiendo de la naturaleza de la información y de su uso, puede ser innecesario un
sistema de persistencia de información en disco o por lo contrario muy necesario, AQMP permite
ambos modos de funcionamiento.
Las colas pueden ser usadas por varios clientes o ser de uso exclusivo de un único cliente.
Además de estas propiedades, una cola puede ser eliminada de forma automática cuando no
queden suscripciones o se cierren todas las sesiones.
Una forma de funcionamiento consistirá en hacer llegar todos los mensajes de una cola a todos
los consumidores, otra en enviar los mensajes en round-robin a diferentes consumidores, este
modo de funcionamiento es muy útil para distribuir trabajos o realizar equilibrios de carga.
9.6.4. Mensajes
Los mensajes no tienen nombre y son enviados para publicarse a un intercambiador. Están
compuestos de un encabezamiento y un cuerpo de mensaje con el contenido. AQMP proporciona
en su estructura de mensaje la capacidad de proporcionar información relativa al mensaje,
mientras que el cuerpo contiene simplemente datos, que el protocolo no procesará (agnóstico), el
mensaje consiste en una estructura que permite incorporar información acerca del mensaje.
MBIGDA_M8T2_160727
139
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
El mensaje se compone de dos partes annotated message y bare message, Annotated message
es el mensaje que envía el emisor y que encapsula al bare message, Bare Message es el mensaje
que obtiene el cliente, y obviamente encapsula los datos a transmitir en el mensaje.
Estructura de un mensaje AQ MP
Header o Cabecera del mensaje: Contiene los campos necesarios para el protocolo AQMP:
MBIGDA_M8T2_160727
140
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Message-annotations: Las anotaciones del mensaje son anotaciones que trascienden más allá
del extremo de la conexión, y deben ser propagada por toda la infraestructura hasta el cliente, pero
no pertenece a la aplicación su información es igualmente para la implementación del protocolo,
igualmente permite personalizar el protocolo o transmitir información adicional para poder
proporcionar comportamientos personalizados.
Properties: Son un conjunto de propiedades estándar del mensaje. Esta sección pertenece al
“Bare Message”, por tanto será retransmitida por todo intermediario, de forma inalterada, la
información estará disponible para el cliente de aplicación al pertenecer al “Bare Message”.
DATA: la sección de datos contiene una de las siguientes tres posibles secciones:
Footer: una serie de información que podrá ser usada por el protocolo una vez el mensaje ha
sido obtenido: hash, firmas, datos de encriptación,…
MBIGDA_M8T2_160727
141
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- RabbitMQ está escrito en Erlang, y es uno de los sistemas más ampliamente utilizado.
RabbitMQ es fácil de usar y conveniente para la escala cloud. La aplicación es apoyada
por la mayoría de los principales sistemas operativos y plataformas, y es de código
abierto bajo la licencia pública de Mozilla. Está diseñado para la mensajería empresarial
y presta servicios de mensajería a través de adaptadores, SMTP, STOMP, HTTP y
mensajería web ligera. Cuenta con una próspera comunidad de usuarios activos y
colaboradores, y proporciona una gama completa de apoyo a la ejecución comercial a
través de la división de SpringSource Vmware. No hay limitación de un mensaje en el
tiempo RabbitMQ que le permite enviar mensajes dos veces para los consumidores y a
los consumidores obtener múltiples mutuamente diferentes mensajes a la vez.
- OpenAMQ: Incluye WireAPI que cuenta con herramientas de administración remotas,
federación instantánea, conmutación por error de la línea, protección contra los
clientes lentos y muchas otras características. No tiene una amplia comunidad de
desarrollo.
- StormMQ proporciona un middleware orientado a mensajes alojados en las
instalaciones o como solución en la nube. Se proporciona la plataforma abierta y
segura, con la protección jurídica necesaria para los datos transferidos a través de la
nube. La solución funciona con clientes de RabbitMQ y Apache Qpid, y también a través
de código abierto con el código bajo licencia pública de Mozilla. El software está escrito
en Java.
- Apache Qpid: proporciona APIS C ++, JMS, Java, Python, .Net y Ruby. Todos los datos de
la cola y los metadatos se replica a través de los nodos que forman un clúster. QPID es
un tipo de proyecto de Apache, que tiene muchos clientes y dos bróker que soportan
versiones de estándares AMQP de terceros.
- Red Hat Enterprise MRG ofrece un buen número de características que incluyen la
gestión completa del sistema, clustering activo a través de Apache Qpid, federación, y
el apoyo a la consola web. También está disponible en la versión más reciente de
Fedora como Infraestructura AMQP. Su versión incluye QPID de Apache, que ayuda a
MBIGDA_M8T2_160727
142
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
El propósito del protocolo es el consumo inteligente de la energía por parte de los dispositivos
de un hogar, atendiendo a la producción y a la demanda de energía existente, pretendiendo que
estos consuman energía de una forma más inteligente al estar interconectados e intercambiando
información con la red de distribución y el usuario. SEP2.0 pretende que los dispositivos de forma
nativa (principalmente electrodomésticos) incluyan este protocolo y con sus funciones para
proporcionar y tomar la información necesaria para desarrollar un comportamiento inteligente
respecto del consumo de energía.
MBIGDA_M8T2_160727
143
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Respecto al modelo de red OSI, el Energy Smart Profile 2.0 es un protocolo de aplicación que se
construye utilizando el modelo de Internet de pila de cuatro capas. Esta especificación define la
capa de "aplicación" con servicios REST a través de HTTP sobre TCP/IP. Dependiendo de la capa
física que se use (por ejemplo, 802.15.4, 802.11, 1901) una variedad de protocolos en las capas
inferiores pueden estar implicados en la construcción de una solución completa SEP2.0. El
protocolo SEP2.0 define los mecanismos para el intercambio de mensajes de aplicación, y los
elementos de seguridad utilizados para proteger los mensajes de aplicación.
El perfil de energía inteligente está diseñado para implementar una arquitectura REST. Está
construido en torno a las operaciones básicas GET, HEAD, PUT, POST y DELETE (tal como se utiliza
MBIGDA_M8T2_160727
144
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
El contenido de los mensajes intercambiados se expresa en XML o EXI (codificación de XML para
reducir el tamaño del documento).
El protocolo hace hincapié en proveer mecanismos de seguridad sobre TLS a nivel de aplicación,
proporcionando una solución para la autenticación y la autorización, sobre dispositivos y servicios,
atendiendo a perfiles y lista de control de acceso (ACL). Proporciona un perfil por defecto de
atributos y valores para políticas de seguridad, que incluye aspectos muy globales como
mensajería, descarga, medición, facturación, prepago, suscripción,…
MBIGDA_M8T2_160727
145
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
146
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
empujar hacia abajo los objetivos. Un objetivo podría ser un porcentaje o valor fijo de la
reducción de factura - posiblemente elegido por el consumidor - para lograrse dentro
de un marco de tiempo definido.
- Prepago: El conjunto de funciones de Prepago define un mecanismo para la distribución
condicional de los servicios basados en el crédito pendiente o débito. Proporciona una
interfaz para clientes con privilegios adecuados para ver, actualizar o actuar sobre la
información del saldo de la cuenta y decidir realizar o no actividades.
- Reserva de energía: Este conjunto de funciones proporciona una interfaz para el
intercambio de energía (por ejemplo, carga o descarga) mediante eventos de reserva.
Los dispositivos cliente de este conjunto de funciones incluyen dispositivos de
almacenamiento de energía distribuida, enchufes de vehículos eléctricos, y otras cargas
que consuman mucha energía. Permiten la programación de los períodos de alta
demanda como por ejemplo durante las operaciones de carga rápida, para que
funcionen en diferentes momentos y evitar la gran demanda agregada. Por lo general,
las tarifas de energía tienen multas, cargos, o clases de clientes por diferentes niveles
de demanda, por lo que es generalmente menos costoso mantener la máxima demanda
lo más bajo posible. Empresas de distribución pueden apoyar esta función ajustada
para minimizar la demanda máxima en todo el sistema de distribución.
- Recursos distribuidos: Funcionalidades para gestionar las situaciones en que la energía
se almacena y se consume a posteriori, por ejemplo vehículo eléctrico, baterías en el
hogar, etc. estas funcionalidades proporcionan mecanismos para la gestión de distribuir
y almacenar la energía en el destino para su consumo posterior.
- Mirror de medición: Funcionalidades para dispositivos con capacidades restringidas tal
que puedan enviar las mediciones y no tengan que almacenarlas localmente.
MBIGDA_M8T2_160727
147
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
entretenimiento. UPnP está diseñado principalmente para redes de hogar sin dispositivos del
ámbito empresarial. Está muy orientado a la actuación o control sobre los dispositivos de forma
remota.
SALÓN HABITACIÓN
PUNTO DE CONTROL
Internet
OFICINA
Ejemplo de uso de UPnP para controlar dispos itivos del hog ar de forma remota
El Foro UPnP está compuesto por más de ochocientos fabricantes de diferentes ámbitos que
van desde la Electrónica de consumo hasta las redes de ordenadores. Los dispositivos UPnP son
"plug-and-play" en el sentido de que una vez conectados a una red son capaces de establecer de
manera automática comunicaciones con otros dispositivos.
MBIGDA_M8T2_160727
148
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
9.8.1. Direccionamiento
La base de UPnP es el direccionamiento IP: cada dispositivo debe implementar un cliente DHCP
y buscará un servidor DHCP en cuanto se conecte por primera vez a la red. Si no hay ningún
servidor DHCP disponible, el dispositivo debe asignarse a sí mismo una dirección.
El proceso por el cual un dispositivo UPnP se auto-asigna una dirección se denomina AutoIP. En
la versión 1.0 de la especificación de la arquitectura UPnP, se incluye textualmente la propia
especificación de AutoIP; en versión 1.1, la especificación de AutoIP referencia el RFC
3927 de IETF RFC 3927.
MBIGDA_M8T2_160727
149
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Cliente DHCP
Obtener IP
9.8.2. Descubrimiento
Una vez que un dispositivo ha establecido una dirección IP, el siguiente paso en UPnP es el
descubrimiento. El protocolo de descubrimiento de UPnP se denomina Simple Service Discovery
Protocol (SSDP). SSDP permite a los dispositivos que acaban de añadirse a una red anunciar sus
servicios a los puntos de control presentes en la red. Asimismo, cuando se añade un punto de
control a la red, SSDP le permite buscar los dispositivos que le interese controlar.
MBIGDA_M8T2_160727
150
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Anunciar servicios
9.8.3. Descripción
Después de que un punto de control haya descubierto un dispositivo, todavía dispone de muy
poca información acerca de él. El punto de control debe obtener la descripción del dispositivo
desde la URL proporcionada por el dispositivo en el mensaje de descubrimiento para conocer mejor
sus capacidades y poder interactuar con él.
Para cada servicio, la descripción incluye una lista de los comandos, o acciones, a las que
responderá el servicio, y parámetros, o argumentos, de cada acción; la descripción de un servicio
también incluye una lista de variables; estas variables modelan el estado del servicio en tiempo de
ejecución, y se describen en términos de su tipo de datos, rango y las características de sus eventos.
MBIGDA_M8T2_160727
151
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
9.8.4. Control
Al obtener la descripción del dispositivo, el punto de control puede enviar acciones a los
servicios de un dispositivo. Para ello, el punto de control envía un mensaje de control apropiado a
la URL de control del servicio (proporcionada en la descripción del dispositivo). Los mensajes de
control también se codifican en XML mediante Simple Object Access Protocol (SOAP).
El servicio responderá con un mensaje de control con los resultados de la acción de forma
similar a una llamada a una función. Los efectos de la acción, en caso de existir, se modelarán
mediante cambios en las variables que describen el estado del servicio.
MBIGDA_M8T2_160727
152
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Actuación
La descripción UPnP de un servicio incluye una lista de las acciones a las que el servicio
responde y otra con las variables que modelan el estado del servicio en tiempo de ejecución. El
servicio enviará actualizaciones cuando cambien dichas variables a cualquier punto de control que
se haya suscrito para recibir dicha información.
Cuando un punto de control se suscribe por primera vez se le envía un mensaje especial de
eventos; que contiene el nombre y los valores de todas las variables que generan eventos y permite
al suscriptor conocer el estado actual del servicio.
La notificación de eventos UPnP se ha diseñado para mantener a todos los puntos de control
informados por igual sobre los efectos de cualquier acción, de este modo se permite soportar
escenarios con múltiples puntos de control. Por tanto, los mensajes de eventos se envían a todos
MBIGDA_M8T2_160727
153
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
los suscriptores, los suscriptores reciben mensajes para todas las variables que han cambiado a las
que se han suscrito y los mensajes se envían sin importar el motivo que modificó la variable de
estado (tanto en respuesta a una petición, como por el cambio del estado interno del servicio).
Los puntos de contro l se mant ienen in formados del estado del dispos itivo median te una suscripción a eventos.
9.8.6. Presentación
MBIGDA_M8T2_160727
154
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Aplicación HTML de
presentación
Punto de control UPnP
El dispos it ivo puede implementar presentac ión a través de un inter faz de usuar io HTML
API API
HTTP HTTP
IP IP
MBIGDA_M8T2_160727
155
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Implementaciones de un d isp osit ivo y un pun to de c ontro l, la d ifer enc ia pr inc ipa l en cua nto a c omponentes está en el
servidor web para servir las a plic aciones de presentación e n el d ispositivo.
OPC estandarizó los sistemas industriales, permitiendo construir aplicaciones que podían usarse
en diferentes sistemas o industrias, bajo el sistema OPC puede haber múltiples protocolos,
específicos de cada sistema o dispositivo.
El sistema OPC es un sistema local centralizado en un servidor que constituye una arquitectura
cliente-servidor, en la que se accede a datos de diferentes sistemas o servicios subyacentes.
Las aplicaciones pueden acceder a varios servidores OPC y los servidores OPC albergan los
drivers para interoperar con los dispositivos específicos desplegados.
MBIGDA_M8T2_160727
156
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
La especificación OPC es OPC Data Access, que se utiliza para leer y escribir datos en tiempo
real. Cuando los fabricantes se refieren a OPC de forma genérica, por lo general significan OPC Data
Access (OPC-DA).
OPC-DA en ha pasado por tres revisiones importantes desde su creación. Las versiones son
compatibles hacia atrás, un OPC Server versión 3 todavía se puede acceder por una versión 1 de
OPC Client. Sin embargo, un cliente compatible con DA-3 no necesariamente va a trabajar con un
servidor DA 1.0.
Además especificación OPC DA, la Fundación OPC también mantiene la especificación OPC HDA
(Historical Data Access). En contraste con los datos en tiempo real que se puede acceder con el
OPC-DA, OPC-HDA permite el acceso y la recuperación de los datos archivados.
MBIGDA_M8T2_160727
157
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Una diferencia importante de DDS frente a OPC consiste en que mientras que OPC está
orientado a una arquitectura centralizada de tipo cliente-servidor, y se comparten objetos, DDS
comparte datos, y es sobre los datos sobre los que se define la visibilidad, el descubrimiento, la
seguridad, etc. en lugar de ser sobre los sistemas y dispositivos. Otra gran diferencia es el protocolo
subyacente en DDS de publicación subscripción en tiempo real.
MBIGDA_M8T2_160727
158
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Con DDS las aplicaciones pueden de forma autónoma y asíncrona leer y escribir datos
disfrutando de desacoplamiento local y temporal, incorpora descubrimiento dinámico, aislando las
aplicaciones de la topología de red y de los detalles de conectividad. Dispone de un sistema de
políticas de calidad de servicio que define las restricciones de tiempo y de disponibilidad de los
datos.
DDS define un espacio global de datos y permite construir arquitecturas descentralizadas, que
eviten tener puntos únicos de fallo. La conectividad entre los nodos se adapta dinámicamente para
elegir la forma óptima (TCP, o UDP Unicast/Multicast) para compartir los datos.
En DDS un Topic de publicación está definido por un nombre, una calidad de servicio y un tipo, y
permite la expresión de propiedades funcionales y no funcionales de un modelo de información.
DDS es utilizado en sistemas como la Integración de Centros de Control de Tráfico aéreo a nivel
Europeo, Sistemas de Transporte, Smart Cities, Centros de control de satélites, vehículos
autónomos, Sistemas financieros de auto trading de alta frecuencia…
MBIGDA_M8T2_160727
159
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Está en curso una definición de Gateway que permita la conexión de un sistema OPC en un DDS
de forma transparente.
Está diseñado para funcionar sobre IP en modo multicast (envío de mensajes de uno a muchos)
y capa de transporte sin conexión best-effort como IP sobre UDP.
Es idóneo en entornos críticos o industriales con control, por las garantías que ofrece y la
robustez del sistema.
MBIGDA_M8T2_160727
160
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Los dispositivos pueden ser agrupados en subsistemas, y disponer de una gestión interna
jerárquica. La funcionalidad y los datos que provean esos subsistemas estarán disponibles en la red
de Internet de las Cosas, dependiendo del nivel de privacidad deseado por el propietario del
subsistema, o los datos.
Los datos de IoT tienen características distintivas que hacen que la gestión de bases de datos
relacionales tradicional sea una solución obsoleta o escasamente aplicable. Un volumen masivo de
datos heterogéneos, en stream, dispersos geográficamente, en tiempo real será creado por
millones de dispositivos periódicamente, enviando datos sobre situaciones u objetos
monitorizados, e información de interés.
Las necesidades de comunicación y almacenamiento de los datos generados por tal volumen de
dispositivos requieren el desarrollo de tecnología y la aplicación de tecnologías diferentes a las
convencionales. Por otra parte es necesario guardar metadatos que describen las cosas y como
interactuar con ellas, así como quien puede acceder a los datos y las acciones sobre estas. Esta
MBIGDA_M8T2_160727
161
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
información debe guardarse de una forma flexible dada la inmensa variedad de cosas y acciones
que debe ser capaz de describir.
Primero vamos a definir el ciclo de vida de los datos en el contexto de la IoT y luego desgranar
las actividades clave a realizar, con el fin de tener una mejor comprensión de la gestión de datos IO.
MBIGDA_M8T2_160727
162
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
El ciclo de vida de los datos en un sistema IoT comienza en la producción de datos y agregación,
la transferencia y opcionalmente el filtrado y pre-procesamiento, finalmente los datos son
almacenados y archivados.
Los datos tienen como finalidad ser consultados o analizados a través de peticiones y consumo
de los datos producidos, pero también pueden ser enviados a los servicios que consumen
información “online”.
10.1.1. Consulta
Sistemas de uso intensivo de datos se basan en la consulta como el proceso central para
acceder y recuperar datos. En el contexto de la IoT, una consulta puede ser emitida ya sea para
solicitar datos en tiempo real para ser recogidos con fines de vigilancia, o temporales para
recuperar una vista de los datos almacenados en el sistema. El primer caso es típico cuando se
necesita una solicitud de tiempo real, típicamente datos muy concretos o localizados sin una visión
MBIGDA_M8T2_160727
163
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
global. El segundo caso representa análisis más globalizados de datos y análisis en profundidad de
tendencias y patrones.
10.1.2. Producción
10.1.3. Recolección
Los sensores y objetos inteligentes en IoT pueden almacenar los datos durante un cierto
intervalo de tiempo o enviarlos directamente. Los datos pueden ser recogidos en los puntos de
concentración o puertas de enlace dentro de la red donde se filtra y se procesa adicionalmente, y
posiblemente pueden ser fundidos en formas compactas para realizar una transmisión eficiente.
Las tecnologías de comunicación inalámbrica tales como Zigbee, Wi-Fi y 3GPP son utilizados por los
objetos para enviar datos a los puntos de recogida.
10.1.5. Entrega
MBIGDA_M8T2_160727
164
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
necesario que tengan que ser llevados a otros sistemas ya sea para dar respuestas finales, o para el
almacenamiento y el análisis en profundidad. Para transferir datos a los almacenes de datos
permanentes se pueden usar conexiones de cable o Wireless.
10.1.6. Preprocesado
Los datos de IoT vendrán de diferentes fuentes con diferentes formatos y estructuras. Los datos
pueden necesitar ser pre-procesados para completar datos que faltan, eliminar redundancias e
integrar datos de diferentes fuentes en un esquema unificado antes de ser almacenados. Este
procesamiento previo es un procedimiento conocido en la minería de datos denominada limpieza
de datos. Este pre-procesado tiene que ser ligero, no puede tratarse de un proceso de fuerza bruta,
por lo que podrá realizar ciertas comprobaciones para evitar el compromiso de la información
almacenada pero no garantizará más allá la calidad de los datos.
Esta fase se ocupa del almacenamiento eficiente y la organización de los datos, así como de la
continua actualización de los datos con la nueva información a medida que esté disponible.
Archivado se refiere al almacenamiento a largo plazo de los datos que no se necesita estar
disponible de inmediato para las operaciones del sistema. El núcleo de almacenamiento
centralizado es el despliegue de estructuras de almacenamiento que se adaptan a los diferentes
tipos de datos y la frecuencia de captura de datos. Sistemas de gestión de bases de datos
relacionales son una opción popular que consiste en la organización de los datos en un esquema de
la tabla con interrelaciones predefinidas y metadatos para la recuperación eficiente en las etapas
posteriores. Almacenes NoSQL de claves y valores están ganando popularidad por el soporte del
almacenamiento Big Data, especialmente aquellos sin ninguna dependencia de esquema relacional
o requisitos de integridad referencial fuertes típicas de los sistemas de bases de datos relacionales.
El almacenamiento también puede ser descentralizado para sistemas de IoT autónomos, en los que
los datos se necesitan y se mantienen en los objetos que lo generan y no se requiere enviarlos a un
sistema centralizado. Sin embargo, debido a la reducida capacidad de este tipo de objetos, la
capacidad de almacenamiento es limitada en comparación con el modelo de almacenamiento
MBIGDA_M8T2_160727
165
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
centralizado. Por ejemplo un vehículo autónomo tendrá que mantener la información necesaria
disponible en el vehículo para poder funcionar ante un fallo en la conexión.
Esta fase incluye el análisis de las operaciones realizadas y de los datos recuperados,
almacenados y los datos con el fin de proporcionar investigación y análisis de los datos históricos y
predecir tendencias futuras, o para detectar anomalías en los datos que pueden dar lugar a nuevas
investigaciones o acciones. Tareas específicas de limpieza y pre-procesado tienen que ser realizadas
orientando la información para facilitar estas operaciones. Cuando un subsistema de la IoT es
autónomo y no requiere el almacenamiento permanente de los datos, sino que más bien mantiene
el procesamiento y almacenamiento en la red, a continuación, dentro de la red de procesamiento
se puede generar una respuesta en tiempo real o consultas sobre datos localizados (en el tiempo).
En IoT la alta variedad de los datos crean un ambiente altamente dinámico para los
optimizadores de consulta. Así, garantizar los requisitos de transparencia de los modelos de datos
relacionales RDBMS es difícil, si no imposible. El mantenimiento de las propiedades ACID en IoT es
posible quizá en espacios delimitados (subsistemas), en los que las transacciones de ejecución
MBIGDA_M8T2_160727
166
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
pueden ser afrontadas, pero es un reto no resuelto mantener las propiedades ACID en el espacio
global del sistema.
Las propiedades ACID se refieren a las funcionalidades que proporcionan los sistemas de bases
de datos respecto a las garantías que ofrecen en el procesamiento de la información, el acrónimo
representa a las siguientes propiedades:
- Atomicidad: Si una operación consiste en una serie de pasos, todos ellos ocurren o
ninguno, es decir, las transacciones son completas.
- Consistencia: Integridad. Es la propiedad que asegura que sólo se empieza aquello que
se puede acabar. Por lo tanto se ejecutan aquellas operaciones que no van a romper las
reglas y directrices de Integridad de la base de datos. La propiedad de consistencia
sostiene que cualquier transacción llevará a la base de datos desde un estado válido a
otro también válido. "La Integridad de la Base de Datos nos permite asegurar que los
datos son exactos y consistentes, es decir que estén siempre intactos, sean siempre los
esperados y que de ninguna manera cambien ni se deformen. De esta manera podemos
garantizar que la información que se presenta al usuario será siempre la misma."
- Isolation (Aislamiento): es la propiedad que asegura que una operación no puede
afectar a otras. Asegura que la realización de dos transacciones, sobre la misma
información, sea independiente y no generen ningún tipo de error. Esta propiedad
define cómo y cuándo los cambios producidos por una operación se hacen visibles para
las demás operaciones concurrentes. El aislamiento puede alcanzarse en distintos
niveles, siendo el parámetro esencial a la hora de seleccionar un SGBD.
- Durabilidad: Persistencia. Es la propiedad que asegura que una vez realizada la
operación, ésta persistirá y no se podrá deshacer aunque falle el sistema y que de esta
forma los datos sobrevivan de alguna manera.
Existen dos técnicas ampliamente utilizadas para lograr ACID: una consiste en escribir a un
registro antes de continuar, la atomicidad es garantizada asegurándose que toda la información
esté escrita a un registro antes que se escriba a la base de datos, la otra forma extendida consiste
MBIGDA_M8T2_160727
167
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
en sombrear, las actualizaciones se aplican a una copia de la base de datos, y se activa la nueva
Es difícil garantizar características en un ambiente de red. Las conexiones de red pueden fallar,
o dos usuarios pueden utilizar la misma parte de la base de datos al mismo tiempo.
A lo sumo se pueden dar dos de las condiciones por lo que los sistemas distribuidos, solo
podrán garantizar AP, CA, o CP. Los subsistemas deben ser concordantes o contemplar esta
situación.
El diseño del sistema de gestión de datos define la gestión de los datos y cómo los datos se
deben almacenar y archivar.
Los elementos de procesamiento se ocupan del acceso útil para el usuario a los almacenes de
datos.
MBIGDA_M8T2_160727
168
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Elementos de diseño para una soluc ión de gestión de d atos para IoT
Uno de los servicios de valor añadido para proporcionar la IoT es la capacidad de aprovechar
diversas fuentes de datos que no necesariamente pertenecen al mismo subsistema. Por lo tanto, se
necesita un mecanismo fuentes de descubrimiento para aplicaciones de IoT para que puedan
anunciar sus necesidades de servicio y obtener respuestas de fuentes cuyos datos pueden
satisfacer estas necesidades. El sistema puede descubrir fuentes de datos ya sea a través de
rastreo, o por medio de a partir de un conjunto predefinido de fuentes de datos que más tarde
pueden crecer medida que se descubren nuevas.
La recolección de datos puede ser temporal o modal. La recopilación de datos temporal incluye
la recolección de datos de todas las "cosas" a intervalos determinados, mientras que la recolección
modal incluye la recolección de los datos correspondientes a elementos específicos. La variación de
las necesidades de datos que es de esperar en sistemas de IoT puede dictar que se tenga más de un
esquema de base de datos para acomodar las dos metodologías de recopilación de datos
Los dispositivos móviles y sus entidades son un subconjunto importante de las "cosas". A
medida que avanza su uso, necesitan ser capaces de informar y acceder a almacenes de datos de
una manera transparente. Se han propuesto soluciones para los sistemas de gestión de bases de
MBIGDA_M8T2_160727
169
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
datos que se ejecutan en dispositivos móviles, que utilizan un sistema de sincronización basada en
sesión para el intercambio de datos y mecanismos de almacenamiento para facilitar la
sincronización de datos. La abstracción de la conectividad y el mantenimiento del contexto
semántico en movimiento son los principales factores que deben ser abordados con el fin de
apoyar la movilidad en la gestión de los datos de la IoT.
Además de las arquitecturas federadas, existe una tendencia creciente de construir sistemas de
IoT alrededor de arquitecturas orientadas a servicios interoperables.
Hay una necesidad de middleware centrado en los datos en lugar de centrado en las
comunicaciones. Esta capa de middleware servirá para proporcionar capacidades más versátiles
para descubrir las fuentes de datos y el acceso y análisis de datos heterogéneos y distribuidos
geográficamente. La capa de middleware también se centrará en la transferencia escalable de gran
volumen de datos enviado desde la red a los almacenes de datos. Hay una necesidad de aprovechar
todo el potencial de conocimiento que puede ser obtenida de diferentes fuentes de datos dentro
de la IoT, proporcionando los medios para descubrir esas fuentes basadas en la ubicación,
modalidad (es decir, el tipo de fuente) o las necesidades de consulta globales, que son agnósticos a
la red subyacente.
MBIGDA_M8T2_160727
170
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Una opción consiste en la representación virtual de los sensores de una WSN que integra
múltiples flujos de datos procedentes de los sensores reales en capas más bajas en un único flujo
de datos. Consultas sobre el flujo de entrada son realizadas y los resultados se almacenan en
relaciones temporales, y el resultado de la combinación de estos flujos de datos se almacena
permanentemente sólo si se requiere, de lo contrario, se consume por la aplicación.
MBIGDA_M8T2_160727
171
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Contrariamente a los sistemas de bases de datos tradicionales, en los que los datos se recogen a
priori y almacenan en servidores de bases centralizadas o distribuidas, los datos de la IoT se
actualizan continuamente a medida que los estados de cosas y la monitorización cambian. Incluso si
fuera posible que todos los datos generados por las cosas en un cierto punto en el tiempo estén
disponibles para ser almacenados en el almacenamiento permanente, se convertirán en obsoletos
rápidamente y los nuevos datos deberán estarán disponible. El estado actual de la técnica heredada
de sistemas M2M permite datos en tiempo real y almacenamiento, sin embargo, el diseño de estos
sistemas se enfoca a almacenamiento centralizado, y no es adecuado para la escala y la distribución
de los volúmenes de datos generados por fuentes de la IoT. La gestión de datos en IoT debe tener
en cuenta esta volatilidad de la validez de los datos almacenados.
El sistema de gestión de datos debe proporcionar una solución escalable de archivado, con
soluciones de descubrimiento competentes con fines de recuperar y analizar datos archivados con
diversos grados de frecuencia de recuperación. Los sistemas deben proporcionar esquemas de
MBIGDA_M8T2_160727
172
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
caducidad y considerar métricas de "utilidad" de los datos en lugar de métricas en tiempo simples,
para decidir el archivado de los datos.
Para acceder a los datos en sistemas relacionales se han desarrollado lenguajes de consulta.
Structured Query Language (SQL) ha sido el estándar de facto para el acceso a datos, con las
operaciones de selección / proyección / unión / agregación estándar que pueden anidarse para
construir consultas complejas. Construcciones adicionales se han añadido al lenguaje con el fin de
dar cabida a nuevas formas de datos, tales como TinySQL para redes de sensores y StreamSQL para
el procesamiento de flujo de datos. Como SQL se ha vuelto demasiado complejo debido a las
extensiones continuas a medida que se añaden nuevas capacidades, los desarrolladores para las
diferentes aplicaciones de la IoT tendrán dificultades para aprender todos los dialectos y trucos de
SQL, de los que van necesitar sólo un subconjunto de ellos. Avances en esta área se deben producir
y, el acceso a través de servicios debe lograrse en las arquitecturas cuanto antes, desacoplando el
desarrollo lo máximo posible de la expresión de las consultas.
Los dos objetivos principales de la recogida de datos de la capa son el reporting y el análisis.
Ambos implican el tratamiento de datos en un cierto punto en el sistema con el fin de agregar /
inferir información útil. La determinación de la ubicación en la que los datos se van a procesar en
sistemas de IoT es una preocupación principal de diseño en la que se debe tener en cuenta la
naturaleza descentralizada del sistema y el volumen de los datos producidos. Dos enfoques de
procesamiento pueden implementarse para sistemas de IoT: dentro de la red de procesamiento y
procesamiento centralizado. Dentro de la red de procesamiento consiste en mover el "programa" a
los datos y enviando sólo los resultados de vuelta al usuario (como el paradigma map-reduce), lo
que reduce el volumen de datos que necesita ser transportado a un almacenamiento centralizado
en las capas superiores de arquitectura en el sistema. Procesamiento centralizado, por el contrario,
requiere que los datos sean transportados al lugar de procesamiento, un centro de
MBIGDA_M8T2_160727
173
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
La optimización de consultas que consiste en elegir los mejores planes de consulta sobre la base
de sus respectivos costos de energía se están considerando para redes inalámbricas de sensores en
y los servidores de base de datos, a fin de encontrar el mejor plan de ejecución de la consulta con
los menores costos de energía. Sin embargo, la optimización se hace por una sola consulta a la vez y
no tiene en cuenta el dinamismo de la red.
MBIGDA_M8T2_160727
174
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
175
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
176
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Desde este punto de vista, en IoT es necesario un conjunto de tecnologías para almacenar y
procesar un gran volumen de información, como se indicó en el apartado de gestión de datos.
Eminentemente Internet de las Cosas implica el uso de tecnologías Big Data capaces de
almacenar grandes volúmenes y procesarlos como datos reposados, y también con tecnologías de
procesamiento en Streaming.
En IoT por el alto volumen de información aplican las tecnologías Big Data, en proyectos IoT se
pueden aplicar tecnologías para construir un Stack o infraestructura propia sobre tecnologías base,
integradas, con herramientas para la gestión y verticales para construir las soluciones o aplicaciones
específicas, o bien se pueden utilizar plataformas que abstraen de la tecnología subyacente.
Si bien no existen sistemas específicos de tecnología de procesamiento para IoT, las tecnologías
empleadas son genéricas, y es su uso el que determina que se trata de un sistema para Internet de
las Cosas, sí existen plataformas construidas con las tecnologías y que resuelven o proporcionan
funcionalidades para Internet de las cosas, estas plataformas proveen servicios de almacenamiento
y procesamiento, de captura de datos de información y de analítica facilitando la construcción de
aplicaciones sobre Internet de las Cosas.
11.1. Xively
Xively es pionera en construir y proporcionar una plataforma IoT de empresa, la plataforma se
ofrece como una solución para las empresas para conectar con seguridad y firmeza sus productos y
usuarios, gestionar los datos de la IoT a escala.
MBIGDA_M8T2_160727
177
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
A través de las APIs y los servicios que proporciona la plataforma se pueden construir
aplicaciones verticales usando los datos recopilados o enviados.
Ejemplo de graf ica mostrada en Xively sobre un sensor en Arduino enviando da tos a X ively .
MBIGDA_M8T2_160727
178
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Los pasos por ejemplo para construir una aplicación que recibe datos desde un Arduino y los
muestra en internet son:
Básicamente Azure IoT Suite proporciona herramientas para desplegar una plataforma de
gestión de datos y procesamiento de datos en la que integrar los procesos.
Los servicios de Azure IoT Suite son módulos que se pueden contratar por separado y que se
complementan entre sí, la orientación de IoT Suite es hacia funcionalidad, y la contratación de
servicios se realiza también con este enfoque:
MBIGDA_M8T2_160727
179
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
180
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
Con la visión de que SAMI debía considerarse como un banco de datos privados, con los
controles de seguridad y privacidad solucionadas para los desarrolladores. SAMI es una plataforma
orientada al desarrollador, con APIs y herramientas sencillas y potentes para acelerar el camino
para construir y habilitar nuevas experiencias de usuario, servicios y modelos de negocio.
En tan sólo dos años, el equipo SAMI contrató a los mejores talentos de Silicon Valley y creció
de cero a 40 personas - incluyendo múltiples equipos de desarrollo, DevOps, especialistas en
seguridad, e ingenieros de control de calidad - y en ese tiempo ha puesto en marcha una
plataforma de datos de IoT que cuenta con un alcance muy ambicioso.
Al más alto nivel, SAMI proporciona una capa de abstracción para la ingestión de los datos del
dispositivo, procesamiento, enrutamiento y para acceder a él a través de APIs muy amigables para
el desarrollador. SAMI se ocupa de “todo”, desde la seguridad de los datos, los datos en tiempo
real, las transformaciones, agregaciones y almacenamiento. Mediante el desarrollo en la parte
superior de una plataforma que permite el acceso fácil y seguro a cualquier tipo de datos, desde
cualquier tipo de dispositivo, y se interconecta con otras plataformas de dispositivos, así los
desarrolladores utilizando SAMI pueden centrarse en la construcción de su valor añadido para el
ecosistema.
SAMI soporta una amplia gama de lenguajes de programación, permite construir herramientas,
frameworks y tecnologías distribuidos (Java, Scala, Play, Akka, Kafka, Zookeeper, Cassandra,
Elasticsearch, MongoDB, TitanDB, Redis, MySQL, Spark, Samza , Mesos, Docker, Consul, etc.) para
proporcionar una serie de características y funciones avanzadas.
MBIGDA_M8T2_160727
181
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- Normalización de datos simplificada para desarrolladores de IoT: Los datos que entran
en SAMI pueden estar en el formato que quiera enviar el dispositivo, en el centro hay
un proceso de normalización para producir un formato JSON estándar disponible a
través de la API.
- Agnóstico a los dispositivos y los datos: Un aspecto diferenciador clave de SAMI es que
no hay ninguna limitación en cuanto a qué tipo de datos se puede enviar: los
desarrolladores definen campos de datos, su clase y unidad, sin restricción. Estos datos
pueden enviarse en cualquier formato, incluyendo binario, JSON, XML, texto, o
cualquier formato personalizado para el cual el desarrollador proporciona código de
normalización.
- Nuevos estándares para descripción de datos: Una de las metas de SAMI es que los
desarrolladores describan los datos. Eso se hace a través de lo que se conoce como el
"manifiesto". Otros desarrolladores pueden entender los datos que está siendo
capturado por un determinado dispositivo y escribir aplicaciones o algoritmos con ellos.
- Acceso a datos históricos y en tiempo real: Permite acceder a ambos tipos de datos
desde las APIs.
SAMI está ideada desde el principio para el prototipado rápido y la productividad de los
desarrolladores, contando con tecnologías Scala y el framework Play, además de emplear Akka para
la transformación de datos y capas WebSocket.
Las propiedades de aislamiento que Akka proporciona ayudan a proteger el sistema contra
fallos individuales, y también permite un modelo de implementación continua eficiente. Este
enfoque libera al equipo de desarrollo para crear rápidamente nuevas características sin tener que
mantener un monolito.
MBIGDA_M8T2_160727
182
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
SAMI está escrito para funcionar de forma asíncrona en la Máquina Virtual de Java (JVM). El
equipo cree en la fiabilidad y el diseño de la JVM para la concurrencia, y sintió que proporciona
importantes ventajas para el tipo de Streaming masivo requerido por SAMI. Con los dispositivos IoT,
algunos envían un punto de datos por día, mientras que otros envían miles de puntos de datos por
hora - y la JVM ha ayudado a soportar a SAMI millones de eventos por día.
Aproximadamente el 60% de SAMI está escrito en Scala, el resto en Java. El equipo eligió Scala,
ya que cree que el lenguaje es conciso, elegante y “typesafe” y que integra sin problemas
programación orientada a objetos y programación funcional. El equipo SAMI también aprecia las
fortalezas de Scala en el manejo de múltiples usuarios al mismo tiempo, sin bloqueos por esperar
una respuesta. Esta característica de Scala ajusta con SAMI en los requisitos de "always-on" para el
manejo de cualquier número de dispositivos concurrentes enviando millones de mensajes a la
plataforma.
Para las APIs y el desarrollo front-ed SAMI utiliza el framework Play. Play ha permitido la
implementación sencilla del manejo de peticiones sin estado (REST), reactivo, y asíncrono. El uso de
WebSockets en Play es muy importante para la plataforma SAMI, y la flexibilidad para el desarrollo
de las aplicaciones Java y Scala.
Akka está construido para ser un motor de ejecución y plataforma middleware para manejar la
concurrencia y escalabilidad sobre la JVM. SAMI utiliza Akka en dos niveles fundamentales: (1) a
nivel de la manipulación WebSocket, donde se utiliza actores dedicados a los clientes para cada
WebSocket, cada uno con un buzón que se procesa y se encola en Kafka; (2) en la capa de
transformación, donde los datos se envían en streaming y se normalizan. También se usa en gran
medida Apache Cassandra - base de datos NoSQL - que es distribuida, asíncrona y tolerante a fallos
por defecto, y tiene un fuerte vínculo con Akka.
11.4. IBM
IBM proporciona sus soluciones en nuevos modelos de negocio Cloud Computing a través de la
plataforma IBM Bluemix. Esta plataforma contiene soluciones y herramientas desplegables en
Cloud para TI. Las diferentes soluciones para IoT en Bluemix se pueden contratar en modelos de
MBIGDA_M8T2_160727
183
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
pago por uso, pueden ser de IBM o de proveedores externos, y comprenden (a día de hoy) los
siguientes productos:
Kit de inicio que contiene lo necesario para empezar a trabajar con una aplicación Internet of
Things Platform utilizando Node-RED en Bluemix. Dispone de un flujo de ejemplo con un simulador
y puede personalizarse para sus propios dispositivos.
- Context Mapping: El servicio IBM Watson IoT Context Mapping permite analizar los
movimientos y trayectorias de los objetos en movimiento mediante los servicios
geoespaciales basados en la red de carreteras. Proporciona interfaces de consulta en
tiempo real para acceder a datos de la red de carreteras y servicios de búsqueda
mediante la estructura de índice único y mecanismos de caché avanzada.
- MAP DATA QUERY: El servicio proporciona atributos de carretera, topología de la red, y
otra información estática de datos de mapa.
- GEOSPATIAL SERVICE: Este servicio incluye interfaces API REST para el realizar
búsquedas geoespaciales en mapas de tipo “matching”, camino más corto, y “búsqueda
enlazada”
El servicio IBM Internet of Things permite a las apps comunicarse con dispositivos conectados,
sensores y pasarelas, y consumir los datos que recopilan. A través de recetas hacen que sea muy
fácil conectar dispositivos a la nube de Internet of Things. Sus apps pueden utilizar las API REST y en
MBIGDA_M8T2_160727
184
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
tiempo real para comunicarse con los dispositivos y consumir los datos que ha configurado para
que recopilen.
Para que las apps puedan funcionar, primero se deben conectar los dispositivos. La plataforma
tiene un conjunto de instrucciones comprobadas o 'recetas' para conectar dispositivos, sensores y
pasarelas de una gran variedad de colaboradores y particulares.
Las comunicaciones entre los dispositivos y la nube se producen a través del protocolo abierto y
ligero MQTT. Por ejemplo, puede tener un sensor que recopile y envíe lecturas de humedad cada
minuto. Las API REST y en tiempo real le permiten obtener rápidamente los datos del dispositivo en
las apps para analizarlos.
Es un componente de la solución IoT for Electronics y no debe desplegarse por separado. Para
usar IoT for Electronics, debe instalarse previamente la solución IoT for Electronics Starter del
catálogo Bluemix.
MBIGDA_M8T2_160727
185
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
MBIGDA_M8T2_160727
186
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
11.4.6. Flowthings.io
Integrado con IBM Bluemix IoT Foundation recibe la información y permite construir
aplicaciones sobre internet de las cosas. La solución no requiere que se realice implementación de
código para desplegar soluciones sobre Internet de las cosas, gestionar los dispositivos y eventos, y
realizar visualizaciones de la información.
11.5. Amazon
Amazon IoT es una forma segura, bidireccional de comunicación entre AWS y las cosas
conectadas a internet, como sensores, actuadores, dispositivos embebidos o dispositivos
MBIGDA_M8T2_160727
187
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
- Broker de mensajería MQTT para publicar y suscribir mensajes, y HTTP REST para
publicar.
- Motor de reglas con expresiones tipo SQL sobre los mensajes para procesar la
información. Adicionalmente puede enviarse la información a otros sistemas de AWS
para utilizar su capacidad de almacenamiento y procesamiento.
- Registro de dispositivos para gestionar los dispositivos asociar recursos y atributos.
- Things Shadow, mantener una cache de estado del dispositivo, o versión virtual del
dispositivo, con la que las aplicaciones interactúan y que no requieren que el dispositivo
este permanentemente conectado, al conectase se sincroniza con su dispositivo
sombra en cloud.
- Gateway de comunicaciones para gestionar la comunicación con los dispositivos.
- Sistema de seguridad e identidad.
- SDKs y APIS.
Además de estos sistemas específicos, la solución de Amazon AWS es compatible con otros
servicios de Amazon como:
MBIGDA_M8T2_160727
188
Tema 2. Dispositivos, tecnologías de
adquisición de datos y redes
El que el sistema este orientado a servicios no solamente afecta al usuario sino que permite
implementar estos servicios con principios de interoperabilidad que permiten a las plataformas
interactuar con otros sistemas o servicios.
Cada módulo o subsistema podrá ofrecer servicios de datos, servicios para la administración, la
gestión y configuración, que en cada caso según el enfoque de la plataforma serán asumidos y
ofrecidos a unos participantes u otros, o incluso a los usuarios finales.
MBIGDA_M8T2_160727
189