sexta-feira, 7 de outubro de 2016

Protocolo MQTT e a Internet das Coisas


Foi desenvolvido pela IBM / Eurotech no final dos anos 1990 para uso em sistemas SCADA (tele supervisão e telecomando). Em novembro 2014, após 18 meses de trabalho, a Especificação do MQTT v 3.1.1 foi aprovada como um padrão homologado pela OASIS (Organization for the Advancement of Structured Information Standards).

MQTT é um protocolo para troca de mensagens, baseado no modelo publicar – subscrever. Por ser leve é muito adequado para ser usado em sistemas embarcados (embedded) na comunicação remota M2M (Machine-to-Machine) usando o Wi-Fi (wireless) como meio.

Pelo fato do cliente que publica estar desacoplado do cliente que assina, o broker faz a função de desacoplamento, este protocolo é muito bom para uso em redes pouco confiáveis e com pouca largura de banda.

O MQTT define dois componentes: o broker MQTT (servidor) e o cliente MQTT.

Um cliente MQTT pode criar tópicos no broker, publicar e assinar os tópicos.
O broker armazena os dados dos tópicos e envia estes dados aos clientes MQTT que os assinam.

O cliente MQTT pode ter duas funções: publicar dados ou assinar dados no broker MQTT, definindo ou usando tópicos.
O broker MQTT tem duas funções: receber os dados de um cliente MQTT e armazená-los nos tópicos; e publicar dados atualizados dos tópicos nos clientes MQTT que os subscrevem.

As mensagens MQTT são transmitidas através do TCP/IP, ou seja, o cliente e o broker fazem uma conexão TCP para que as mensagens possam ser transmitidas.

Um único broker MQTT pode suportar milhares de clientes MQTT. Modelo publicar – subscrever permite a entrega de mensagens de um – para – muitos. 

O MQTT permite implementar QoS (qualidade de serviço), os protocolos de criptografia TLS/SSL (certificado X509), e também suporta autenticação através de usuário / senha.

O plug-in IoT Gateway do KEPServerEX traz um cliente MQTT com as capacidades de publicar e assinar. Permitindo disponibilizar acesso aos dados de dispositivos de automação à aplicativos com suporte ao MQTT. Os dados são formatados usando o padrão JSON. 


Nenhum comentário:

Postar um comentário