Índice:
2025 Autor: John Day | [email protected]. Última modificação: 2025-01-13 06:58
Eu fiz um terrário / viveiro "inteligente" como um projeto escolar.
O ElectroTerra é operado por um Raspberry Pi que hospeda um site e armazena os dados coletados dos sensores em um banco de dados MariaDB.
O site mostra a temperatura e a umidade relativa dos sensores e permite o controle do ventilador e da faixa de LED. Essa faixa também pode funcionar automaticamente por um sensor LDR.
Presumo alguns conhecimentos práticos de uso do Raspberry Pi, Arduino, MariaDB (Mysql) e em placas de montagem de fiação.
Suprimentos
Fiz uma lista de materiais para que você encontre todo o necessário para este projeto.
Etapa 1: configuração do Raspberry Pi
Primeiro você precisa configurar o básico para o Raspberry Pi:
Usei uma conexão ssh para controlar o Pi com um laptop:
Para codificação, usei o Visual Studio Code com uma extensão ssh:
Para disponibilizar o site na sua rede privada, você pode verificar isso instrutível da etapa 1 - 3: https://www.instructables.com/id/Host-your-website-on-Raspberry-pi/ Não há construção de segurança extra neste projeto, tome cuidado para não expô-lo na internet.
Etapa 2: Criação do circuito eletrônico
No esquema de fritzing, você pode ver todos os componentes necessários neste projeto. O sensor de temperatura de 1 fio pode ser substituído pelo sensor de temperatura integrado do DHT22.
O Arduino é alimentado pelo Pi via cabo USB.
Etapa 3: Programação do Arduino +
Como as funções nas bibliotecas do Arduino para o DHT22 e o driver de faixa de LED são muito elaboradas, decidi adicionar um Arduino para essas peças.
Portanto, você precisa do IDE do Arduino.
Certifique-se de importar estas bibliotecas:
- Biblioteca DHT:
- RGBdriver: no repositório electroterra github
Etapa 4: Testar os sensores e atuadores no Pi
No repositório Github estão alguns arquivos de teste para os componentes individuais.
Estas são as classes: mcp.py (convertendo os dados analógicos do LDR) pcf.py (comunicando dados I2C) e pcf_lcd.py (fazendo interface com o LCD).
Etapa 5: Banco de dados
Crie o banco de dados electroterra no Mysql worckbench por meio do arquivo de despejo (final_dump_electroterra.sql no repositório Github) com alguns dados de teste.
Há um problema de compatibilidade ao usar o wizzard "Forward Engineer to Database" no Mysql Workbench. Certifique-se de remover o parâmetro VISIBLE nas instruções sql, pois isso não está funcionando no MariaDB.
Etapa 6: Frontend
O código HTML, CSS e Javascript pode ser encontrado no repositório Github. Eles devem ser colocados no diretório onde o site será hospedado. O design é otimizado para uso móvel e foi testado nas últimas versões estáveis do Chrome, Firefox e Edge.
Etapa 7: Back-end
Os códigos app.py, datarepository.py e Database.py devem estar no diretório inicial do usuário Pi. Para fazer o Pi executar o arquivo automaticamente na reinicialização, use estas instruções:
Você pode encontrar o código no repositório github:
Etapa 8: Juntando as Coisas
Esta configuração é uma prova de conceito.
O ventilador é fixado com cola quente. Alguns orifícios extras foram feitos na faixa de ventilação para a fiação.
Em seguida, veio uma caixa para guardar as peças eletrônicas. Foi usada uma caixa de plástico simples. Considere adicionar uma faixa de ventilação em caso de superaquecimento.
Etapa 9: Teste
Ligue o Raspberry Pi e as fontes de alimentação.
Navegue até o endereço IP mostrado no visor LCD.
Com isso, você pode monitorar os dados e controlar os atuadores.