FVM Learning

Nosso maior compromisso é compartilhar conhecimentos, somos simples, mas não simplórios, astuto, mas não pacóvio, nos posicionamos empenhados em mostrar o caminho para desmistificação do opróbrio em legítima defesa do conhecimento compartilhado. Eng. Jemerson Marques!

terça-feira, 26 de novembro de 2019

O que é Protocolo MQTT e como Funciona? Principais Aplicações

Fig 1 - O que é Protocolo MQTT e como Funciona?

Olá a Todos!!!

No post de hoje, iremos entender o que é o protocolo MQTT (Message Queuing Telemetry Transport), de que forma ele funciona, e quais são suas principais aplicações no mundo IoT.

O que é MQTT?

MQTT é um protocolo de mensagens publish/subscribe, projetado para o transporte de telemetria em enfileiramento de mensagens simples e leve, com baixa largura de banda, e protocolo de conectividade  machine-to-machine (M2M) ou "máquina para máquina", que funciona no topo do protocolo TCP / IP

Ele foi projetado para conexões remotos onde um "pequeno tamanho de código" é necessário ou a largura de banda da rede é limitada.

Ao utilizar o protocolo MQTT, você pode enviar comandos para controlar portas de saídas, ler e publicar dados de sensores, controlar remotamente esses dispositivos e muito mais. Você pode estabelecer comunicação entre vários dispositivos.

Você pode se interessar também!

Quem projetou o MQTT?

O MQTT foi projetado pelo Dr. Andy Stanford-Clark, da IBM, e Arlen Nipper, da Arcom (atual Eurotech), em 1999, para fazer a conexão dos sistemas de telemetria de oleoduto por satélite.

Embora tenha começado como um protocolo proprietário, foi liberado Royalty livre em 2010 e tornou-se um padrão OASIS em 2014.

Quais os Padrões do MQTT?

Existem as versões V5.0 e V3.1.1 que agora são padrões OASIS (V3.1.1 também foi ratificado pela ISO). Como o MQTT está relacionado ao protocolo SCADA e ao MQIsdp?

O “protocolo SCADA” e o “MQ Integrator SCADA Device Protocol” (MQIsdp) são nomes antigos do que agora é conhecido como MQ Telemetry Transport (MQTT). 

O protocolo também é conhecido como “WebSphere MQTT” (WMQTT), embora esse nome também não seja mais utilizado.

O MQTT utiliza alguma portas padrão?

Certamente sim. A porta padrão utilizada pelo MQTT TCP / IP 1883 que é uma porta reservada com o IANA para uso com o MQTT. A porta TCP / IP 8883 também está registrada, para usar o MQTT sobre SSL.

O MQTT tem suporte para segurança?

Podemos passar um nome de usuário e senha com um pacote MQTT na V3.1 do protocolo. A criptografia através da rede pode ser tratada com SSL, independentemente do protocolo MQTT em si (vale a pena notar que o SSL não é o mais leve dos protocolos e adiciona uma sobrecarga de rede significativa). 

Segurança adicional pode ser adicionada por um aplicativo que criptografa dados que envia e recebe, mas isso não é algo embutido no protocolo, a fim de mantê-lo simples e leve.

Quais são as vantagens do MQTT?

O protocolo MQTT permite que seu sistema SCADA acesse dados da IoT. O MQTT traz muitos benefícios poderosos para o seu processo:
  • Distribua informações com mais eficiência
  • Aumentar a escalabilidade
  • Reduza drasticamente o consumo de largura de banda da rede
  • Reduza as taxas de atualização para segundos
  • Muito adequado para sensoriamento remoto e controle
  • Maximizar a largura de banda disponível
  • Sobrecarga extremamente leve
  • Muito seguro com segurança baseada em permissão
  • Usado pela indústria de petróleo e gás, Amazon, Facebook e outras grandes empresas
  • Economiza tempo de desenvolvimento
  • O protocolo de publicação / assinatura coleta mais dados com menos largura de banda em comparação com os protocolos de pesquisa.

Como o MQTT Funciona?

MQTT é um protocolo de publicação / assinatura que permite que dispositivos de borda de rede publiquem em um broker. Os clientes se conectam a esse broker, que medeia a comunicação entre os dois dispositivos. Cada dispositivo pode se inscrever ou se registrar em tópicos específicos. 

Quando outro cliente publica uma mensagem em um tópico inscrito, o broker encaminha a mensagem para qualquer cliente que se inscreveu.

MQTT é bidirecional e mantém o reconhecimento da sessão com estado. Se um dispositivo de borda de rede perder a conectividade, todos os clientes inscritos serão notificados com o recurso "Última Vontade e Testamento" do servidor MQTT, para que qualquer cliente autorizado no sistema possa publicar um novo valor de volta no limite de borda dispositivo de rede, mantendo a conectividade bidirecional.

A leveza e eficiência do MQTT possibilitam aumentar significativamente a quantidade de dados que estão sendo monitorados ou controlados. 

Antes da invenção do MQTT, aproximadamente 80% dos dados eram deixados em locais remotos, embora várias linhas de negócios pudessem ter usado esses dados para tomar decisões mais inteligentes. Agora, o MQTT torna possível coletar, transmitir e analisar mais dados sendo coletados.

Diferentemente do modelo usual de consulta / resposta de muitos protocolos, que tendem a saturar desnecessariamente as conexões de dados com dados inalteráveis, o modelo de publicação / assinatura do MQTT maximiza a largura de banda disponível.

Principais Aplicações

O protocolo MQTT, foi a princípio um protocolo utilizado para realizar conexões dos sistemas de telemetria de oleoduto por satélite, como já mencionado nos tópicos acima, mas que atualmente se expandiu e largos passos na história dos sistemas de automação, devido ao seu protocolo de mensagens publish/subscribe, projetado para o transporte de telemetria em enfileiramento de mensagens simples e leve, com baixa largura de banda, protocolo de conectividade M2M que funciona no topo do protocolo TCP / IP, ele é bastante utilizado em conexões remotos e com poucas linhas de código para fazê-lo funcionar. 

Com esse protocolo, podemos enviar comandos para controlar portas GPIO de uma central de controle, como os ESP8266, ESP32, Arduínos entre outros, já bastante difundidos aqui em nosso Blog, podendo ler e publicar dados de sensores, controlar remotamente esses dispositivos e muito mais. 

Você pode estabelecer comunicação entre vários outros dispositivos, tais como integração entre Assistentes virtuais, como o Echo Dot Alexa, Google Home entre outros.

Documentação MQTT em Inglês

Especificações de Protocolo

O MQTT v3.1.1 é um padrão ISO e OASIS mais antigo. A especificação está disponível no site da OASIS em Inglês na página Web em HTML ou em PDF.

O MQTT v5.0 é um padrão OASIS. A especificação está disponível no site da OASIS em Inglês na página Web em HTML ou em PDF.

Para referência com versão anterior do MQTT v3.1 está disponível Aqui.

O MQTT-SN v1.2, conhecido como MQTT-S, está disponível Aqui. O MQTT para redes de sensores é destinado a dispositivos incorporados em redes não TCP / IP, como o Zigbee.

O MQTT-SN é um protocolo de mensagens de publicação / assinatura para redes sem fio de sensores (WSN), com o objetivo de estender o protocolo MQTT além do alcance da infraestrutura TCP / IP para soluções de sensores e atuadores.

E por hoje é só, espero que tenham gostado!!!

Qualquer dúvida, digita nos comentários que logos estaremos respondendo.

Se inscreva no nosso Blog!!! Click Aqui - FVM Learning

Forte abraço.

Deus vos Abençoe

Shalom


Nenhum comentário:

Postar um comentário