Introdução
O monitoramento ambiental é crucial para a análise e gestão de recursos naturais, e a Internet das Coisas (IoT) oferece uma maneira eficaz de coletar e transmitir dados em tempo real. Neste tutorial, vamos explorar como implementar um sistema de monitoramento ambiental utilizando o Node-RED, um fluxo de desenvolvimento visual que facilita a conexão de dispositivos IoT, e o MQTT, um protocolo leve de mensagens para comunicação entre dispositivos. Através de etapas práticas, você aprenderá a configurar sensores, integrar com o Node-RED e visualizar dados em tempo real, permitindo que qualquer um construa uma solução de monitoramento ambiental de forma acessível e eficiente.
Etapas
Instalação e Configuração do Node-RED
Primeiro, precisamos instalar o Node-RED, que pode ser executado localmente ou em um servidor. Você pode instalar usando o npm, que é parte do Node.js. Execute o seguinte comando no terminal:
commandsnpm install -g --unsafe-perm node-red
node-redInstalação do Cliente MQTT
Para receber e enviar mensagens, precisamos de um cliente MQTT. Usaremos o Mosquitto, que pode ser instalado facilmente. Você pode baixar o Mosquitto [aqui](https://mosquitto.org/download/). Após a instalação, inicie o servidor MQTT usando o comando:
commandsmosquitto
Configuração do Node-RED para MQTT
Acesse a interface do Node-RED em `http://localhost:1880`. Arraste o nó ‘mqtt in’ para o fluxo e configure-o para assinar o tópico desejado, por exemplo, ‘sensor/temperatura’. Você pode usar o nó ‘debug’ para visualizar as mensagens recebidas.
json{ "id": "mqtt_in", "type": "mqtt in", "topic": "sensor/temperatura", "name": "Temperatura Sensor", "broker": "mqtt_broker", "x": 140, "y": 100 }, { "id": "debug", "type": "debug", "name": "Debug", "active": true, "tosidebar": true, "console": false, "tostandardoutput": false, "x": 340, "y": 100 }
Configuração dos Sensores
Para simular sensores, usaremos um pequeno script em Node.js que publicará dados de temperatura em um tópico específico do MQTT. Crie um arquivo chamado `sensor.js` com o seguinte código:
sensor.jsconst mqtt = require('mqtt'); const client = mqtt.connect('mqtt://localhost'); setInterval(() => { const temperatura = (Math.random() * 30 + 15).toFixed(2); client.publish('sensor/temperatura', JSON.stringify({ temperatura })); console.log('Dados enviados: ', temperatura); }, 5000);
Executando o Script do Sensor
No terminal, execute o script do sensor para começar a enviar dados:
commandsnode sensor.js
Visualização dos Dados no Node-RED
Quando você executar o script do sensor, os dados de temperatura começarão a ser enviados. Vá para o Node-RED e verifique a aba Debug para ver as mensagens que estão sendo recebidas. Isso valida que a comunicação entre o sensor e o Node-RED está funcionando corretamente.
commands# Acesse a aba debug no Node-RED para visualizar a temperatura
Criando um Dashboard no Node-RED
Instale o Node-RED Dashboard para visualizar os dados de uma maneira mais amigável. Execute o comando abaixo dentro do Node-RED:
commandsnpm install node-red-dashboard
Adicionando widgets ao Dashboard
Depois de instalar o Node-RED Dashboard, adicione um nó ‘ui_gauge’ ao seu fluxo para exibir os dados de temperatura em um formato gráfico. Configure o nó para mostrar os dados da temperatura recebida do tópico MQTT.
json{ "id": "gauge", "type": "ui_gauge", "name": "Temp Gauge", "group": "default", "order": 1, "width": 0, "height": 0, "gtype": "gage", "title": "Temperatura", "label": "°C", "min": 0, "max": 50, "colors": ["#00b500", "#e6e600", "#ca3838"], "x": 140, "y": 200 }
Publicando no Dashboard
Agora, conecte o nó ‘mqtt in’ ao nó ‘ui_gauge’. Atualize o nó ‘ui_gauge’ para receber o dado de temperatura do payload do MQTT. Quando os dados forem publicados a partir do sensor, você verá a temperatura sendo atualizada em tempo real no seu dashboard.
commands# Acesse http://localhost:1880/ui para ver o dashboard
Finalizando e Testando a Aplicação
Testar o sistema enviando dados do sensor e observando a atualização no dashboard. Verifique se tudo funciona como esperado. Este é um modelo básico que pode ser expandido para incluir mais sensores e funcionalidades adicionais.
commands# Teste seu sistema para garantir que os dados estão sendo corretamente monitorados e apresentados.
Conclusão
Neste tutorial, você aprendeu a criar um sistema de monitoramento ambiental em tempo real utilizando Node-RED e MQTT. Desde a instalação dos ambientes até a configuração e visualização dos dados, agora você possui uma estrutura básica que pode ser expandida para incluir mais sensores e funcionalidades conforme necessário. O uso de IoT em projetos de monitoramento abre várias possibilidades para análises mais eficazes e gestão de recursos. Continue explorando as funcionalidades do Node-RED e os conceitos de IoT para potencializar seus projetos.