Redação – Protocolo MQTT e Internet das Coisas

Porsu-pet-si

Redação – Protocolo MQTT e Internet das Coisas

Nesta edição do pet redação, vamos falar sobre o MQTT e suas ferramentas. Ora, mas o que é MQTT? Calma que vamos esclarecer esta e outras dúvidas ao decorrer deste PET Redação. Estamos prontos? Então Let’s go!

Em um mundo onde cada vez mais a tecnologia está difundida no nosso dia a dia, da qual muitas vezes já nem percebemos que estão presentes, surgem conceitos como “internet das coisas” ou “inteligência das coisas”. Nada mais é do que a capacidade de “coisas” ou objetos comunicarem-se entre si transmitindo dados capazes de trazerem alguma informação ou auxílio para que se realize algo.

Abstrato? Bom, imagine você que ao invés de levantar-se de onde está sentado agora para fazer um cafezinho para acompanhar esta redação, possa através de seu smartphone, mandar uma mensagem de texto ou simplesmente apertar um botão e pronto! Sua cafeteira liga, passa o café e lhe avisa o momento que ela encerra sua tarefa. 

https://giphy.com

Bacana né? E se você acha que é muito coisa de série de ficção científica, repara só: em 2015, uma empresa chamada Smarter apresentou durante a CES2015 (Consumer Electronics Show) uma cafeteira com conexão Wi-fi capaz de controlar remotamente seu café, incluindo até mesmo ser acordado apenas quando seu café estiver pronto.

Cafeteira inteligente, “coisa que fala com outras coisas”… e o que tem a ver com o tal do MQTT?

Para que estas coisas se comuniquem, é necessário que haja um protocolo comum onde elas sejam capazes de “falar a mesma língua”. Existem vários protocolos capazes de fazer isso, o MQTT (Message Queuing Telemetry Transport) é um deles, capaz de criar um canal de comunicação onde sensores publicam informações, enquanto outros dispositivos “assinam” tópicos para ter acesso às informações deste sensor.

O MQTT é um protocolo de ligação que especifica como os bytes de dados são organizados e transmitidos pela rede TCP/IP. Mas por motivos práticos, os desenvolvedores não precisam entender o protocolo de ligação. Basta saber que cada mensagem tem uma carga útil de comando e dados. O comando define o tipo de mensagem (por exemplo, uma mensagem CONNECT ou uma mensagem SUBSCRIBE). Todas as bibliotecas e ferramentas do MQTT oferecem maneiras simples de manipular essas mensagens diretamente e podem preencher automaticamente alguns campos necessários, como os IDs da mensagem e do cliente.

O MQTT é atualmente o protocolo mais utilizado no mundo da internet das coisas por uma série de fatores, mas podemos mencionar principalmente o fato de ser extremamente leve e escalável, sendo possível desde os mais simplórios hardwares se comunicarem com ele.

Legal, falamos sobre Internet das Coisas, protocolo, cafeteira inteligente… mas e na prática, como vemos estas coisas de fato funcionando computacionalmente? A ferramenta mais poderosa e open source capaz de trazer isto à tona se chama Mosquitto. 

O Mosquitto é uma ferramenta criada pela Eclipse, capaz de atuar no protocolo MQTT como um Broker: uma espécie de centralizador de mensagens, capaz de fazer a comunicação com o produtor de dados com o consumidor desta rede.

Para instalá-lo no seu Linux é muito simples, basta executar:

$ sudo apt-get install mosquitto 

$ sudo apt-get install mosquitto-clients

Após a execução destes, teremos (no primeiro comando) a criação da rede MQTT no seu dispositivo, e no segundo, instalamos o cliente do mosquitto, serviço capaz de visualizar o MQTT, publicar mensagens, assinar tópicos e interagir em toda a rede gerada.

E agora vamos aos testes: abra duas janelas do seu terminal, coloque-as lado a lado e na primeira digite:

$mosquitto_sub -t “a”

Na segunda janela do seu terminal, digite:

$ mosquitto_pub -t “a” -m “TESTE”

E você verá:

Exibição das mensagens do terminal 1 (publicação) e 2 (subscrição)

Vamos às explicações:

Quando você digita mosquitto_pub, você faz o comando de publicar algo. As flags -t e -m são respectivamente o tópico que você deseja publicar (no caso “a”) e a mensagem que você deseja publicar. Já no outro terminal, quando você digita mosquitto_sub, você se subscreve no -t, ou seja, no tópico que deseja “escutar” as mensagens. 

Este é o exemplo mais simples possível do uso do mosquitto. Além das flags que utilizamos, existem uma série de possibilidades (você pode conferir todas elas em: https://mosquitto.org/man/mosquitto_sub-1.html ).

Este é só o começo. O exercício de _sub e _pub nos introduz a infindas possibilidades para com o MQTT e o uso de internet das coisas. Você pode criar aplicações das mais inimagináveis formas, com qualquer linguagem de programação que possua alguma biblioteca de integração com o protocolo, e a partir dela publicar ou se inscrever em tópicos. E a ideia prevalece: quando você se inscreve em um tópico, você consome a informação que está transitando neste. Quando você publica, você está criando uma ação.

Dispositivos inteligentes podem estar inscritos em tópicos e, ao receber determinada informação, realizar uma ação, como por exemplo acender uma lâmpada. Muito além de coisas simples, podemos realizar fluxos extremamente complexos dentro do MQTT, e o fato de possuir tópicos facilita em muito a organização dos dados, uma vez que não misturamos dados de diferentes “tipos” dentro deste fluxo. Clique aqui e você quiser saber mais detalhes sobre o protocolo.

Esta redação traz um conteúdo extremamente simples, mas com o intuito de estimular os conhecimentos em internet das coisas, criando novas possibilidades e expandindo nossos horizontes, a fim de vermos que a computação está em tudo e o tempo todo, de forma que muitas vezes nem a percebemos atuando.

E nós super heróis da computação, temos infinitas possibilidades a nosso alcance para que possamos, através da internet das coisas, transformar nosso contexto e ambiente, de forma a construir tecnologias que transformem indústrias, cidades, a própria agricultura, ou apenas auxiliar nossas tarefas cotidianas, como programar sua cafeteira para aquele café quentinho (rsrsrs).

Feedback e publicações anteriores

Caso você tenha interesse em ler as edições anteriores do PET Redação ou conhecer um pouco mais sobre o trabalho desenvolvido pelo PET-SI não deixe de conferir nossa página. Antes de você partir gostaríamos também de pedir que você nos ajude, respondendo o formulário de avaliação abaixo. Esse formulário nos ajuda a moldar nossas atividades para melhor atender os nossos leitores.

Comentários não são aceitos para este Post!!!