O projeto Estufa é um sistema automatizado para monitoramento e controle de uma estufa, utilizando uma arquitetura baseada em Python e Flask. Ele oferece uma interface web para visualização de dados e controle de dispositivos, além de uma API para integração com outros sistemas.
Estufa/
├── launch.py # Script principal para iniciar o sistema
├── scripts/
│ └── API/ # Gerenciador da API
├── website/
│ ├── flask.py # Servidor web Flask
│ ├── templates/
│ │ └── html/
│ │ └── index.html # Página principal da interface web
│ └── static/ # Arquivos estáticos (CSS, JS, imagens)
└── README.md # Documentação do projeto
- O sistema é iniciado pelo script
launch.py. - Exibe uma arte ASCII e mensagens de status no terminal.
- Inicia o servidor Flask em uma thread separada, garantindo que a interface web fique disponível sem bloquear o restante do sistema.
- Aguarda o sinal de que o Flask está pronto antes de continuar o processo de lançamento.
- Após o Flask estar ativo, inicia o gerenciador da API (
scripts/API/manager.py) em outra thread. - Mantém o processo principal ativo até que seja interrompido manualmente.
- Utiliza Flask para servir a interface web.
- Permite requisições CORS para facilitar integrações externas.
- A rota principal (
/) renderiza o templatetemplates/html/index.html. - O servidor é configurado para rodar em
0.0.0.0:5000, tornando-o acessível localmente e na rede.
- Localizada em
website/templates/html/index.html. - Permite ao usuário visualizar dados da estufa e interagir com os controles disponíveis.
- Pode ser expandida com arquivos estáticos (CSS, JS) para melhorar a experiência do usuário.
- Iniciado após o servidor Flask estar pronto.
- Responsável por expor endpoints para integração com sensores, atuadores ou outros sistemas externos.
- Permite automação e monitoramento remoto da estufa.
- Instale as dependências:
pip install -r requirements.txt
- Execute o launcher:
python launch.py
- Acesse a interface web em http://localhost:5000.
- Adicione novas rotas Flask em
website/flask.pyconforme necessário. - Expanda a interface web editando
website/templates/html/index.html. - Implemente novas funcionalidades de API em
scripts/API/manager.py.
- Certifique-se de que os arquivos de template estejam na pasta correta (
website/templates/html/). - O sistema foi projetado para ser modular e facilmente expansível.
- Para encerrar o sistema, pressione
Ctrl+Cno terminal.