MQTT (Message Queuing Telemetry Transport) é um protocolo de mensagens de publicação-assinatura baseado no protocolo TCP / IP .
Foi originalmente desenvolvido por Andy Stanford-Clark (IBM) e Arlen Nipper (EuroTech). Ele é projetado para conexões com sites remotos onde a largura de banda da rede é limitada.
MQTT 3.1.1 é um padrão OASIS , a versão 5 da especificação foi publicada desde 7 de março de 2019.
Andy Stanford-Clark ( IBM ) e Arlen Nipper (Cirrus Link, então Eurotech) são os autores da primeira versão do protocolo em 1999, que foi usado para monitorar um oleoduto no deserto. O objetivo era ter um protocolo que fosse eficiente em largura de banda, leve e usasse pouca bateria, já que o link de satélite que usavam era muito caro na época.
Existem muitos agentes MQTT disponíveis, eles variam em funcionalidade e alguns deles implementam funcionalidade adicional.
Os principais agentes de código aberto são:
Muitas bibliotecas estão disponíveis para a programação de clientes MQTT, para a maioria das linguagens (C, C ++, Java, JavaScript, PHP, Python ...) e na maioria das plataformas ( GNU / Linux , Windows , iOS , Android , Arduino ...) .
Os projetos Eclipse Paho (en) e wolfSSL oferecem implementações gratuitas e de código aberto de protocolos de mensagens abertos e padrão para aplicativos M2M (máquina a máquina) novos e emergentes e Internet das Coisas .
Muitos projetos implementam MQTT:
Em um livro vermelho intitulado Building Smarter Planet Solutions com MQTT e IBM WebSphere MQ Telemetry, a IBM descreve vários exemplos de aplicativos no campo da saúde e energia.