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
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