1
resposta

Raspberry Pi Node-RED

No curso Raspberry Pi Node-RED, aula 05, é feito um projeto utilizando um hardware através do MQTT. Porém o hardware não está disponível para o acesso e acompanhamento das aulas. Como faço para simular o exercício?

1 resposta

Oi Tiago, como vai?

Sinto muito pela demora em obter um retorno.

O hardware da aula 5 foi construído detalhadamente no curso de NodeMcu e Esp8266: Medindo e publicando dados com MQTT.

Vou fazer a simulação passo a passo com você. Mas antes, precisaremos de alguns pré-requisitos:

  • Instale o Python 3 em sua máquina. Siga estes passos.

  • Após a instalação, abra o prompt de comando e digite o seguinte:

pip install paho-mqtt
  • Agora, crie um arquivo denominado principal.py e cole o seguinte código:
import paho.mqtt.client as mqtt
import random
import time

mqttc = mqtt.Client()
mqttc.connect("mqtt.eclipse.org", 1883)
while True:
    temp_aleatoria = random.randrange(20, 40)
    mqttc.publish("teste/temperatura", str(temp_aleatoria))
    mqttc.loop(2)
    time.sleep(5)

Com isso, estamos fazendo com que o tópico seja enviado a cada 5 segundos.

Para executar o código, digite o seguinte comando na linha de comando:

python principal.py

E dentro do node-red faça o seguinte esquema:

image

Esses nós são os de mqtt-in e o de debug.

  • Clique no nó de mqtt-in e faça a seguinte configuração:

image

image

  • Agora vá no debug e deverá ver os números das temperaturas que o nosso código Python está enviando. Exemplo:

image

  • Para plotar o gráfico, adicione o dashboard de gauge e acesse a porta 1880/ui para a visualização:

image

image

De posse disso, conseguirá fazer a simulação exata passada pelo professor na aula em questão. Sei que são muitos passos, envolvemos Python, conceitos de MQTT, mas não se apavore caso isso tudo seja novo para você. Qualquer dúvida estou estou por aqui.

Abraços e bons estudos!

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software