Este projeto é uma API Flask em Python que registra informações de energia gerada e calcula as médias de diferentes parâmetros energéticos. Os dados são armazenados em um arquivo JSON local e também podem ser acessados remotamente através de um servidor Railway e visualizados em um website dedicado.
- Descrição do Projeto
- Requisitos e Dependências
- Instruções de Instalação
- Como Clonar o Projeto no PyCharm
- Executando e Testando a Aplicação Localmente
- Acessando o Projeto em Produção
- Autores
A API possui dois endpoints principais:
- POST
/post_energy_info: Recebe dados de energia no formato JSON e os armazena no arquivoenergy_data.json. - GET
/get_average_energy_generated: Calcula e retorna as médias dos parâmetros energéticos registrados.
Os parâmetros energéticos incluem:
- Força (
forca) - Pressão (
pressao) - Tensão (
tensao) - Energia (
energia)
Nota: O projeto está atualmente rodando em um servidor Railway, permitindo acesso remoto contínuo à API. Os dados registrados estão sendo enviados e exibidos em um website dedicado, facilitando a visualização e análise.
- Link da API no Railway: https://python-gs-2-sem-production.up.railway.app
- Link do Website: https://gs-bice.vercel.app/
- Python 3.6+
- Flask
- ngrok (para exposição da API em rede pública, opcional)
- Postman (para testes de API, opcional)
-
Clone o repositório:
git clone https://github.com/usuario/projeto-monitoramento-energia.git
-
Navegue até o diretório do projeto:
cd projeto-monitoramento-energia -
Crie um ambiente virtual (opcional, mas recomendado):
python -m venv venv source venv/bin/activate # No Windows, use venv\Scripts\activate
-
Instale as dependências:
pip install -r requirements.txt
Nota: Certifique-se de que o arquivo
requirements.txtcontém as dependências necessárias, comoFlask.
-
Abra o PyCharm.
-
Selecione
Get from Version Controlna tela inicial. -
Insira a URL do repositório:
https://github.com/usuario/projeto-monitoramento-energia.git -
Escolha o diretório de destino e clique em
Clone. -
Configure o interpretador Python:
- Vá em
File>Settings>Project>Python Interpreter. - Selecione o ambiente virtual ou o interpretador Python desejado.
- Vá em
-
No PyCharm ou terminal, execute o aplicativo Flask:
python app.py
-
A aplicação estará disponível em
http://127.0.0.1:5000/.
Esta seção unifica as instruções para testar a aplicação localmente usando o Postman e expor a API para acesso remoto utilizando o ngrok.
O ngrok permite expor a aplicação local na internet.
-
Baixe e instale o ngrok:
- Acesse ngrok.com/download e siga as instruções de instalação para o seu sistema operacional.
-
Inicie o ngrok apontando para a porta da aplicação Flask (por padrão, 5000):
ngrok http 5000
-
Copie a URL fornecida pelo ngrok, que será algo como
http://abcdef1234.ngrok.io.
-
Abra o Postman.
-
Crie uma nova requisição com o método
POST. -
Defina a URL:
http://127.0.0.1:5000/post_energy_info-
Ou, se estiver usando o ngrok para acesso remoto, substitua pela URL do ngrok:
http://abcdef1234.ngrok.io/post_energy_info
-
-
No corpo da requisição, selecione
rawe o tipoJSON. -
Insira o JSON com os dados:
{ "forca": 10.5, "pressao": 5.2, "tensao": 220, "energia": 50 } -
Envie a requisição e verifique a resposta. Deve retornar uma resposta JSON indicando sucesso:
{ "status": "success", "data": { "forca": 10.5, "pressao": 5.2, "tensao": 220, "energia": 50 } }
-
Crie uma nova requisição com o método
GET. -
Defina a URL:
http://127.0.0.1:5000/get_average_energy_generated-
Ou, se estiver usando o ngrok:
http://abcdef1234.ngrok.io/get_average_energy_generated
-
-
Envie a requisição e verifique as médias retornadas. Deve retornar algo como:
{ "forca_average": 10.5, "pressao_average": 5.2, "tensao_average": 220.0, "energia_average": 50.0 }
Dica: Utilize o ngrok se desejar testar a API a partir de dispositivos externos ou compartilhar o endpoint para testes colaborativos.
O projeto está em execução em um servidor Railway, permitindo acesso à API e ao website de qualquer lugar, sem a necessidade de executar o aplicativo localmente.
- API Base URL: https://python-gs-2-sem-production.up.railway.app
-
No Postman, crie uma nova requisição
POST. -
Defina a URL:
https://python-gs-2-sem-production.up.railway.app/post_energy_info -
Configure o corpo da requisição conforme as instruções anteriores.
-
Envie a requisição e verifique a resposta.
-
No Postman, crie uma nova requisição
GET. -
Defina a URL:
https://python-gs-2-sem-production.up.railway.app/get_average_energy_generated -
Envie a requisição e verifique as médias retornadas.
Os dados coletados pela API são exibidos em um website dedicado.
- Link do Website: https://gs-bice.vercel.app/
No website, você pode:
- Visualizar parte dos dados coletados.
- Felipe Cerboncini Cordeiro - RM: 554909
- Pedro Henrique Martins Alves dos Santos - RM: 558107
- Victor de Almeida Gonçalves - RM: 558799
Qualquer dúvida ou problema, sinta-se à vontade para entrar em contato com os autores.