Índice:

IoT APIS V2 - Sistema automatizado de irrigação de plantas habilitado para IoT autônomo: 17 etapas (com fotos)
IoT APIS V2 - Sistema automatizado de irrigação de plantas habilitado para IoT autônomo: 17 etapas (com fotos)

Vídeo: IoT APIS V2 - Sistema automatizado de irrigação de plantas habilitado para IoT autônomo: 17 etapas (com fotos)

Vídeo: IoT APIS V2 - Sistema automatizado de irrigação de plantas habilitado para IoT autônomo: 17 etapas (com fotos)
Vídeo: Sistema de irrigação IoT com Arduino 2024, Julho
Anonim
IoT APIS V2 - Sistema de irrigação automatizado de planta habilitado para IoT autônomo
IoT APIS V2 - Sistema de irrigação automatizado de planta habilitado para IoT autônomo
IoT APIS V2 - Sistema de irrigação automatizado de plantas habilitado para IoT autônomo
IoT APIS V2 - Sistema de irrigação automatizado de plantas habilitado para IoT autônomo

Este projeto é uma evolução do meu instrutivo anterior: APIS - Automated Plant Irrigation System

Eu uso o APIS há quase um ano e queria melhorar o design anterior:

  1. Capacidade de monitorar a planta remotamente. Foi assim que este projeto tornou-se habilitado para IoT.
  2. Fácil de substituir a sonda de umidade do solo. Já passei por três designs diferentes da sonda de umidade e, independentemente do material que usei, ela se desgastou mais cedo ou mais tarde. Portanto, o novo design deveria durar o máximo possível e ser substituído de forma rápida e fácil.
  3. Nível da água no balde. Eu queria saber quanta água ainda está disponível no balde e parar de regar quando o balde estiver vazio.
  4. Melhor aparência. Uma caixa de projeto cinza foi um bom começo, mas eu queria criar algo que parecesse um pouco melhor. Você será o juiz se eu for capaz de cumprir esse objetivo …
  5. Autonomia. Queria que o novo sistema fosse autônomo em termos de potência e / ou disponibilidade de internet.

O projeto resultante não é menos configurável que seu predecessor e possui recursos adicionais úteis.

Eu também queria utilizar minha impressora 3D recém-adquirida, então algumas das peças terão que ser impressas.

Etapa 1: Hardware

Hardware
Hardware
Hardware
Hardware

Você precisará dos seguintes componentes para construir o IoT APIS v2:

  1. Placa de desenvolvimento WIFI NodeMcu Lua ESP8266 ESP-12E - em banggood.com
  2. SODIAL (R) Módulo de medição de distância do sensor ultrassônico de 3 pinos, transdutor duplo, três pinos a bordo - em amazon.com
  3. Bomba de água submersível pequena para aquário DC 3V-6V 5V - no ebay.com
  4. LED de três cores - na amazon.com
  5. Placa Vero - na amazon.com
  6. Transistor PN2222 - na amazon.com
  7. Parafusos, parafusos e porcas de plástico
  8. Equipamento e suprimentos de solda
  9. Fios, resistores, cabeçalhos e outros componentes eletrônicos diversos
  10. Jar Tropicana OJ 2.78 QT vazio
  11. 2 pregos galvanizados

Etapa 2: Design geral

Design geral
Design geral
Design geral
Design geral

O design geral consiste nos seguintes componentes: 1. Sonda de umidade do solo e invólucro de irrigação da planta (combinado - impresso em 3D) 2. Tubulação e fiação3. Sensor de vazamento de água da bandeja (impresso em 3D) 4. Módulo de controle montado na parte superior do jarro de OJ (colocado e fechado na caixa impressa em 3D) 5. Pump6 de água submersa. NodeMCU sketch7. IoT configuration8. Fonte de alimentação: USB via tomada elétrica -OU- painel solar (modo autônomo) Vamos discutir cada componente individualmente

Etapa 3: Bomba de água submersa

Bomba de água submersa
Bomba de água submersa
Bomba de água submersa
Bomba de água submersa

A bomba de água submersa está localizada abaixo da alça da jarra de OJ (para evitar interferência com a medição do nível de água). A bomba é colocada de forma a "pairar" cerca de 2-3 mm acima do fundo da jarra para permitir o fluxo de água livre para a entrada.

Como a bomba deve estar totalmente submersa para operação normal, o nível mínimo de água na jarra deve ser de cerca de 3 cm (cerca de 1 polegada).

Etapa 4: Módulo de controle montado na parte superior da jarra de suco de laranja

Módulo de controle montado no topo do jarro de JO
Módulo de controle montado no topo do jarro de JO
Módulo de controle montado no topo do jarro de JO
Módulo de controle montado no topo do jarro de JO
Módulo de controle montado na parte superior do jarro de suco de laranja
Módulo de controle montado na parte superior do jarro de suco de laranja

Eu escolhi o frasco grande padrão de OJ Tropicana para ser um recipiente de água. Esses estão amplamente disponíveis e são padrão.

O módulo de controle é colocado no topo da jarra depois que a torneira original é removida.

A plataforma na qual o módulo de controle está localizado é impressa em 3D. O arquivo STL é fornecido nas seções de arquivos e esboços deste manual.

A bomba, a tubulação e a fiação passam pela alça do jarro Tropicana para liberar espaço para a medição do nível de água.

O nível da água é medido pelo sensor ultrassônico de distância integrado à plataforma do módulo de controle. O nível de água é determinado como uma diferença é a medição da distância de um jarro vazio e um jarro cheio de água até um determinado nível.

O módulo de controle e o sensor US são cobertos por uma "cúpula" impressa em 3D. O arquivo STL da cúpula é fornecido na seção de arquivos e esboços deste manual.

Etapa 5: Módulo de Controle - Esquemas

Módulo de Controle - Esquemas
Módulo de Controle - Esquemas
Módulo de Controle - Esquemas
Módulo de Controle - Esquemas

Esquemas para o módulo de controle (incluindo a lista de componentes) e arquivos de design de breadboard são fornecidos na seção de arquivos e esboços deste instrutível.

NOTA: Trabalhar com NodeMCU provou ser uma tarefa desafiadora em termos de pinos GPIO disponíveis. Quase todos os GPIOs têm várias funções, o que os torna indisponíveis para uso ou impossíveis de usar no modo de hibernação (devido às funções especiais que desempenham durante o processo de inicialização). No final, consegui encontrar um equilíbrio entre o uso de GPIOs e meus requisitos, mas foram necessárias algumas iterações frustrantes.

Por exemplo, vários GPIOs permanecem "quentes" durante o sono profundo. Conectar o LED àqueles impediu o propósito de redução do consumo de energia durante o sono profundo.

Etapa 6: Sensor de vazamento de água da bandeja

Sensor de vazamento de água da bandeja
Sensor de vazamento de água da bandeja
Sensor de vazamento de água da bandeja
Sensor de vazamento de água da bandeja
Sensor de vazamento de água da bandeja
Sensor de vazamento de água da bandeja

Se o seu vaso tiver um orifício de transbordamento na parte inferior, existe o risco de a água transbordar da bandeja inferior e derramar no chão (prateleira ou onde quer que sua planta esteja localizada).

Percebi que a medição da umidade do solo é muito afetada pela posição da sonda, densidade do solo, distância da saída de água, etc. Em outras palavras, ir pela umidade do solo só pode ser prejudicial para sua casa se a água transbordar da bandeja inferior e transbordar.

O sensor de estouro é um espaçador entre o pote e a bandeja inferior, com dois fios enrolados nas barras. Quando a água enche a bandeja, os dois fios se conectam, sinalizando ao microcontrolador que a água está presente na bandeja inferior.

Eventualmente, a água evapora e os fios são desconectados.

A bandeja inferior é impressa em 3D. O arquivo STL está disponível na seção de arquivos e esboços deste manual.

Etapa 7: Sonda de Umidade do Solo e Compartimento de Rega

Image
Image
Sonda de umidade do solo e gabinete de irrigação
Sonda de umidade do solo e gabinete de irrigação
Sonda de umidade do solo e gabinete de irrigação
Sonda de umidade do solo e gabinete de irrigação

Projetei um invólucro hexágono impresso em 3d para ser uma sonda combinada de umidade do solo e invólucro de irrigação.

Um arquivo de impressão 3D (STL) está disponível na seção de arquivos e esboços deste manual.

O invólucro é composto por duas partes, que devem ser coladas. Uma conexão farpada modificada é colada na lateral do gabinete para conectar a tubulação.

Dois orifícios de 4,5 mm são fornecidos para colocar os pregos galvanizados, servindo como sondas de umidade do solo. A conectividade com o microcontrolador é obtida por meio de espaçadores de metal selecionados especificamente para encaixar os pregos.

O design 3D é feito usando www.tinkercad.com, que é uma ferramenta de design 3D excelente e fácil de usar, mas poderosa.

NOTA: Você pode querer perguntar por que eu simplesmente não usei uma das sondas de solo pré-fabricadas? A resposta é: o papel alumínio se dissolve em semanas. Na verdade, mesmo com um tempo limitado os pregos estão sob tensão, eles ainda sofrem erosão e precisam ser substituídos pelo menos uma vez por ano. O design acima permite substituir as unhas em segundos.

Etapa 8: Tubulação e fiação

Tubulação e fiação
Tubulação e fiação

A água é fornecida ao plano por meio de um tubo semi-transparente de borracha látex supermacio (com diâmetro interno de 1/4 "e diâmetro externo de 5/16").

A saída da bomba requer tubulação maior e um adaptador: Adaptador farpado de polipropileno resistente a produtos químicos, redução direta para diâmetro interno do tubo de 1/4 "x 1/8".

Finalmente, um acessório farpado de polipropileno resistente a produtos químicos, reto para diâmetro interno de tubo de 1/8 , serve como conector para o invólucro de irrigação.

Etapa 9: NodeMCU Sketch

Esboço NodeMCU
Esboço NodeMCU

O esboço NodeMCU implementa vários recursos do IoT APIS v2:

  1. Conecta-se à rede WiFi existente -OU- funciona como um ponto de acesso WiFi (dependendo da configuração)
  2. Consulta servidores NTP para obter a hora local
  3. Implementa servidor web para monitoramento de planta e ajuste de parâmetros de irrigação e rede
  4. Mede a umidade do solo, vazamentos de água da bandeja inferior, nível de água na jarra e fornece indicação visual por LED de 3 cores
  5. Implementa modos de operação online e economia de energia
  6. Salva informações sobre cada rega localmente na memória flash interna

Etapa 10: NodeMCU Sketch - WiFi

NodeMCU Sketch - WiFi
NodeMCU Sketch - WiFi

Por padrão, o IoT APIS v2 criará um ponto de acesso WiFi local denominado "Plant_XXXXXX", onde XXXXXX é o número de série do chip ESP8266 a bordo do NodeMCU.

Você pode acessar o servidor da web embutido via URL: https://plant.io servidor DNS interno conectará seu dispositivo à página de status do APIS.

Na página de status, você pode navegar até a página de parâmetros de irrigação e a página de parâmetros de rede, onde pode fazer o IoT APIS v2 se conectar à sua rede WiFi e começar a relatar o status para a nuvem.

IoT APIS suporta modos de operação on-line e economia de energia:

  1. No modo online, o IoT APIS mantém a conexão WiFi o tempo todo, para que você possa verificar o status da sua planta a qualquer momento
  2. No modo de economia de energia, o IoT APIS verifica a umidade do solo e o nível de água periodicamente, colocando o dispositivo no modo de "hibernação profunda" no meio, reduzindo drasticamente o consumo de energia. No entanto, o dispositivo não está disponível online o tempo todo e os parâmetros só podem ser alterados durante o tempo que o dispositivo é ligado (atualmente a cada 30 minutos, alinhado com o relógio em tempo real de hora / meia hora). O dispositivo ficará online por 1 minuto a cada 30 minutos para permitir alterações na configuração e, em seguida, entrará no modo de hibernação. Se o usuário se conectar ao dispositivo, o tempo de "ativação" é estendido para 3 minutos para cada conexão.

Quando o dispositivo está conectado à rede WiFi local, seu endereço IP é relatado ao servidor de nuvem IoT e visível no dispositivo de monitoramento móvel.

Etapa 11: NodeMCU Sketch - NTP

NodeMCU Sketch - NTP
NodeMCU Sketch - NTP

O IoT APIS v2 usa o protocolo NTP para obter a hora local dos servidores de horário NIST. O tempo correto é usado para determinar se o dispositivo deve entrar no modo "noturno", ou seja, evitar o funcionamento da bomba ou LED piscando.

O período noturno pode ser configurado separadamente para dias úteis e manhãs de fim de semana.

Etapa 12: NodeMCU Sketch - servidor Web local

NodeMCU Sketch - Servidor Web Local
NodeMCU Sketch - Servidor Web Local
NodeMCU Sketch - Servidor Web Local
NodeMCU Sketch - Servidor Web Local
NodeMCU Sketch - Servidor Web Local
NodeMCU Sketch - Servidor Web Local

O IoT APIS v2 implementa um servidor da web local para relatórios de status e alterações de configuração. A página inicial fornece informações sobre a umidade atual e o nível de água, presença de transbordamento de água na bandeja inferior e estatísticas da corrida de irrigação mais recente. Página de configuração de rede (acessível através do botão de configuração de rede) oferece capacidade de conexão à rede WiFi local e de alternar entre os modos Online e Economia de energia. (Mudanças na configuração de rede farão com que o dispositivo seja redefinido) A página de configuração de irrigação (acessível através do botão de configuração de água) fornece a capacidade de alterar os parâmetros de irrigação (umidade do solo para iniciar / parar a irrigação, duração da rega e pausa de saturação entre as execuções, número de execuções, etc.) Os arquivos HTML do servidor Web estão localizados na pasta de dados do esboço IoT APIS Arduino IDE. Eles devem ser carregados na memória flash NodeMCU como um sistema de arquivos SPIFF usando a ferramenta "ESP8266 Sketch Data Upload" localizada aqui.

Etapa 13: Esboço NodeMCU - Registro de irrigação local e acesso ao sistema de arquivos interno

Esboço NodeMCU - Registro de irrigação local e acesso ao sistema de arquivos interno
Esboço NodeMCU - Registro de irrigação local e acesso ao sistema de arquivos interno

Caso a conectividade de rede não esteja disponível, o sistema IoT APIS v2 está registrando todas as atividades de irrigação localmente.

Para acessar o registro, conecte-se ao dispositivo e navegue até a página '/ editar' e baixe o arquivo watering.log. Este arquivo contém o histórico de todas as regas desde o início do registro.

Um exemplo desse arquivo de log (em formato separado por tabulação) está anexado a esta etapa.

NOTA: A página de download não está disponível quando o IoT APIS v2 está em execução no modo Access Point (devido à dependência da biblioteca Java Script online).

Etapa 14: Esboço NodeMCU - Umidade do solo, Vazamento de água na bandeja inferior, Nível de água, LED de 3 cores

Image
Image
Esboço NodeMCU - Umidade do solo, Vazamento de água na bandeja inferior, Nível de água, LED de 3 cores
Esboço NodeMCU - Umidade do solo, Vazamento de água na bandeja inferior, Nível de água, LED de 3 cores
Esboço NodeMCU - Umidade do solo, Vazamento de água na bandeja inferior, Nível de água, LED de 3 cores
Esboço NodeMCU - Umidade do solo, Vazamento de água na bandeja inferior, Nível de água, LED de 3 cores

A medição da umidade do solo é baseada no mesmo princípio do APIS original. Por favor, consulte as instruções para obter os detalhes.

Vazamentos na bandeja de água são detectados aplicando tensão momentaneamente aos fios localizados sob a panela usando resistores PULLUP internos. Se o estado PIN resultante for BAIXO, então há água na bandeja. O estado do PIN HIGH indica que o circuito está "quebrado", portanto não há água na bandeja inferior.

O nível da água é determinado medindo a distância do topo da jarra à superfície da água e comparando-a com a distância até o fundo de uma jarra vazia. Observe o uso do sensor de 3 pinos! Esses são mais caros do que os sensores de quatro pinos HC-SR04. Infelizmente, fiquei sem GPIOs no NodeMCU e tive que cortar todos os fios que pude para fazer o projeto funcionar em apenas um NodeMCU sem circuitos adicionais.

LED de 3 cores é usado para indicar visualmente o estado APIS:

  1. Piscando moderadamente em VERDE - conectando-se à rede WiFi
  2. Piscando rapidamente em VERDE - em consulta ao servidor NTP
  3. Verde sólido breve - conectado ao WiFi e obtido a hora atual do NTP com sucesso
  4. Breve branco sólido - inicialização da rede concluída
  5. BRANCO piscando rapidamente - iniciando o modo de ponto de acesso
  6. Piscando rapidamente em AZUL - regando
  7. Piscando moderadamente em AZUL - saturando
  8. AMBER brevemente sólido seguido por VERMELHO brevemente sólido - não é possível obter tempo de NTP
  9. BRANCO brevemente sólido durante o acesso ao servidor web interno

O LED não funciona no modo "noturno". O modo noturno só pode ser determinado de forma confiável se o dispositivo for capaz de obter a hora local dos servidores NTP pelo menos uma vez (o relógio em tempo real local será usado até que a próxima conexão com o NTP seja estabelecida)

Um exemplo da função LED está disponível no YouTube aqui.

Etapa 15: energia solar, banco de energia e operação autônoma

Energia solar, banco de energia e operação autônoma
Energia solar, banco de energia e operação autônoma
Energia solar, banco de energia e operação autônoma
Energia solar, banco de energia e operação autônoma
Energia solar, banco de energia e operação autônoma
Energia solar, banco de energia e operação autônoma

Uma das ideias por trás do IoT APIS v2 era a capacidade de operar de forma autônoma.

O design atual usa um painel de energia solar e um banco de energia provisório de 3600 mAh para conseguir isso.

  1. O painel solar está disponível em amazon.com
  2. O banco de energia também está disponível na amazon.com

O painel solar também possui uma bateria de 2600 mAh, mas não foi capaz de sustentar a operação APIS 24h mesmo no modo de economia de energia (suspeito que a bateria não lida bem com carga e descarga simultâneas). Uma combinação de duas baterias parece fornecer energia adequada e permitir o recarregamento de ambas as baterias durante o dia. O painel solar carrega o banco de energia, enquanto o banco de energia liga o dispositivo APIS.

Observe:

Esses componentes são opcionais. Você pode simplesmente ligar o dispositivo com qualquer adaptador USB que forneça corrente 1A.

Etapa 16: Integração de IoT - Blynk

Integração IoT - Blynk
Integração IoT - Blynk
Integração IoT - Blynk
Integração IoT - Blynk
Integração IoT - Blynk
Integração IoT - Blynk

Um dos objetivos do novo projeto era a capacidade de monitorar a umidade do solo, o nível da água e outros parâmetros remotamente.

Escolhi o Blynk (www.blynk.io) como uma plataforma IoT devido à sua facilidade de uso e design visual atraente.

Como meu esboço é baseado na biblioteca multitarefa cooperativa TaskScheduler, eu não queria usar bibliotecas de dispositivos Blynk (elas não estão habilitadas para TaskScheduler). Em vez disso, usei a API Blynk HTTP RESTful (disponível aqui).

Configurar o aplicativo é tão intuitivo quanto poderia ser. Por favor, siga as capturas de tela em anexo.

Etapa 17: Esboços e arquivos

Esboços e arquivos
Esboços e arquivos

O esboço do IoT APIS v2 está localizado no github aqui: Esboço

Algumas bibliotecas usadas pelo esboço estão localizadas aqui:

  1. TaskScheduler - biblioteca multitarefa cooperativa para Arduino e esp8266
  2. AvgFilter - implementação inteira do filtro de média para suavização de dados do sensor
  3. RTCLib - implementação do hardware e software Real Time Clock (modificado por mim)
  4. Tempo - modificações para a biblioteca de tempo
  5. Fuso horário - biblioteca que suporta cálculos de fuso horário

NOTA:

Folhas de dados, documentação de pinos e arquivos 3D estão localizados na subpasta "arquivos" do esboço principal.

Os arquivos HTML para o servidor da web integrado devem ser carregados para a memória flash NODE MCU usando o plugin arduino-esp8266fs (que cria um arquivo do sistema de arquivos da subpasta "data" da pasta de esboço principal e carrega-o na memória flash)

Concurso de jardinagem interna 2016
Concurso de jardinagem interna 2016
Concurso de jardinagem interna 2016
Concurso de jardinagem interna 2016

Vice-campeão no Concurso de Jardinagem Interior 2016

Recomendado: