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

  1. 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:

    commands
    npm install -g --unsafe-perm node-red
    node-red

  2. Instalaçã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:

    commands
    mosquitto

  3. 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 }

  4. 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.js
    const 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);

  5. Executando o Script do Sensor

    No terminal, execute o script do sensor para começar a enviar dados:

    commands
    node sensor.js

  6. 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

  7. 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:

    commands
    npm install node-red-dashboard

  8. 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 }

  9. 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

  10. 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.

Hashtags

#IoT #NodeRED #MQTT #MonitoramentoAmbiental #DesenvolvimentoDeSoftware