MQTT com o ESP8266

Um exemplo simples de envio de informações para o broker MQTT do test.mosquitto.org e acesso via consulta gráfica – por Douglas Salin Zuqueto.

MQTT é um protocolo leve para troca de informações com um agente centralizado, bastante adequado para as plataformas embarcadas da IoT (como microcontroladores com suporte a TCP/IP e o ESP8266).

O ‎Douglas Salin Zuqueto está lidando com o assunto no seu TCC, aceitou o convite de um leitor para produzir um tutorial curto sobre esse tópico específico, publicou-o no Github e me permitiu incluir o artigo no acervo do BR-Arduino. Obrigado, Douglas!


Enviando informações via MQTT

Por ‎Douglas Salin Zuqueto

Nesse cenário, construiremos uma pequena aplicação que mandará informações para a plataforma test.mosquitto.org. Essa plataforma nos disponibiliza um Broker MQTT para fazer testes usando o protocolo, e também conta com um exemplo denominado "Demo temperature gauge", o qual oferece um Gauge integrado com um Cliente MQTT.

Integração da IDE

Primeiramente, para se programar o ESP8266, caso vocês não possuam, é necessário fazer a integração da IDE do Arduino para acrescentar as ferramentas do ESP8266.
Para que isso ocorra, sugiro seguir algumas das referências que eu citarei logo abaixo. Mas já adianto que essa integração é bem fácil, simples passos e sua IDE já vai estar pronta para programar o ESP8266 :)

OBS: Precisará baixar esta biblioteca também ;)

Conexão do ESP ao Modulo Conversor/Placa Arduino

Feito a integração, se faz necessário a ligação do ESP8266 ao modulo conversor usb/serial ou usar uma placa Arduino Uno mesmo(eu uso essa forma)

Caso não saiba efetuar a ligação, sugiro esse artigo do Pedro Minatel.

Código a Ser enviado para o ESP8266

Código está no repositório (pasta test_gauge_mosquitto);

Com esse código, única coisa que precisa ser feito, é mudar o SSID e a Senha do Roteador WIFI. Feito isso, carregue o código para o ESP8266 e depois abra o Monitor Serial e veja o que está acontecendo.

Na imagem abaixo, pode-se observar que deu tudo certo, pois se conectou a rede WIFI, se conectou com o Broker(test.mosquitto.org) e já começou a puplicar a mensagem.

Visualizando Resultados

Para ver se realmente deu certo, abra o site test.mosquitto.org/gauge e veja se o Gauge está mudando de valor a cada segundo e incrementando de 1 em 1.

Observe a imagem abaixo com o site já aberto.

O MQTT é um protocolo muito bom para diversos tipos de aplicações, pois é leve, rápido, tem uma enorme compatibilidade com os embarcados e também possui inúmeras ferramentas para trabalhar com MQTT.

Abaixo deixarei uma lista de algumas referências caso queiram estudar o MQTT, sugiro também, caso goste, pesquisar no YouTube mesmo vídeos de Arduino + MQTT, ESP8266 + MQTT.

http://mosquitto.org/
http://test.mosquitto.org/
http://www.eclipse.org/paho/
http://mqtt.org/
https://www.cloudmqtt.com/ - Plataforma que te oferece uma conta free para realizar alguns testes :)
www.hivemq.com/blog/mqtt-essentials-part-1-introducing-mqtt - Série de artigos sobre MQTT Recomendo

Observações

Estou usando esse protocolo em meu TCC. De acordo que vou terminando o projeto, irei postando mais detalhes no grupo.

Ontem, deixei meu Embarcado ligado das 8 horas da manhã, até as 6:30 da tarde, ele estava enviando mensagens a cada segundo para o Broker, deve ter dado pelos meus cálculos, mais de 40.000 mensagens enviadas haha.

Contato

Caso queiram mais informações, ajuda ou trocar uma ideia, podem me adicionar no Facebook, ou me mandar um e-mail diretamente: douglas.zuqueto@gmail.com

E contribuam para o grupo Arduino Brasil também, postando seus projetos :)

Um Grande Abraço, Douglas Salin Zuqueto

Comentar

Dos leds ao Arduino, ESP8266 e mais

Aprenda eletrônica com as experiências de um geek veterano dos bits e bytes que nunca tinha soldado um led na vida, e resolveu narrar para você o que descobre enquanto explora esse universo – a partir da eletrônica básica, até chegar aos circuitos modernos.

Por Augusto Campos, autor do BR-Linux e Efetividade.net.

Recomendados

Livro recomendado


Artigos já disponíveis

Comunidade Arduino

O BR-Arduino é integrante da comunidade internacional de entusiastas do Arduino, mas não tem relação com os criadores e distribuidores do produto, nem com os detentores das marcas registradas.

Livros recomendados