Publicando dados da Serial com MQTT


   Neste post será mostrado como ler dados através da Serial da ESP8266 e publicá-los através do protocolo MQTT no celular com o aplicativo MQTTDASHBOARD.


Para esta aplicação será necessário: 

 -Uma ESP8266 e outro Hardware (no meu caso, utilizei outra ESP8266);
-Uma protoboard;
-Um celular com o aplicativo MQTTDASHBOARD;
-Cabos Jumpers.




1) PASSO: Montagem do circuito

Para começar iremos fazer a montagem da comunicação, você pode visualizá-la na imagem abaixo.
  Montagem da aplicação

Na ESP8266 enumerada com 1 será quem mandará os dados através da Serial e a número 2 será quem fará a leitura desses dados e a publicação no celular com o protocolo MQTT. A aplicação na ESP8266-1 irá escrever o estado do Led (ligado/desligado) e acioná-lo, por este motivo há um led conectado. Os dados serão enviados através do pino Tx e serão recebidos através da Rx (na ESP8266-2). IMPORTANTE: O GND e o VCC dos hardwares precisam ser comum, como é possível analisar na imagem. 

2)PASSO: Código 

Este é o código que será implementado na ESP8266-2. 

 

Código de leitura + Publicação Aqui

Explicando, basicamente, o código temos:

  • Bibliotecas:
-Nas 4 primeiras linhas há a importação das bibliotecas necessárias. 

  • Conexão Wi-Fi:  
-Nas linhas seguintes é feito a conexão da ESP8266 com Wi-Fi. É uma aplicação "pronta".

  • Cliente+Serial:
-Agora é criado um "objeto" para o cliente MQTT e outro para a função serial
  • Leitura e Publicação:


-Na última parte do código foi feito um loop infinito que lê pela serial e publica com o MQTT.
Para implementar o código abriremos o TeraTerm, faremos as configurações, já mostrada nesse blog, mas caso você não lembre clique aqui ou observe no vídeo abaixo, apertaremos a tecla Ctrl+C, em seguida Ctrl+E, Shift+Insert, vamos dar um OK e por fim Ctrl+D. Aparecerá  "none" caso você não tenha feito a conexão serial ainda.


 
Implementando o código



3)PASSO: Ver funcionando 
-Para fazer o cliente Subcriber, caso você não saiba, no aplicativo MQTTDASHBOARD clique aqui



Funcionamento no MQTTDASHBOARD



Como já mencionado acima, a minha ESP8266-1 "escrevia" o estado do Led ligado à ela e foi isso que apareceu no tópico do meu cliente "subscriber".

Caso haja dúvidas entre em contato comigo ou deixe suas dúvidas nos comentários!!



Referencias: 
-http://mqtt.org/ 
-http://micropython-iot-hackathon.readthedocs.io/en/latest/mqtt.html 
-https://www.ibm.com/support/knowledgecenter/pt-/SS9D84_1.0.0/com.ibm.mm.tc.doc/tc00000_.htm  -http://docs.micropython.org/en/latest/esp8266/
-https://pypi.python.org/pypi/micropython-umqtt.simple/1.0.1













Comentários

Postagens mais visitadas deste blog

ESP's e Node-Red

Análise de desempenho: MQTT

Meus primeiros passos com a ESP32