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