You are on page 1of 29

Introducción a IoT

usando protocolo MQTT


El Internet de las cosas (IoT) es un término acuñado
por Kevin Ashton, un pionero de la tecnología
británico que trabajaba en la indentificación de
radiofrecuencias (RFID) y concibió un sistema de
sensores universales que conectaban el mundo físico
a Internet. Aunque las cosas, Internet y la
conectividad son los tres componentes principales del
IoT, el valor se logra al cerrar la distancia entre el
mundo físico y el mundo digital en sistemas que se
refuerzan y mejoran automáticamente.
IoT para el transporte IoT para la venta al por
menor

IoT para ciudades IoT para el cuidado


inteligentes IoT para la fabricación de la salud
Aplicación IoT

Plataforma IoT
Datos

Protocolos
Red

Tecnología de red

Objeto conectado
Ventajas
• Velocidad de análisis de datos.
• Facilidad de seguimiento.
• Ahorro de tiempo.
• Ahorro de dinero.

Desventajas
• Compatibilidad.
• Complejidad.
• Privacidad.
• Seguridad.
Este protocolo está pensado para acercar el HTTP a
COAP dispositivos y redes restringidas. Se basa en el arquetipo de
transferencia de documentos. Se trata básicamente de un
protocolo cliente-servidor donde el cliente realiza una
solicitud y el servidor devuelve una respuesta como sucede
en HTTP

XMPP Este protocolo utiliza mensajes en formato XML. XMPP-IoT


está diseñado específicamente para este entorno y
básicamente permite a los usuarios enviar mensajes en
tiempo real, además de gestionar la presencia del usuario
AMQP REST STOMP
Es un protocolo
orientado a mensajería
Se utiliza para el
Es un protocolo de texto, muy fácil de
intercambio de datos
orientado a mensajes usar. Los clientes se
entre aplicaciones y
que proporciona conectan a un
para integrar
características como el intermediario para
aplicaciones que
enrutamiento y intercambiar
pertenecen a
gestión de colas. mensajes, por lo que
diferentes dominios.
su mayor utilidad se
da en los middleware.
(Message Queue Telemetry Transport), Es un protocolo de código abierto
creado por IBM y Eurotech que luego fue donado al proyecto Eclipse
«Paho» M2M.

Es un protocolo usado para la comunicación machine-to-machine (M2M)


en el "Internet of Things". Este protocolo está orientado a la
comunicación de sensores, debido a que consume muy poco ancho de
banda y puede ser utilizado en la mayoría de los dispositivos empotrados
con pocos recursos (CPU, RAM).

Actualmente el protocolo se encuentra en la versión 3.1.1


 Encabezado fijo (2 bytes)
 Encabezado variable (logitud variable)
 Payload del mensaje (hasta 256MB)

 Fijo (tipo paquete, longitud del payload, QoS)


 Variable (depende del tipo de paquete , ID, topic, etc)
La arquitectura de MQTT sigue una topología de estrella, con un
nodo central que hace de servidor o "broker" con una capacidad de
hasta 10000 clientes. El broker es el encargado de gestionar la red y de
transmitir los mensajes, para mantener activo el canal, los clientes
mandan periódicamente un paquete (PINGREQ) y esperan la
respuesta del broker (PINGRESP).
El protocolo tiene varias características distintivas:
• Es un protocolo de publicación/suscripción.
- Además de proporcionar distribución 'de uno a muchos', la
publicación/suscripción desacopla las aplicaciones. Ambas funciones
resultan útiles en aplicaciones que tengan muchos clientes.
• No depende en modo alguno del contenido del mensaje.
• Se ejecuta sobre TCP/IP, que proporciona conectividad de red básica.
• Tiene tres calidades de servicio para la entrega de mensajes
• Dispone de una función Última voluntad y testamento que notifica a
los suscriptores si se produce una desconexión de un cliente de un
servidor MQTT.
Tiene tres calidades de servicio para la entrega de mensajes:

Como máximo una vez los


mensajes de entregan en base Exactamente una vez se
a los mejores esfuerzos de la asegura que los mensajes
red de Protocolo Internet llegan exactamente una sola
subyacente. Se puede producir Al menos una vez se asegura vez. Utilice esta calidad de
pérdida de mensajes. Utilice
que los mensajes llegan, servicio con sistemas de
esta calidad de servicio con la
comunicación de datos de pero se pueden producir facturación, por ejemplo. Los
sensores ambientales, por duplicados. mensajes duplicados o
ejemplo. No importa si una perdidos pueden provocar un
lectura individual se pierde, si problema o generar cargos
la siguiente se publica poco incorrectos.
después.
La comunicación se basa
en unos "topics"
(temas), que el cliente
que publica el mensaje
crea y los nodos que
deseen recibirlo deben
subscribirse a él. La
comunicación puede ser
de uno a uno, o de uno
a muchos.
Un "topic" se representa mediante una cadena y tiene una
estructura jerárquica. Cada jerarquía se separa con '/'.
Ejemplo,
"edificio1/planta5/sala1/raspberry2/temperatura" o
"/edificio3/planta0/sala3/arduino4/ruido". De esta forma
se pueden crear jerarquías de clientes que publican y reciben
datos, como podemos ver en la esta forma un nodo puede
subscribirse a un "topic" concreto
("edificio1/planta2/sala0/arduino0/temperatura") o a varios
("edificio1/planta2/#")
 Android  Javascript
 Arduino  Lua
 C  Objective-C / iOS
 C#  PHP
 Dart  Python
 Go  Web Components / Polymer
 Java
• El principal problema de la mayoría de los protocolos IoT.

• MQTT funciona sobre TCP … SSL/TLS para seguridad.

• Usuario/Password en la conexión del mensaje.

• Payload Encriptado.
 Microsoft Azure
 Home Assistant
 Facebook Messenger
Proyecto Autito
controlado por WiFi
MQTT HTTP

Subscribe

Autito Javascript/Json
Publish:
comandos WebApp
Servidor
Dirección Movimiento
Ingresar la dirección IP del servidor
Resolución de una
problemática usando
MQTT
En un depósito se tienen instalados varios ventiladores, para
aprovecharlos se decidió que su funcionamiento sea
automático.

 ACTIVAR cuando la temperatura sea mayor o igual a 25°C.


 DESACTIVAR cuando la temperatura sea menor a 25°C
Bibliografías
• https://aws.amazon.com/es/iot/
• http://www.iot-espana.com/tecnologia/ventajas-y-desventajas-
del-internet-de-las-cosas-iot/
• http://vintegris.info/protocolos-iot-001/