7 Protocolos essenciais de comunicação IoT que todo desenvolvedor deve conhecer

Minas dezembro. 26. 2024
Índice

    O que são Protocolos de comunicação da IoT?

    Os protocolos IoT são padrões ou “idiomas” usado por máquinas para se comunicarem entre si, ou com plataformas. Com base em seus recursos e funcionalidades, esses protocolos são divididos principalmente em 3 tipos: protocolos de transmissão, protocolos de comunicação, e protocolos específicos do setor.

    Protocolos de transmissão: usado por dispositivos para Rede IoT e conectar -se dentro da sub -rede, incluindo Wi-Fi, Bluetooth, Zigbee, Ethernet, NFC, 3G/ 4g/ 5g etc.

    Protocolos de comunicação: usado para transmissão de dados entre dispositivos, Operar acima da camada de rede e fornecer serviços de camada de aplicativos aos usuários. Alguns dos protocolos de comunicação: MQTT, Coap, Http/https, WebSocket, AMQP.

    Protocolos específicos da indústria: Protocolos padrão em um setor específico para garantir a compatibilidade entre os dispositivos, sistemas, plataformas de diferentes fabricantes e marcas, como jt/t 808 Protocolo de comunicação do terminal do veículo na China.

    7 Essential IoT Communication Protocols

    Entendimento de 7 Protocolos de comunicação da IoT:

    Aqui você encontrará alguns dos protocolos de comunicação usados ​​na indústria de IoT, Incluindo:

    1. REST/HTTP

    O que é descanso

    DESCANSAR (Transferência de estado representacional)é um estilo arquitetônico, em vez de padrões para projetar aplicativos em rede, normalmente usa o HTTP como seu protocolo de transporte para implementar seus princípios arquitetônicos.

    Características:

    • Apatridia: Cada solicitação contém todas as informações necessárias, e o servidor não mantém o estado do cliente.
    • Identificação de recursos: No lado do servidor, O estado e a funcionalidade do aplicativo podem ser divididos em vários recursos, que são expostos ao cliente. Exemplos de recursos incluem objetos de aplicativo, Registros de banco de dados, Algoritmos, etc.. Cada recurso recebe um endereço exclusivo usando um URI (Identificador de Recursos Universal).
    • Interface uniforme: Use métodos HTTP padrão para manipular recursos, como get, PUBLICAR, COLOCAR, EXCLUIR

    Aplicativo:

    REST/HTTP visa principalmente simplificar a arquitetura do sistema da Internet, alcançando rapidamente o acoplamento frouxo entre as interações do cliente e do servidor, reduzindo assim a latência de interação. Portanto, é adequado para Aplicação da IoT, permitindo a exposição dos recursos da IoT através do descanso, permitindo que os serviços sejam invocados por outros aplicativos.

    2. Coap

    O que é coap

    Coap (Protocolo de aplicação restrito) oferece comunicação fácil e eficiente para dispositivos restritos, tornando-o ideal para operação em baixa potência, baixa largura de banda, e ambientes de alta latência.

    Características:

    • Compressão do cabeçalho: O COAP apresenta um cabeçalho binário compacto com uma base de 4 bytes, seguido de opções estendidas, normalmente resultando em um cabeçalho de solicitação de 10-20 bytes.
    • Métodos e Uris: Suporta get, COLOCAR, PUBLICAR, Excluir métodos, e URIs para acessar recursos do servidor.
    • Camada de transporte: Construído no UDP para minimizar a sobrecarga e suportar multicast, com um simples mecanismo de confiabilidade parada e espera.
    • Comunicação assíncrona: Ao contrário do HTTP, O COAP suporta comunicação assíncrona, Ideal para aplicações M2M.
    • Descoberta de recursos: Inclui um formato interno para descoberta de recursos, Compacente com RFC 5785, Usando /.well conhecida/core para descrições de recursos.
    • Cache: Suporta o cache de descrições de recursos para melhorar o desempenho.

    Aplicativo:

    O COAP é uma API RESTful baseada em HTTP simplificada. CoAP é um protocolo de camada de aplicação no 6 Pilha de protocolo Lowpan, Adequado para redes IP de comunicação com restrição de recursos, como sensores de baixa potência e sistemas incorporados.

    3. MQTT

    O que é MQTT

    O protocolo MQTT usa um padrão de publicação/assinatura, onde os terminais da IoT normalmente se conectam a um corretor MQTT via TCP. O corretor gerencia o conteúdo da comunicação através dos tópicos e é responsável por encaminhar mensagens entre dispositivos.

    Características:

    • Modelo pubish/assinando: Os clientes podem publicar mensagens em um tópico e se inscrever para receber mensagens de tópicos específicos. Este modelo permite distribuição de mensagens flexível.
    • Baixa largura de banda: O cabeçalho da mensagem é mínimo, normalmente apenas 2 bytes, apoiando o uso eficiente da largura de banda e tornando-o adequado para baixa largura de banda, alta latência, e redes instáveis.
    • Confiabilidade: O MQTT oferece três níveis de QoS para entrega de mensagens: “no máximo uma vez,” “pelo menos uma vez,” e “exatamente uma vez.”

    Aplicativo:

    O MQTT geralmente é adequado para a coleta de dados de dispositivos para pontos de extremidade (por exemplo., Dispositivo -> Servidor) e comunicação centralizada em uma arquitetura de rede estrela, com o corretor atuando como o hub. É amplamente utilizado em cenários de IoT e também foi adotado em alguns aplicativos móveis, como o Facebook Messenger (historicamente).

    4. Dds

    O que é DDS

    Dds (Serviço de distribuição de dados) é um padrão de middleware criado para sistemas em tempo real. Atende às exigências estritas de aplicativos distribuídos, fornecendo baixa latência, alta taxa de transferência, e desempenho determinístico.

    Características:

    • Dados centrados em dados
    • Modelo de mensagens de publicação/inscrição sem corretores: Suporte ponto a ponto, ponto a multiponto, e comunicação multiponto a multiponto.
    • Oferecer até 21 Qualidade de serviço (QoS) Políticas

    Aplicativo:

    Distribuído, altamente confiável, Comunicação de dados em tempo real para dispositivos. Atualmente, DDS é amplamente utilizado em campos como aviação civil e controle industrial.

    5. AMQP

    O que é AMQP

    O AMQP é um protocolo de camada de aplicativo de padrão aberto projetado para garantir mecanismos confiáveis ​​de transmissão e fila de mensagens.

    Características:

    • Protocolo no nível do fio: Transmite dados em toda a rede como um fluxo de bytes.
    • Alta compatibilidade devido ao padrão aberto
    • Flexível & Seguro: Suporta vários padrões de mensagens, incluindo publicar/assinar e ponto a ponto. Ele também incorpora vários mecanismos de segurança, como criptografia e autenticação.

    Aplicativo:

    Utilizado inicialmente para mensagens de transação em sistemas financeiros, O AMQP agora é utilizado principalmente em aplicativos de IoT para comunicação e análise de dados entre dispositivos móveis e data centers de back -end.

    6. XMPP

    O que é XMPP

    Como um protocolo de comunicação de padrão aberto, XMPP (Protocolo de mensagens e presença extensível) foi projetado para comunicação em tempo real, como informações instantâneas de mensagens e presença.

    Características:

    • Modelo de comunicação do cliente/servidor: Os clientes enviam solicitações para o servidor, que processa as solicitações e envia de volta a resposta ou recurso apropriado ao cliente.
    • Rede distribuída: Vários nós independentes formam a rede, eliminando pontos únicos de falha.
    • Clientes simples: Os clientes lidam com menos tarefas, Com a maior parte da computação feita no lado do servidor.
    • XML é usado para descrever dados, garantindo compatibilidade entre plataformas, Embora o JSON tenha se tornado mais popular em aplicações modernas.

    Aplicativo:

    XMPP é usado em mensagens instantâneas, Gerenciamento de rede, entrega de conteúdo, Ferramentas de colaboração, compartilhamento de arquivos, jogos, Monitoramento do sistema remoto, e mais.

    7. Jms

    O que é JMS

    Jms (Serviço de mensagem Java) é uma API padrão da plataforma Java para mensagens em aplicativos distribuídos. Ele permite que os aplicativos se comuniquem através de filas de mensagens, alcançando assim assíncronos, flexível, e troca de mensagens confiável.

    Características:

    • Comunicação assíncrona: Permite enviar e receber mensagens em momentos diferentes, Aumentando a flexibilidade do sistema e a capacidade de resposta.
    • Durabilidade da mensagem: Fornece persistência de mensagem, garantir que as mensagens não sejam perdidas em caso de falhas do sistema, e melhorar a confiabilidade
    • Suporte à transação: JMS fornece suporte à transação, garantir a atomicidade de um grupo de operações de mensagem, Significando todas, garantindo assim a consistência dos dados.

    Aplicativo:

    JMS é ideal para aplicações distribuídas que requerem mensagens assíncronas, desacoplamento do sistema, e alta confiabilidade, como a integração de aplicativos corporativos, Arquitetura orientada a eventos, e processamento de dados em tempo real.

    Comparações de protocolos de comunicação da IoT

    Recurso Dds MQTT AMQP XMPP Jms REST/HTTP Coap
    Abstração Pub/sub Pub/sub Pub/sub QUE Pub/sub Solicitação/resposta Solicitação/resposta
    Arquitetura Espaço de dados global Procurador P2P ou proxy QUE Procurador Através da garantia do TCP P2P
    QoS 22 tipos 3 tipos 3 tipos QUE 3 tipos Confirmar através do TCP ou mensagens confirmadas Sim
    Interoperabilidade Sim Parcialmente Sim QUE Não Sim Sim
    Desempenho 100,000 msg/s/sub 1,000 msg/s/sub 1,000 msg/s/sub QUE 1,000 msg/s/sub 100 req/s 100 req/s
    Em tempo real Sim Não Não Não Não Não Sim
    Camada de transporte Suporta UDP e TCP TCP TCP Não especificado, Normalmente TCP TCP UDP UDP
    Filtragem de assinatura Filtragem baseada em conteúdo e tópico baseada em conteúdo de mensagens Assinatura em camadas com base em tópicos e conteúdo de mensagem Fila e filtragem de mensagens QUE Mensagem de conteúdo e filtragem de tópicos Não suportado Suporta tópico e multicast
    Codificação Binário Binário Binário Formato XML Binário Texto simples Texto simples
    Descoberta dinâmica Sim Não Não QUE Não Não Não
    Segurança Fornece FSS, TLS, e outras opções de segurança Nome de usuário/senha simples, Criptografia de dados SSL Criptografia de dados SASL e TLS QUE Fornece FSS, TLS, API JAAS API Suporte geral para SSL e TLS Suporte geral para SSL e TLS

     

    Conclusão

    MQTT, Dds, AMQP, XMPP, Jms, DESCANSAR, e coAP são protocolos amplamente utilizados, cada um com várias implementações, Essa reivindicação de suporte para publicar/assinar a comunicação de IoT em tempo real. No entanto, Ao projetar arquiteturas específicas do sistema de IoT, É essencial considerar as necessidades reais de comunicação do cenário - como limitações de largura de banda, Requisitos de latência, e segurança - antes de selecionar o protocolo mais apropriado.

    Próximo: LoRaWAN x Zigbee: Qual é a diferença?
    Anterior: Principal 5 Dicas de segurança no trabalho em 2025: A tecnologia IoT garante a segurança do trabalhador