MQTT

MQTT, sigla de Message Queuing Telemetry Transport,[1] é um protocolo de mensagens leve para sensores e pequenos dispositivos móveis otimizado para redes TCP/IP.[2] O esquema de troca de mensagens é fundamentado no modelo Publicador-Subscritor, extremamente simples e leve. O protocolo segue princípios arquitetônicos que minimizam o uso de banda de rede e de recursos dos equipamentos, enquanto provê confiabilidade e algum nível de garantia de entrega. Esses princípios tornam este protocolo ideal para as comunicações emergentes machine-to-machine (M2M) e para as aplicações internet das coisas (IoT), além das aplicações mobile onde banda e potência da bateria são relevantes.[3] Atualmente se encontra na versão 5.0[4] e a 3.1.1[5] (padrão ISO), ambos são padrões OASIS. MQTT-SN é uma variação do protocolo destinada a redes que não sejam baseadas em TCP/IP, como ZigBee.[6] MQTT hoje é usado em uma ampla variedade de indústrias, como automotiva, manufatura, telecomunicações, petróleo e gás, etc.[7]
História
[editar | editar código]O MQTT[8] é um protocolo de mensagens (camada de aplicação) projetado para um baixo consumo de banda de rede e recursos de hardware, desenvolvido pela IBM e Eurotech na década de 90.
Inicialmente, as letras "MQ" não tinham um significado específico para o protocolo, vinham de uma linha de produtos da IBM chamada 'MQ Series'.[9] O protocolo fornecia mensagens de publicação e subscrição sem filas de espera e foi especificamente projetado para dispositivos com recursos limitados, baixa largura de banda e redes de alta latência, assim como as linhas discadas e ligações via satélite.
Em 1999, Andy Stanford-Clark (IBM) e Arlen Nipper (Cirrus Link, Eurotech) criaram a primeira versão do protocolo MQTT. Sua primeira aplicação foi destinada ao monitoramento de oleodutos. O objetivo era um protocolo leve com economia de banda e baixo consumo de energia e hardware, uma vez que os aparelhos eram conectados via satélite que, na época, era um recurso extremamente caro.[10]
Em 2013, a IBM submeteu o MQTT v3.1 ao organismo de especificação da OASIS com uma carta que assegurava que apenas alterações menores à especificação poderiam ser aceitas.[11]
Atualmente, MQTT é um protocolo de comunicação máquina para máquina (M2M) com foco em internet das coisas (IoT).
MQTT métodos (methods)
[editar | editar código]MQTT define pacotes de controle (Control Packets) [12] para indicar a ação desejada a ser executada pelo recurso desejado. O MQTT possui uma estrutura de pacotes de controle própria, que basicamente é constituída de três partes principais: Cabeçalho fixo, cabeçalho variável e o payload.
Referências
- ↑ «FAQ - Frequently Asked Questions | MQTT» (em inglês)
- ↑ Especificação do protocolo MQTT versão 3.1.1 (em inglês)
- ↑ «MQTT» (em inglês). Consultado em 24 de setembro de 2019
- ↑ «MQTT Version 5.0». docs.oasis-open.org. Consultado em 24 de setembro de 2019
- ↑ «MQTT Version 3.1.1». docs.oasis-open.org. Consultado em 24 de setembro de 2019
- ↑ Especificação do protocolo MQTT for Sensor Networks (MQTT-SN) versão 1.2 (em inglês)
- ↑ «MQTT - The Standard for IoT Messaging». mqtt.org. Consultado em 7 de novembro de 2020
- ↑ «Cross-Platform MQTT Client». ioctrl.com. Consultado em 4 de setembro de 2021. Cópia arquivada em 4 de setembro de 2021
- ↑ HiveMQ - Introdução ao protocolo MQTT (em inglês)
- ↑ Team, The HiveMQ. «Getting Started with MQTT». www.hivemq.com (em inglês). Consultado em 28 de setembro de 2020
- ↑ «Call for Participation: Message Queuing Telemetry Transport (MQTT) TC». lists.oasis-open.org. Consultado em 28 de setembro de 2020
- ↑ http://docs.oasis-open.org/mqtt/mqtt/v3.1.1/os/mqtt-v3.1.1-os.html MQTT Version 3.1.1 OASIS Standard