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

image

la arquitectura genérica del IoT consta de 5 capas

image

image

, 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

image

tres tipos de topologías de red

image

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.

image

Caso de uso genérico

Manual

Automático

image

image

. 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).

image

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

image

paquete de datos BLE estándar

cuyos campos se encuentran
desglosados en la siguiente figura

image

image

protocolos de ZigBee

image

diferentes topolgías compatibles con ZigBee

image

características

Pila de protocolos

image

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

image

Formato de trama

image

image

desglose

Preámbulo

Campo de Señal (SIG)

Campo de datos (payload):

image

image

Arquitectura

Están clasificada en 3 grupos:

Redes Ad-hoc puras:

Redes Celulares/WLAN puras:

Redes híbridas:

image

image

image

formato de paquete de éste protocolo.

image

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.

image

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

image

image

image

image

image

image

la Raspberry PI y C.H.I.P

image

image

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

image

los cuales se presenta el Top 10 de placas

image

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

image

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)

image

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

image

image

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.

image

image

se elegirá la Raspberry Pi 3 como nodo central

el dispositivo elegido será el NRF24L01+ que implementa ShockBurst