IOT Introduccion
IOT Introduccion
IOT Introduccion
Introducción
Protocolos de comunicación disponibles para aplicaciones de IoT.
Una gran cantidad de objetos cotidianos están o van a estar conectados entre sí.
La aparición de dispositivos con conectividad pequeños, baratos y de bajo consumo como el ESP8
o el ESP32.
OTOCOLOS DE COMUNICACIÓN EN IOT
Uno de los protocolos más conocidos es el popular MQTT. Sin embargo, no sólo existe todo es MQTT e
campo del IoT.
Un protocolo de comunicación es una serie de normas que definimos para que dos o más dispositivos
puedan comunicarse y entenderse.
En el campo del IoT tenemos ciertos requisitos especiales que hacen que las habituales formas de
comunicación entre dispositivos no sean totalmente adecuados ¿Cuáles son estos condicionantes?
OTOCOLOS DE COMUNICACIÓN EN IOT
Otros serán más grandes, como un servidor que recoge información, almacena datos, y procesa
estadísticas.
Queremos que sea escalable, es decir, que puedan añadirse o retirarse dinámicamente dispositivos sin
el comportamiento global del sistema se modifique.
mantener débil el acoplamiento entre dispositivos. Es decir, queremos que la dependencia entre los
dispositivos sea la menor posible, y deseablemente nula.
Que algunos de los dispositivos serán dispositivos embebidos, con bajo coste y escasa capacidad de
cálculo. Por tanto, tiene que ser un protocolo que requiera poca capacidad de procesado.
Interoperabilidad. Es decir, que nuestra solución funcione la mayor variedad de dispositivos, sistemas
operativos, y lenguajes de programación.
OTOCOLOS DE COMUNICACIÓN EN IOT
La seguridad, ya que estos dispositivos están expuestos a Internet (que no es un lugar nada seguro) y
transmiten información privada e incluso controlan sistemas físicos.
Fácil Acceso a los dispositivos, por lo que tendremos que lidiar con direcciones dinámicas y DHCP, pos
conexiones con mala latencia o ancho de banda, dependencia con la infraestructura de la red, firewalls,
OTOCOLOS DE COMUNICACIÓN EN IOT
Solucion
Una posible solución, que está siendo ampliamente empleada, es externalizar la comunicación un servi
de notificaciones centralizado. De hecho, es una infraestructura cada vez más habitual en informática, t
en aplicaciones de IoT como las que no.
Metodologías en IOT
Publish / Susbcribe (PubSub)
El rRPC es un patrón de ejecución remota de procedimientos donde un agente, llamado ‘Callee’, comun
al Router que proporciona un cierto procedimiento. Otro agente, llamado ‘Caller’, puede llamar a este
procedimiento. El Router invoca el procedimiento en el Callee, recoge el resultado del proceso, y lo
comunica al Caller que lo ha invocado.
OTOCOLOS DE COMUNICACIÓN EN IOT
Message queue
Message Service
OTOCOLOS DE COMUNICACIÓN EN IOT
Estas colas de mensajes de cliente mantienen los mensajes recibidos hasta que son entregados al clien
De forma que si se recibe un mensaje cuando el cliente no está conectado, se mantienen en el Router y
son entregados cuando se conecta.
Un ejemplo de Message Queue es una aplicación de mensajería tipo Whastapp o Telegram, donde el
usuario recibe los mensajes que ha recibido mientras no estaba conectado. Otro ejemplo cotidiano es e
buzón de correo de tu casa. Si estás fuera de vacaciones, cuando vuelves tienes todos tus mensajes
esperándote.
OTOCOLOS DE COMUNICACIÓN EN IOT
Los mensajes entregados mientras el cliente está desconectado se pierden. Se puede implementar alg
tipo de persistencia de datos, por ejemplo, para analítica, históricos, o calidad del servicio.
Un ejemplo de Message Services es un chat, donde no podemos recuperar los mensajes emitidos cuan
no estábamos en la sala.
Otro ejemplo cotidiano es una conversación a viva voz. Si alguien dice algo mientras estamos en otra
habitación, aunque entremos nos hemos perdido lo que se dijo antes.
OTOCOLOS DE COMUNICACIÓN EN IOT
MQTT (MQ Telemetry Transport) es un protocolo PubSub de Message Service que actúa sobre TCP.
Destaca por ser ligero, sencillo de implementar.
Apropiado para dispositivos de baja potencia como los que frecuentemente tenemos en IoT.
Optimizado para el routing activo de un gran número de clientes conectados de forma simultánea.
Está pensado para aplicaciones corporativas, con mayor rendimiento y redes de baja latencia. No
resulta tan adecuado para aplicaciones de IoT con dispositivos de bajos recursos.
WAMP (Web Application Messaging Protocol) es un protocolo abierto que se ejecuta sobre WebSoc
y provee tanto aplicaciones de PubSub como rRPC.
OTOCOLOS DE COMUNICACIÓN EN IOT
XMPP (Extensible Messaging and Presence Protocol) es un protocolo abierto basado en XML diseñ
para aplicaciones de mensajería instantánea.
Resumen
Hasta aquí esta entrada sobre protocolos de comunicación M2M en IoT. Hemos visto las necesidades
especiales de estos protocolos y cómo resolverlo con una externalización en un servicio de mensajería
También hemos visto los conceptos de PubSub y rRPC y las diferencias entre un Message Service y un
Message Queue. Finalmente, hemos repasado rápidamente algunos de los principales protocolos de Io
disponibles actualmente.
En la próxima entrada veremos el protocolo MQTT, que será el que emplearemos más habitualmente e
nuestros proyectos, y en la siguiente veremos distintos Brokers para MQTT. Mientras tanto, si tenéis alg
duda o queréis añadir algo ¡Podéis dejar vuestro comentario!
OTOCOLOS DE COMUNICACIÓN EN IOT
Referencia
https://www.luisllamas.es/protocolos-de-comunicacion
comunicacion-para-iot/
Gracias
Francisco Javier Gálvez Ramirez
fjgramirez@abdprof.com