- Projetos Finalizados
- Projetos em Andamento
- Treinamentos
- Conhecimentos
-
- Conceitos
- Outros
MQTT, sigla de Message Queuing Telemetry Transport, se trata de um protocolo de envio de mensagens através da internet, sendo considerado leve e muito adequado para o uso em plataformas pequenas de desenvolvimento que possuem conexão à internet (IoT). O seu uso substitui toda a infraestrutura baseada em TCP/IP, sendo muito útil em conexões não confiáveis ou de alta latência.
O seu funcionamento baseia-se em dois papéis principais: publisher e subscriber. Dada que a conexão, no seu exemplo mais simples possível, é entre dois clientes, devemos necessariamente, durante o envio de uma mensagem qualquer, ter que um cliente seja pelo menos publisher e o outro cliente seja pelo menos subscriber. Podemos ter clientes que sejam publisher e subscriber ao mesmo tempo. Além disso, existe o papel de broker, reservado ao servidor que comportará a infraestrutura para que a comunicação através do protocolo seja efetuada.
Temos também o conceito de tópicos, que são “espaços” para que mensagens sejam armazenadas e lidas. Serão nesses tópicos que o publisher e o subscriber irão efetuar suas ações.
O broker se trata de um software que possui uma infraestrutura que permite a conexão entre os dois clientes (publisher e subscriber) no envio de uma mensagem, sendo executado dentro de um servidor. É dentro do broker que estão os tópicos, com o objetivo de permitir a comunicação entre o publisher e o subscriber. Os tópicos não são criados explicitamente, mas são referenciados de acordo com um nome atribuído a cada um pelos clientes conectados ao broker. A princípio, é criado pelo próprio broker quando um cliente atua sobre o tópico em questão.
O cliente com o papel de publisher poderá, no sentido literal da tradução, publicar mensagens em tópicos presentes no broker. Sua função, portanto, é ser o emissor da comunicação entre dois clientes, enviando através do broker as informações para o subscriber. O publisher pode publicar em qualquer tópico existente no broker em questão.
Por outro lado, o cliente com papel de subscriber irá se subscrever a um ou mais tópicos presentes no broker, sendo notificado a cada vez que uma mensagem for escrita em um tópico ao qual se foi subscrito, recebendo o conteúdo dela logo em seguida. Assim, o subscriber é o receptor da comunicação entre dois clientes, recebendo através do broker as informações que partiram do publisher. O subscriber pode se subscrever em qualquer tópico existente no broker em questão.
O MQTT está presente nas linguagens e IDEs
e em diversas outras. Até o momento, a ADA utilizou o protocolo MQTT na IDE do Arduino e também nas linguagens Python e Java para Android.
O MQTT foi um aliado de peso para as aplicações feitas pela ADA.