Índice:
- Etapa 1: suprimentos
- Etapa 2: Esquema de Fritzing
- Etapa 3: preparar o Raspberry Pi
- Etapa 4: modelo de banco de dados - MySQL
- Etapa 5: Frontend: Configurando o servidor da Web
- Etapa 6: Backend
- Etapa 7: Colocando a faixa de LED
- Etapa 8: Colocando os tubos
- Etapa 9: Colocando o LCD
- Etapa 10: Colocando os Sensores e Conectando a Faixa de LED
- Etapa 11: Conectando o Pi
- Etapa 12: Fazendo um recipiente para água
- Etapa 13: Resultado final
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:35
Sou estudante de Multimídia e Tecnologia da Comunicação na Howest Kortrijk. Para nossa tarefa final, tivemos que desenvolver um projeto de IoT de nossa escolha.
Procurando por ideias, decidi fazer algo útil para minha mãe, que adora cultivar plantas, e comecei a trabalhar em um vaso de plantas automatizado.
As principais tarefas deste vaso automatizado, Little Garden, são:
-
Medir o
- Temperatura
- Intensidade da luz
- Umidade
- Umidade do solo
Salve as medições em um banco de dados
Melhorar as condições para o crescimento da planta se um determinado valor for muito baixo
Deixe o dispositivo ser monitorado e gerenciado por meio de um site
Nem todas as etapas devem ser seguidas até o alvo. Muito do que acontece pode ser sua preferência pessoal ou ser melhorado. Esta construção foi feita de forma que as partes pudessem ser recuperadas posteriormente, então você pode querer abordar sua itteração de forma diferente para torná-la mais permanente
Etapa 1: suprimentos
A maioria dos suprimentos para este projeto não é muito difícil de adquirir, embora no meu caso trabalhe com muitos materiais reciclados. Eu também tive que garantir que poderia recuperar alguns materiais depois.
Componentes principais:
- Raspberry Pi 4 modelo B
- Fonte de alimentação Raspberry Pi
- Raspberry Pi T-cobbler
- Cartão micro SD de 16GB
- Fonte de alimentação da placa de ensaio com 3,3 V e 5 V
- Tábua de pão
- Fonte de alimentação 12V
Sensores:
- DHT11: Sensor de umidade e temperatura
- BH1750: Sensor de intensidade de luz
- Sensor de umidade do solo
- MCP3008
Componentes do atuador:
- Bomba de água 220V
- Tira LED 12V
- Módulo de retransmissão Velleman
- DICA 50: transistor NPN
- Tela 16X2 LCD moduke
- PCF8574a
Resistores:
- 3 x resistores de 330 Ohm
- 1 x resistor de 5k Ohm
- 2 resistores de 10k Ohm
- 1 x resistor de 1k Ohm
- 1 x 10k Potentio resistor
Materiais:
- Estufa / vaso pré-fabricado
- Caixa de junção
- Garrafa de água de plástico
- Swivels
- Fios de jumpers + fio normal
- Skrews
- Estanho de solda + tubo termorretrátil
- Fita de pato dupla face
- Pintar
Ferramentas:
- Pistola de cola
- Furar
- Lâmina de serra
- Ferro de solda
- Cortador de caixa
- Pincel
O legal desse projeto é que ele pode ser expandido ou simplificado, adicionando / removendo componentes e ajustando levemente o código. Por exemplo, ao substituir a bomba de 220 V por uma de 12 V, você pode remover um adaptador de energia do dispositivo.
Etapa 2: Esquema de Fritzing
O breadboard e os esquemas elétricos para o dispositivo são mostrados acima. Aqui você pode ver como todos os componentes estão conectados entre si.
Uma explicação geral de como os componentes funcionam:
- O DHT11 mede a umidade do ar em% e a temperatura em ° C. A comunicação com ele é feita por um bu I2C.
- O BH1750 mede a intensidade da luz em lux. A comunicação é feita por um barramento I2C
- O sensor de umidade do solo cria um sinal digital que é convertido pelo MCP3008 em um sinal digital legível para o Raspberry Pi
- O módulo LCD 16x2 exibe os endereços IP do Pi, um após o outro. Ele está conectado a um PCF8574a que recebe um sinal do Raspberry Pi que o converterá em uma série de sinais para os pinos de bits da tela. Os pinos E e RS do LCD são conectados diretamente ao Pi. O resistor potentio determina o brilho da tela.
- A bomba de água está conectada a um relé que fica entre ela e sua fonte de alimentação / soquete de 220V. O Raspberry Pi pode enviar um sinal ao relé para fechar o circuito elétrico e ligar a bomba.
- A faixa de LED é conectada à fonte de alimentação de 12 V e ao TIP 50 (transistor NPN) que alterna a corrente elétrica. O resistor de 1k Ohm é usado para limitar a potência extraída do Raspberry Pi, caso contrário, ele seria frito ainda mais crocante.
Etapa 3: preparar o Raspberry Pi
Se você ainda não tiver um, precisará colocar uma das imagens do Raspberry Pi OS no cartão SD. Não recomendo usar o Lite, pois isso me causou problemas no início. Depois, você terá que se certificar de que seu Pi está atualizado usando os seguintes comandos enquanto o Pi está conectado à internet:
- sudo apt-get update
- sudo apt-get upgrade
Depois disso, você pode habilitar ou instalar os pacotes para o projeto funcionar, por meio de raspi-config ou comandos.
- SPI
- I2C
- MySQL: próxima etapa
- SocketIO: pip install flask-socketio
Após a configuração, você pode adicionar os arquivos necessários que são escritos em html, CSS, Javascript e Python. Todo o meu código pode ser encontrado no meu repositório github.
Etapa 4: modelo de banco de dados - MySQL
Acima você pode ver o diagrama ERD que é hospedado através do MariaDB. Eu recomendo seguir este guia de instalação do MariaDB, não apenas para instalar o MariaDB, mas também para ter certeza de que o seu Pi está protegido.
Para quem gostaria de entender, o banco de dados funciona da seguinte maneira:
As medidas e alternâncias do atuador são armazenadas como linhas na tabela Metingen.
- metingId = ID da linha de medição / alternar
- deviceId = ID do dispositivo responsável por esta linha na tabela
-
waarde = valor da medição do sensor ou alternância do atuador
- sensor: valor da medição nas unidades correspondentes
- atuadores: 0 = OFF e 1 = ON
- commentaar = comentários usados para adicionar informações extras, como erros
- datum = a data e hora em que a medição / alternância ocorreu
As configurações do dispositivo são armazenadas em Configurações.
- settingId = ID desta linha e o valor de configuração
- deviceID = ID do dispositivo / sensor correspondente
- waarde = valor da configuração
- tipo = tipo de configuração, é máximo ou mínimo?
Por último, mas não menos importante, a tabela Dispositivos contém informações sobre os sensores e atuadores.
- deviceId = ID do dispositivo nesta tabela
- naam = nome do dispositivo / componente
- merk = marca
- prijs = preço do componente
- beschrijving = resumo do componente
- eenheid = unidade para os valores medidos
- typeDevice = especifica se o componente é um sensor ou atuador
Etapa 5: Frontend: Configurando o servidor da Web
O Pi exigirá que você instale o servidor web Apache para executar o servidor web para este dispositivo. Isso pode ser feito com o seguinte comando:
sudo apt-get install apache2.
Feito isso, você pode navegar até a pasta: / var / www / html. Aqui você precisará colocar todo o código do frontend. Depois, você pode acessar o site navegando até o endereço IP.
Etapa 6: Backend
Para executar o back-end, você precisará executar o arquivo app.py manualmente ou criando um serviço para ele no Pi para que seja iniciado automaticamente.
Como você pode notar, existem alguns arquivos. Separei o código o máximo que pude para ter uma visão geral e organização claras do código.
Uma breve explicação:
app.py: O arquivo principal onde o banco de dados, o código de hardware e o código de back-end são unidos
config.py: O arquivo de configuração para o databaseRepositories
Repositórios: para acesso ao repositório de dados
-
Ajudante
- devices_id: classes para ajudar a identificar as informações do dispositivo no banco de dados
- lcd: para executar o PCF e o LCD
- Atuadores: classes para operar os atuadores
- Sensores: aulas para o funcionamento dos sensores
Etapa 7: Colocando a faixa de LED
Cortei um pedaço da tira de LED e colei no topo da caixa da estufa. A tira que usei pode ser cortada em várias posições e reconectada, então você pode colocar várias tiras e conectá-las novamente por meio de fios, permitindo que mais espaço seja iluminado.
Etapa 8: Colocando os tubos
Os tubos podiam ser colocados de várias maneiras, mas no meu caso eu os fixei na lateral do fundo, mantendo-os o mais longe possível dos outros componentes eletrônicos e deixando a água simplesmente fluir para a sujeira.
Etapa 9: Colocando o LCD
Cortei um todo na tampa da caixa de junção com uma serra, criando uma abertura grande o suficiente para a tela passar, mas pequena o suficiente para que o PCB ficasse atrás dela. Posteriormente, ele foi preso à tampa por meio de inclinações.
O LCD exibe os endereços IP do Raspberry Pi, permitindo saber qual endereço você pode usar para navegar até o site.
Etapa 10: Colocando os Sensores e Conectando a Faixa de LED
Usando os esquemas de fritagem, soldei as conexões entre os fios e coloquei os resistores dentro dos fios, usando tubos termorretráteis para isolá-los.
Furos foram abertos nas laterais da tampa e no fundo da estufa para prender as articulações, através das quais puxei os fios para os sensores e a tira de LED.
Agrupei os fios por função. A própria tensão dos fios e dos tubos retráteis sustentou os sensores. Eu só tive que usar cola nos fios para o DHT11, já que isso se estendeu ainda mais.
Etapa 11: Conectando o Pi
Cortei orifícios na lateral da caixa de junção para permitir que os fios passassem mais tarde.
Depois disso, coloquei a placa de ensaio (com o T-cobbler, PCF8574a, MCP3008, resistência ajustável e TIP50), relé e Raspberry Pi no fundo da caixa de junção, que foi coberta com fita adesiva dupla-face. A fonte de alimentação não cabia na placa de ensaio, então tive que colocá-la de lado e usei fios de jumper para conectá-la à placa de ensaio.
Por fim, puxei os fios do adaptador, do sensor e do atuador pelos orifícios conectados aos fios da placa de ensaio, Raspberry Pi e outros componentes. O fio da bomba foi cortado para que eu pudesse colocar as pontas dentro do relé para que pudesse ser usado como um interruptor.
Etapa 12: Fazendo um recipiente para água
Fiz um recipiente para água com uma garrafa de plástico de 1 litro, cortando a parte superior com um estilete e pintando para ter uma aparência melhor. A bomba de água foi então colocada dentro. Por causa da regra dos vasos comunicantes, a água poderia potencialmente fluir pelos canos por conta própria, mas segurar o tubo levantado corrige o problema.
Etapa 13: Resultado final
O momento que você estava esperando. Agora você pode colocar a sujeira e as sementes dentro da caixa da estufa e deixar o dispositivo assumir o controle. Você pode monitorar o status do dispositivo no site e definir os valores ideais para as condições de iluminação e solo.
Eu recomendo molhar o solo primeiro manualmente, já que um pouco de sujeira pode ficar bem seca no começo. Algumas bombas também parecem regar muito lentamente, mas você precisa ter muito cuidado, pois o enchimento será mais rápido do que o esperado. Uma saturação acima de 80% pode tornar o solo muito encharcado. E certifique-se de que o sensor de umidade do solo seja profundo o suficiente.
Recomendado:
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: Este projeto é uma evolução do meu instrutível anterior: APIS - Sistema Automatizado de Irrigação de PlantasEstou usando APIS por quase um ano agora, e queria melhorar o design anterior: Capacidade de monitorar a planta remotamente. É assim
Alimentador automático de plantas WiFi com reservatório - Configuração de cultivo interno / externo - Plantas aquáticas automaticamente com monitoramento remoto: 21 etapas
Alimentador automático de plantas WiFi com reservatório - Configuração de cultivo interno / externo - Plantas aquáticas automaticamente com monitoramento remoto: Neste tutorial, demonstraremos como configurar um sistema alimentador de plantas interno / externo personalizado que rega automaticamente as plantas e pode ser monitorado remotamente usando a plataforma Adosia
APIS - Sistema Automatizado de Irrigação de Plantas: 12 Passos (com Imagens)
APIS - Sistema Automatizado de Irrigação de Plantas: A HISTÓRIA: (uma próxima evolução deste sistema está disponível aqui) Existem alguns instructables no tópico de irrigação de plantas, então eu quase inventei algo original aqui. O que torna este sistema diferente é a quantidade de programação e custo
FEDORA 1.0, um vaso de flores inteligente: 8 etapas (com fotos)
FEDORA 1.0, um vaso de flores inteligente: FEDORA ou Flower Environment Decorating Organic Result Analyzer é um vaso de flores inteligente para jardinagem interna. FEDORA não é apenas um vaso de flores, ele pode funcionar como um despertador, reprodutor de música sem fio e um pequeno amigo robô. O principal recurso
Vaso Deslumbrante dos Namorados: 8 etapas (com fotos)
Valentine Vase Dazzler: Este é um vaso impresso em 3D (com rosa impressa em 3D opcional) que é iluminado com LEDs RGB endereçáveis. Ele pode brilhar em cores diferentes e desbotar entre as cores. Existem dez efeitos de cor diferentes que você pode selecionar usando um botão, e também tem um dia