LED e MQTT

Nesta publicação iremos conectar a ESP8266 à um celular, através do protocolo MQTT.  
Para esta aplicação será necessário: 
-Uma protoboard 
-ESP8266 
-Led 

-Um celular com aplicativo MQTTDASHBOARD  


Mas afinal, o que é o protocolo MQTT??!! 

   MQTT é um protocolo de Internet das Coisas que utiliza o paradigma "publisher/subscriber" e um middleware "broker".  É um protocolo projetado para baixo consumo de banda de rede e requisitos de hardware, logo, é muito simples e leve. Projetado, pela IBM e Eurotech, para enviar dados através de redes intermitentes, para isto utiliza vários conceitos que garantem a troca de dados, como por exemplo TCP/IP. Como já citado acima, existe o "publisher" (publicador) e o "subscriber" (inscrito), ambos são os clientes e o middlware, o broker, é quem permite a comunicação entre esses dois clientes.  
O funcionamento consiste em: 
Cliente publicador envia uma mensagem em um determinado tópico
O broker envia esta mensagem para todos os inscritos no tópico
O inscrito no tópico recebe esta mensagem. 

  No nosso caso, o LED conectado à ESP8266 será o nosso Publish e o celular será o Subscribe. O broker utilizado nesta aplicação será o MOSQUITTO, que está instalado em uma de nossas máquinas, mas você pode utilizar outros brokers, como o CLOUDMQTT (já comentado em outra postagem) ou até mesmo o "iot.eclipse.org".

Primeiro Passo:
            Fazer a montagem da conexão "LED-ESP8266" (Repetiremos o que foi feito na postagem anterior)
Segundo Passo:
             Fazer o código em python. Podemos reaproveitar o que foi feito na postagem anterior e acrescentar as linhas faltantes.
-Nas 3 primeiras linhas o que acontece é apenas a importação das bibliotecas e, dentre elas , a única desconhecida é a do próprio MQTT, como utilizamos micropython e não Python, temos que importar o "micro" MQTT. 
           -Na 7ª linha criamos o cliente MQTT, no primeiro argumento temos o nome do cliente (você pode pôr o que quiser), no segundo temos a definição do broker (no meu caso, o número do IP do servidor, mas poderia ser  a url de qualquer outro broker) e no terceiro a porta.
           -Na linha seguinte chamamos a conexão do cliente.
           -No loop, nas linhas 13 e 17, após o led ligar/desligar, é feito uma publicação no tópico "LED", com a mensagem definida no "msg=".
Terceiro Passo:
           Criar um cliente subcriber no aplicativo MQTTDASHBOARD (você pode baixá-lo aqui)

Ao abrir o aplicativo você verá o símbolo de +, clique e crie o seu cliente (assim como foi feito no código em Python), após a criação da conexão, é feita a inscrição no tópico desejado, que nosso caso é o tópico LED. Após feita a inscrição é só esperar a publicação.
Quarto Passo:
           Implementar o código na ESP8266.


Quinto Passo: 
            Ver funcionando



Referências :   
-http://mqtt.org/ 
-http://micropython-iot-hackathon.readthedocs.io/en/latest/mqtt.html 
-https://www.ibm.com/support/knowledgecenter/pt-br/SS9D84_1.0.0/com.ibm.mm.tc.doc/tc00000_.htm  








Comentários

Postagens mais visitadas deste blog

ESP's e Node-Red

Análise de desempenho: MQTT

Meus primeiros passos com a ESP32