Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Componentes e Materiais

Componente Quantidade
Raspberry Pi 1 Model B 1
Arduino UNO 1
Sensor de Temperatura e Umidade DHT11 (4 pinos) 1
Sensor de Umidade do Solo YL-69 1
Sensor de Nível de Água 1
Display LCD 16x2 Padrão 1
Bomba de Água (Motor) 1
Relé 5V 1
Suporte para 4 Pilhas AA 1

Software e Serviços Online

Sobre o Projeto

Introdução

O sistema é uma solução adequada para pessoas que amam e querem cuidar de plantas em casa, mas são muito ocupadas no trabalho diário para fazer isso. Cultivar plantas requer tempo e esforço para ser bem-sucedido, porque há coisas regulares a fazer, como regá-las todos os dias. Às vezes as pessoas esquecem de cuidar de suas plantas. Além disso, algumas pessoas viajam muito e passam menos tempo em casa. Nesse contexto, elas geralmente pedem ajuda para cuidar de suas plantas domésticas ou simplesmente desistem de tê-las. O WaterPi pode ajudar essas pessoas fazendo as coisas regulares para as plantas. Também, como pode ser controlado remotamente, os donos de plantas podem interferir no processo de rega facilmente quando necessário.

O sistema monitora a temperatura e umidade do ambiente, a umidade do solo, rega a planta remotamente e então salva todos os dados no DynamoDB através do AWS IoT. Os dados coletados são visualizados por diferentes gráficos e figuras para dar melhor entendimento das condições onde a planta prospera.

O Raspberry Pi roda uma aplicação Node.js para controlar todos os sensores e a bomba de água. Para esse propósito, preferi usar a biblioteca Johnny-Five. Para comunicar com a AWS, usei o AWS IoT SDK para JavaScript.

Passo 1: Configurar DynamoDB

O DynamoDB é usado para salvar dados coletados pelos sensores. Vá à página do DynamoDB e crie uma nova tabela com os seguintes atributos:

O importante é que key e timestamp devem ser do tipo String.

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Passo 2: Configurar AWS IoT

Vá ao Console AWS IoT e faça o seguinte:

  1. Crie um "thing" com o nome raspi-water-pump
  2. Crie uma nova policy. Nome: pump-policy, Ação: iot:*, Recurso: *, selecione Allow, clique em "Add statement" e "Create".
  3. Crie um certificado com 1-Click certificate create. Baixe a chave pública, chave privada e certificado.
  4. Selecione o certificado criado e faça:
    • Clique Actions > Activate para ativar o certificado
    • Clique Actions > Attach a policy, digite o nome da policy criada e clique Attach
    • Clique Actions > Attach a thing, digite raspi-water-pump e clique Attach
  5. Crie uma rule com:
    • Nome: saveToDynamoDB
    • Atributo: *
    • Filtro de Tópico: sensor/data
    • Ação: Insert message into a database table
    • Nome da tabela: waterpi_sensor_data
    • Valor da Hash Key: ${topic()}
    • Valor da Range Key: ${timestamp()}
    • Role Name: Clique create a new role e Allow, depois selecione no dropdown
WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Passo 3: Preparando o Arduino

As saídas dos sensores de nível de água e umidade do solo são analógicas. Em vez de ligá-los diretamente ao Raspberry Pi, prefiro usar o Arduino para ler esses valores analógicos e enviá-los ao Pi via USB como valores digitais. O código do Arduino é atualizado pelo Pi, então a única coisa a fazer neste passo é conectar o Arduino ao computador e carregar o StandardFirmata nele.

  1. Arduino IDE
  2. Arquivo > Exemplos > Firmata > StandardFirmata
  3. Carregar sketch no Arduino
WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Ligação do Sensor de Umidade do Solo ao Arduino:

Ligação do Sensor de Nível de Água ao Arduino:

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Depois disso, conecte seu Arduino ao Raspberry Pi via cabo USB. Não se esqueça de colocar o sensor de umidade do solo no vaso de flores e o sensor de nível de água no seu tanque de água.

Passo 4: Preparando o Raspberry Pi

Conecte a tela LCD, DHT11, bomba de água através do relé com o Raspberry Pi.

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Ligação do DHT11 ao Pi:

Ligação da Tela LCD (I2C):

Ligação do Relé para Bomba de Água:

Ligação da bomba de água com relé e pack de baterias:

Passo 5: Rodando a Aplicação Node.js no Pi

Nesta parte, vamos rodar a aplicação Node.js no Pi para coletar dados dos sensores e controlar a bomba de água. O Raspberry Pi deve estar conectado à Internet (via ethernet ou WiFi).

O Node.js deve estar instalado no Pi antes de prosseguir. Se não instalou antes, siga o tutorial aqui.

Conecte seu Raspberry Pi e execute:

git clone git@github.com:demirhanaydin/waterpi-node.git
cd waterpi-node
npm install

Coloque seus arquivos de chave pública, chave privada e certificado (baixados da página AWS IoT) na pasta certs. Baixe também o certificado raiz CA de root certificate. Salve como rootCA.pem e coloque na pasta certs.

Edite o arquivo device.js com seu editor de texto favorito e atualize estas linhas com seus caminhos de arquivo. Obtenha seu IOT_DEVICE_URL na plataforma AWS IoT clicando no seu "thing". Deve ser como https://XXXXXXXXX.iot.us-east-1.amazonaws.com.

Então execute:

sudo node index.js

Se tudo estiver correto, você deverá ver os valores dos sensores impressos na tela LCD.

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Também deve ver os valores na sua tabela DynamoDB. A aplicação envia dados dos sensores para a plataforma IoT a cada 20 segundos.

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Passo 6: Rodando a Aplicação Web

Uma aplicação Sinatra básica visualiza os dados que estão na tabela DynamoDB usando Highcharts. Também pode controlar a bomba de água remotamente. O que faz é: sempre que o usuário clica no botão iniciar/parar, publica um evento na plataforma AWS IoT. O Raspberry Pi recebe este evento e processa se deve iniciar ou parar a bomba.

Ruby deve estar instalado no seu computador para continuar. Se não estiver, veja esta página.

No Terminal, execute:

git clone git@github.com:demirhanaydin/waterpi-web.git
cd waterpi-web
bundle install

Coloque seus arquivos de chave pública, chave privada, certificado e rootCA na pasta certs. Edite boot.rb e atualize as linhas com os valores adequados. Obtenha sua chave de acesso AWS e segredo na página Security Credentials do AWS Management Console.

Se terminou, execute o projeto como:

ruby app.rb

Abra o navegador e digite https://localhost:4567/. Você deverá ver os dados dos sensores coletados do DynamoDB nos gráficos.

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Quando você clica em iniciar, a bomba começará a regar a planta.

Aqui estão algumas fotos que tirei durante o desenvolvimento do projeto:

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas
WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas
WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas
WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas
WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

Parabéns!

Código

Código Fonte Node.js do Raspberry Pi

Clone o código fonte para o Raspberry Pi e adicione seus arquivos de certificado AWS IoT na pasta certs. Atualize também device.js com a URL do seu thing AWS IoT.
github.com/demirhanaydin/waterpi-node

Cliente Web WaterPi

Não se esqueça de atualizar boot.rb com suas credenciais.
github.com/demirhanaydin/waterpi-web

Esquemáticos

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

pi-wout-camera.fzz

WaterPi: Rega e Monitoramento Inteligente Remoto para Plantas Domésticas

arduino.fzz

Processo de manufatura

  1. ADLINK Lança Solução MCM Avançada para Monitoramento Remoto de Instalações e Manutenção Preditiva
  2. Sistema de Aquaponia Controlado por Raspberry Pi: Guia de Construção e Código
  3. Home Energy Centre: Monitoramento Solar PV, Painéis Térmicos e Temperaturas de Ambientes com Raspberry Pi e Moteino
  4. Monitoramento Remoto do Tempo com Raspberry Pi 3 e PubNub
  5. Construa um Sistema de Monitoramento de Temperatura e Luz Multi-Sensor com Raspberry Pi e DS18B20
  6. Dominando Controle de Sensores e Atuadores no Raspberry Pi: Acelerômetro, Servo e Streaming de Dados
  7. Sistema de Segurança Residencial com Raspberry Pi: Detecção PIR + Alertas de Câmera por Email
  8. GE Conclui Aquisição da SmartSignal, Fortalecendo Monitoramento Remoto e Diagnóstico Preditivo
  9. Cisco Lança Monitoramento IoT Gerenciado na Nuvem para Ambientes TI e OT
  10. Sistema de Monitoramento Remoto IoT para Tanques de Óleo e Diesel