7 Protocolos de comunicación de IoT esenciales que todo desarrollador debe conocer

minas Dic. 26. 2024
Tabla de contenido

    Cuáles son Protocolos de comunicación de IoT?

    Los protocolos de IoT son estándares o “idiomas” Utilizado por las máquinas para comunicarse entre sí., o con plataformas. Según sus características y funcionalidad., Estos protocolos se dividen principalmente en 3 tipos: protocolos de transmisión, protocolos de comunicacion, y protocolos específicos de la industria.

    Protocolos de transmisión: utilizado por dispositivos para red de iot y conectarse dentro de la subred, incluyendo Wi-Fi, Bluetooth, Zigbee, Ethernet, NFC, 3G/4G/5G, etc..

    Protocolos de comunicación: utilizado para la transmisión de datos entre dispositivos, operar por encima de la capa de red y proporcionar servicios de capa de aplicación a los usuarios. Algunos de los protocolos de comunicación.: MQTT, COAP, HTTP/HTTPS, WebSocket, AMQP.

    Protocolos específicos de la industria: Protocolos estándar dentro de una industria específica para garantizar la compatibilidad entre los dispositivos., sistemas, plataformas de diferentes fabricantes y marcas, como JT/T 808 protocolo de comunicación de terminal de vehículo en China.

    7 Essential IoT Communication Protocols

    comprensión de 7 Protocolos de comunicación de IoT:

    Aquí encontrará algunos de los protocolos de comunicación utilizados en la industria de IoT., incluido:

    1. DESCANSO/HTTP

    ¿Qué es el descanso?

    DESCANSAR (Transferencia de estado representacional)Es un estilo arquitectónico más que estándares para diseñar aplicaciones en red., Normalmente utiliza HTTP como protocolo de transporte para implementar sus principios arquitectónicos..

    Características:

    • Apatridia: Cada solicitud contiene toda la información necesaria., y el servidor no mantiene el estado del cliente.
    • Identificación de recursos: Del lado del servidor, el estado y la funcionalidad de la aplicación se pueden dividir en varios recursos, que están expuestos al cliente. Ejemplos de recursos incluyen objetos de aplicación., registros de base de datos, algoritmos, etc.. A cada recurso se le asigna una dirección única mediante un URI. (Identificador de recursos universal).
    • Interfaz uniforme: Utilice métodos HTTP estándar para manipular recursos., como OBTENER, CORREO, PONER, BORRAR

    Solicitud:

    REST/HTTP tiene como objetivo principal simplificar la arquitectura del sistema de Internet., lograr rápidamente un acoplamiento flexible entre las interacciones del cliente y el servidor, reduciendo así la latencia de interacción. Por lo tanto, es adecuado para aplicación de iot, permitiendo la exposición de recursos de IoT a través de REST, Permitir que los servicios sean invocados por otras aplicaciones..

    2. COAP

    ¿Qué es CoAP?

    COAP (Protocolo de aplicación restringida) Ofrece comunicación fácil y eficiente para dispositivos restringidos., haciéndolo ideal para operación en baja potencia, ancho de banda bajo, y entornos de alta latencia.

    Características:

    • Compresión de encabezado: CoAP presenta un encabezado binario compacto con una base de 4 bytes, seguido de opciones extendidas, normalmente resulta en un encabezado de solicitud de 10-20 bytes.
    • Métodos y URI: Soporta OBTENER, PONER, CORREO, BORRAR métodos, y URI para acceder a los recursos del servidor.
    • Capa de transporte: Construido sobre UDP para minimizar la sobrecarga y admitir multidifusión, con un sencillo mecanismo de confiabilidad de parada y espera.
    • Comunicación asincrónica: A diferencia de HTTP, CoAP admite la comunicación asincrónica, ideal para aplicaciones M2M.
    • Descubrimiento de recursos: Incluye un formato incorporado para el descubrimiento de recursos., compatible con RFC 5785, usando /.well-known/core para descripciones de recursos.
    • Almacenamiento en caché: Admite el almacenamiento en caché de descripciones de recursos para mejorar el rendimiento.

    Solicitud:

    CoAP es una API RESTful simplificada basada en HTTP. CoAP es un protocolo de capa de aplicación en el 6 Pila de protocolos LoWPAN, adecuado para redes IP de comunicación con recursos limitados, como sensores de baja potencia y sistemas integrados.

    3. MQTT

    ¿Qué es MQTT?

    El protocolo MQTT utiliza un patrón de publicación/suscripción., donde los terminales de IoT normalmente se conectan a un corredor MQTT a través de TCP. El corredor gestiona el contenido de la comunicación a través de temas y es responsable de reenviar mensajes entre dispositivos..

    Características:

    • Modelo de publicación/suscripción: Los clientes pueden publicar mensajes sobre un tema y suscribirse para recibir mensajes de temas específicos.. Este modelo permite una distribución flexible de mensajes..
    • Ancho de banda bajo: El encabezado del mensaje es mínimo., normalmente solo 2 bytes, Apoyar el uso eficiente del ancho de banda y hacerlo adecuado para ancho de banda bajo., alta latencia, y redes inestables.
    • Fiabilidad: MQTT ofrece tres niveles de QoS para la entrega de mensajes: “como máximo una vez,” “al menos una vez,” y “exactamente una vez.”

    Solicitud:

    MQTT generalmente es adecuado para la recopilación de datos de dispositivos en puntos finales (p.ej., Dispositivo -> Servidor) y comunicación centralizada en una arquitectura de red en estrella, con el corredor actuando como centro. Se utiliza ampliamente en escenarios de IoT y también se ha adoptado en algunas aplicaciones móviles., como Facebook Messenger (históricamente).

    4. DDS

    ¿Qué es DDS?

    DDS (Servicio de distribución de datos) es un estándar de middleware creado para sistemas en tiempo real. Cumple con las estrictas demandas de las aplicaciones distribuidas al proporcionar baja latencia., alto rendimiento, y rendimiento determinista.

    Características:

    • Centrado en datos
    • Modelo de mensajería de publicación/suscripción sin intermediarios: Soporte punto a punto, punto a multipunto, y comunicación multipunto a multipunto.
    • Oferta hasta 21 Calidad de servicio (calidad de servicio) Políticas

    Solicitud:

    Repartido, altamente confiable, comunicación de datos en tiempo real para dispositivos. Actualmente, DDS se utiliza ampliamente en campos como la aviación civil y el control industrial..

    5. AMQP

    ¿Qué es AMQP?

    AMQP es un protocolo de capa de aplicación de estándar abierto diseñado para garantizar mecanismos confiables de transmisión de mensajes y colas..

    Características:

    • Protocolo a nivel de cable: Transmite datos a través de la red como un flujo de bytes..
    • Alta compatibilidad gracias al estándar abierto
    • Flexible & Seguro: Admite varios patrones de mensajería, incluyendo publicación/suscripción y punto a punto. Además incorpora múltiples mecanismos de seguridad., como cifrado y autenticación.

    Solicitud:

    Utilizado inicialmente para mensajería de transacciones en sistemas financieros., AMQP ahora se utiliza principalmente en aplicaciones de IoT para comunicación y análisis de datos entre dispositivos móviles y centros de datos backend..

    6. XMPP

    ¿Qué es XMPP?

    Como protocolo de comunicación de estándar abierto, XMPP (Protocolo extensible de mensajería y presencia) está diseñado para la comunicación en tiempo real, como mensajería instantánea e información de presencia.

    Características:

    • Modelo de comunicación cliente/servidor: Los clientes envían solicitudes al servidor., que procesa las solicitudes y envía la respuesta o recurso apropiado al cliente.
    • Red distribuida: Múltiples nodos independientes forman la red., eliminando puntos únicos de falla.
    • Clientes simples: Los clientes manejan menos tareas, con la mayoría de los cálculos realizados en el lado del servidor.
    • XML se utiliza para describir datos., asegurando la compatibilidad multiplataforma, aunque JSON se ha vuelto más popular en las aplicaciones modernas.

    Solicitud:

    XMPP se utiliza en mensajería instantánea, gestión de red, entrega de contenido, herramientas de colaboración, compartir archivos, juego de azar, monitoreo remoto del sistema, y más.

    7. JMS

    ¿Qué es JMS?

    JMS (Servicio de mensajes Java) es una API estándar de la plataforma Java para mensajería en aplicaciones distribuidas. Permite que las aplicaciones se comuniquen a través de colas de mensajes., logrando así asincrónico, flexible, y un intercambio de mensajes fiable.

    Características:

    • Comunicación asincrónica: Permite enviar y recibir mensajes en diferentes momentos, aumentar la flexibilidad y la capacidad de respuesta del sistema.
    • Durabilidad del mensaje: Proporciona persistencia de mensajes, Garantizar que los mensajes no se pierdan en caso de fallos del sistema., y mejorar la confiabilidad
    • Soporte de transacciones: JMS proporciona soporte para transacciones, asegurar la atomicidad de un grupo de operaciones de mensajes, lo que significa que todas las operaciones tienen éxito por completo o fracasan por completo, garantizando así la coherencia de los datos.

    Solicitud:

    JMS es ideal para aplicaciones distribuidas que requieren mensajería asincrónica, desacoplamiento del sistema, y alta confiabilidad, como la integración de aplicaciones empresariales, arquitectura basada en eventos, y procesamiento de datos en tiempo real.

    Comparaciones de protocolos de comunicación de IoT

    Característica DDS MQTT AMQP XMPP JMS DESCANSO/HTTP COAP
    Abstracción Pub/Sub Pub/Sub Pub/Sub ESO Pub/Sub Solicitud/Respuesta Solicitud/Respuesta
    Arquitectura Espacio de datos globales Apoderado P2P o proxy ESO Apoderado A través de garantía TCP P2P
    calidad de servicio 22 tipos 3 tipos 3 tipos ESO 3 tipos Confirmar a través de TCP o mensajes confirmados
    Interoperabilidad Parcialmente ESO No
    Actuación 100,000 mensaje/s/sub 1,000 mensaje/s/sub 1,000 mensaje/s/sub ESO 1,000 mensaje/s/sub 100 requerimiento/s 100 requerimiento/s
    En tiempo real No No No No No
    Capa de transporte Soporta UDP y TCP tcp tcp No especificado, generalmente TCP tcp UDP UDP
    Filtrado de suscripciones Filtrado de mensajes basado en contenido y temas Suscripción en capas basada en temas y contenido de mensajes Filtrado de colas y mensajes. ESO Contenido del mensaje y filtrado de temas. No soportado Admite temas y multidifusión
    Codificación Binario Binario Binario formato XML Binario Texto sin formato Texto sin formato
    Descubrimiento dinámico No No ESO No No No
    Seguridad Proporciona FSS, TLS, y otras opciones de seguridad Nombre de usuario/contraseña sencillo, Cifrado de datos SSL Cifrado de datos SASL y TLS ESO Proporciona FSS, TLS, Soporte de API JAAS Soporte general para SSL y TLS Soporte general para SSL y TLS

     

    Conclusión

    MQTT, DDS, AMQP, XMPP, JMS, DESCANSAR, y CoAP son protocolos ampliamente utilizados, cada uno con múltiples implementaciones, que afirman ser compatibles con la comunicación IoT de publicación/suscripción en tiempo real. Sin embargo, al diseñar arquitecturas de sistemas de IoT específicas, Es esencial considerar las necesidades de comunicación reales del escenario, como las limitaciones de ancho de banda., requisitos de latencia, y seguridad, antes de seleccionar el protocolo más apropiado.

    Próximo: ¿Qué es RTLS?? Guía completa del sistema de localización en tiempo real
    Anterior: LoRaWAN y Zigbee: ¿Cuál es la diferencia??