Diseño e implementación de una arquitectura IoT
basada en tecnologías Open Source.
objetivo analizar todos los actores que toman partido en este paradigma y crear un escenario con los que
hayan resultado mas adecuados, teniendo en cuenta coste, consumo y viabilidad
Contexto y evolución del IoT
Evolución del IoT
Características y arquitectura del IoT
Aplicaciones del IoT
Objetivo
ARQUITECTURA GENERAL
Arquitectura general
ALTERNATIVAS
Tecnologías inalámbricas
ZigBee - IEEE 802.15.4
Wi-Fi - IEEE 802.11p-WAVE
ShockBurst Mejorado
Comparación de tecnologías
Canales de radio
Tamaño de la red
Seguridad
Tiempo de transmisión
Eficiencia en la codificación de los datos
Consumo de potencia
Coste de Hardware
Nodo-pasarela
Características
Consumo
Coste
Usabilidad
Bluetooth Low Energy - IEEE 802.15.1
Este crecimiento se debe básicamente a los avances en la tecnología, destacando el abaratamiento de sensores,
procesadores o acceso a Internet; así como el desarrollo de tecnologías como las comunicaciones inalámbricas,
el Big Data o el desarrollo de IPv6
características fundamentales que identifican al Internet of Things
Interconectividad:
Servicios relacionados con objetos:
Heterogeneidad:
Cambios dinámicos:
Escalabilidad:
requisitos de alto nivel
Conectividad basada en la identificación:
Compatibilidad:
Capacidades basadas en la ubicación:
Seguridad:
Protección de la privacidad:
Autoconfiguración (plug and play):
Las
características y requisitos
la arquitectura genérica del IoT consta de 5 capas
, las aplicaciones IoT deben tener alguna de las siguientes capacidades
Localización
Registro ambiental:
Control remoto:
Ad Hoc Networking:
Con este proyecto se pretende diseñar, implementar y analizar una red de sensores. Esto permitirá un aprendizaje
a todos los niveles de lo que suponen los sistemas embebidos en el mundo actual
Un sistema WSN [10] incorpora una pasarela que provee conectividad
inalámbrica hacía internet y viceversa
tres tipos de topologías de red
En el siguiente diagrama, se representa la topología general. Se pretende crear un escenario típico de Smart Home, en el cuál se encuentran sensores y actuadores. Se desea recoger datos de los sensores para poder actuar consecuentemente con los actuadores. Se podrá actuar tanto manualmente, como automáticamente.
Caso de uso genérico
Manual
Automático
. Esta sub-sección cobra vital importancia en el diseño y despliegue de una red de sensores,
ya que se introducen parámetros como el consumo de potencia y de ancho de banda
La ventaja de BLE con respecto a estas dos soluciones inalámbricas de baja potenciason el bajo coste, la simplicidadad y el bajo consumo de potencia en aplicaciones que transmiten pequeñas cantidades de datos.
características de ésta tecnología
Pila de protocolos
El Controlador: está compuesto de la capa física y la capa de enlace, y normalmente se implementa en un pequeño System-on-Chip (SOC)
El Host: corre en un procesador de aplicación e incluye funcionalidades de una capa superior a la anterior tales como, por ejemplo, Logical Link Control and Adaptation Protocol (L2CAP), Attribute Protocol (ATT), Generic Attribute Profile (GATT), Security Manager Protocol (SMP), y Generic Access Profile (GAP). La comunicación entre el Host y el Controlador se realiza mediante la interfaz Host Controller Interface (HCI).
Capa Física- Pysical Layer:
Capa de enlace - Link Layer
L2CAP:
ATT:
GATT:
GAP y Perfiles de Aplicación: E
Formato de trama
meramente orientativa
paquete de datos BLE estándar
cuyos campos se encuentran
desglosados en la siguiente figura
protocolos de ZigBee
diferentes topolgías compatibles con ZigBee
características
Pila de protocolos
IEEE 1609 hay dos tipos de dispositivos
unidades de a bordo (OBU, On-Board Units)
unidades distribuidas a lo largo de la carretera (RSU, RoadSide Units)
sub-estándares
Se encarga de multiplexar
las comunicaciones entre un transmisor y múltiples receptores
como pueden ser el de determinar
características del canal físico
IEEE 1609.2 añade mecanismos de seguridad.
Una estación compatible con WAVE debe soportar un canal de control (CCH) y múltiples
canales de servicio (SCH) tal como se define en IEEE 1609.4
Formato de trama
desglose
Preámbulo
Campo de Señal (SIG)
Campo de datos (payload):
Arquitectura
Están clasificada en 3 grupos:
Redes Ad-hoc puras:
Redes Celulares/WLAN puras:
Redes híbridas:
formato de paquete de éste protocolo.
El paquete contiene diferentes campos:
Dirección-Address (3-5 bytes):
Control del paquete-Packet Control Field (9 bits):
Payload:
CRC:
Longitud de payload (6 bits):
PID-Identificador de paquete
NO_ACK:
topología típica para esta solución.
Los protocolos Bluetooth LE, ZigBee y ShockBurst pueden trabajar en la banda de 2.4GHz,
Wi-Fi-WAVE usa la banda de 5,850-5,925 Ghz
Bluetooth LE usa salto en frecuencia (FHSS/AFH) con 40 canales y un ancho de banda de 2 MHz
ZigBee usa espectro expandido por secuencia directa (DSSS) con 16 canales y 2 MHz
OFDM con 7 canales de radio
frecuencia y 10 MHz de ancho de banda
red celular es ilimitado para Bluetooth LE, sobre 65000 para una red en estrella de ZigBee, desde 100 hasta 62000 para Wi-Fi-WAVE y 7 para una red en estrella
Los 4 protocolos tienen autenticación y encriptación.
depende de régimen binario, el tamaño del mensaje, y la distancia entre 2 nodos
la Raspberry PI y C.H.I.P
Obviamente la Raspberry Pi 3 necesita algo más de potencia debido a sus periféricos extras y su microprocesador. En concreto consume unos 4.5W si se llevara a condiciones extremas
los cuales se presenta el Top 10 de placas
Microcontrolador
Arduino tiene muchas
ventajas
Open Source
Fácil programación:
Documentación y tutoriales en exceso:
Librerías:
Precio:
Periféricos y aplicaciones:
Arduino Nano
Además algunos pines
poseen funciones especializada
Serial: 0 (RX) y 1 (TX). (RX) usado para recibir y (TX) usado para transmitir datos vía serie
Interrupciones Externas: pines 2 y 3. Estos pines pueden ser configurados para activar una
interrupción por paso a nivel bajo
PWM: pines 3, 5, 6, 9, 10, y 11. Proveen de una salida PWM de 8-bits cuando se usa la función
analogWrite().
SPI: pines 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK). Estos pines soportan la comunicación SPI
LED: Pin 13. Existe un LED conectado al pin digital 13. Cuando el pin se encuentra en nivel alto
I2C: Pines 4 (SDA) y 5 (SCL). Soporta comunicación I2C (TWI) usando la librería Wire
AREF. Tensión de referencia por las entradas analógicas. Se configura con la función
analogReference().
RESET. Si se establece este pin a nivel bajo se reseteará el Arduino
Cloud
En esta sección se ahondará en la parte de la cloud, la cual permitirá realizar cualquier operación
(actuación/lectura) sobre la red local de sensores
Kafka
Apache Kafka es un servicio distribuido, particionado y con posibilidad de replicación que ofrece la funcionalidad de un sistema de colas de mensajes - usan conexiones TCP
arquitectura
Topic y particiones
Cada partición es una secuencia, ordenada e inmutable, de mensajes que están continuamente apilados.
Productores
El productor es responsable de elegir
qué mensaje envía cada partición de cada topic
Consumidores
dos modos de funcionamiento:
Si todas las instancias de consumidores tienen el mismo grupo
Si todos los consumidores tienen diferentes instancias
Procesamiento de eventos complejos (CEP-Complex Events Processing)
escritas en JSON y accesibles/modificables
mediante una API REST.
Se trata de una librería en Java creada por WSO2
Dweet
se puede comunicar con máquinas, sensores, dispositivos y gadgets (cosas)
puede tener un payload de hasta 2.000 caracteres. En el modo gratuito
permite que se pueda acceder a los datos de los sensores mediante una API
RESTful
Telegram App
Telegram es una aplicación de mensajería enfocada a la velocidad y seguridad
Telegram ofrece dos tipos de APIs. La API Bot permite crear programas que usan la interfaz de Telegram para
el intercambio de mensajes y la API Telegram que permite crear clientes de Telegram personalizados
ELECCIÓN DE ALTERNATIVAS
Elección de protocolo inalámbrico
Elección de nodo pasarela
Las principales restricciones para elegir una tecnología inalámbrica
• Rango
• Confiabilidad
• Ancho de Banda
• Consumo de potencia
• Seguridad
• Coste
Smart Home no precisa de un número muy
elevado de sensores y no se necesitan cubrir grandes distancias.
tres parámetros, donde el consumo de potencia es
se elegirá el nodo pasarela a utilizar para llevar los datos desde los sensores a la nuve y desde
esta a los actuadores
Usabilidad, el Coste, y el Consumo.
se elegirá la Raspberry Pi 3 como nodo central
el dispositivo elegido será el NRF24L01+ que implementa ShockBurst