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.
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.
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
Postar um comentário