Plataforma desenvolvida para o projeto do 6º Semestre. Oferece serviços de agricultura de precisão com aprendizado de máquina para produtores de pequeno porte. Os modelos são disponibilizados via uma API construída em Flask, que é consumida pela aplicação. Front-End feito em React.JS e o back-end em FastAPI com comunicações assíncronas.
Tela principal do sistema. O Dashboard, como o nome sugere, oferece uma visão geral de seu estado atual.
Para começar a utilizar os sistemas, é necessário que você registre culturas. Culturas funcionam como a representação de uma lavoura dentro do sistema, e você pode tanto adicionar uma cultura iniciada do zero (depois de começar a utilizar o sistema) ou culturas que foram iniciadas antes do sistema. Se for o primeiro caso, antes de iniciar uma cultura, é melhor que você encomende uma análise, que pode ser de dois tipos:
- Análise de Solo
- Análise de Água
Todas as análises possuem 04 fases até terem seus resultados disponíveis. Na primeira etapa, uma equipe é enviada para o local, com a intenção de coletar amostras do que está sendo posto para análise. Depois, as amostras são transportadas e analisadas, passando por fim, ao modelo, que retorna os resultados.
No caso de Análise de Solo, a melhor combinação de lavoura e fertilizante para aquele solo é retornada. Em Análise de Água, a potabilidade de água é verificada.
Além de uma análise prévia, para o bom uso do sistema, também é recomendado a compra de um dos produtos ofertados pela plataforma. O principal dos tais é uma Estação Meteorológica, que vem em diversos tipos (tipos mais avançados oferecem acesso a mais sistemas).
Após a compra do produto, o mesmo deve ser ativado com uma chave única (enviada ao e-mail do usuário).
Se o usuário seguiu todos os passos sugeridos até agora, o que ele tem em mãos no momento é uma recomendação especializada do que deve ser cultivado em seu solo para máxima produtividade, além de estações para verificar o desenvolvimento de sua lavoura. Assim, o próximo passo é iniciar o trabalho e registrar a cultura no sistema.
Além disso, o usuário tem acesso a uma página específica a sua cultura, com informações detalhadas e os modelos preditivos. Essa página reflete os recursos dedicados pelo usuário a sua cultura. Caso não tenha uma estação meteorológica instalada, por exemplo, o usuário não terá acesso aos gráficos nem predições.
As predições fornecidas são: previsão estimada de safra, sugestão diária de irrigação e sugestão diária de aplicação de pesticidas.
Outro serviço disponibilizado são informações colhidas diretamente da FAO (Organização de Agricultura e Comida da ONU) via Web Scraping.
Uma versão completa da página segue abaixo.
Para executar a API, é necessário definir suas credenciais no app.py, modificando o
"postgresql://kalimara:hitman@localhost/SIA" pela estrutura "postgresql://seuusuario:suasenha@localhost/SIA"
O Banco de dados DEVE se chamar SIA. Use database.sql
na pasta sia-back para criar o banco.
Em seguida, sera necessário usar o `source ambiente_virtual/bin/activate` para entrar no ambiente virtual.
O `pip install requirements.txt` irá instalar as bibliotecas necessárias, e o `python3 app.py` irá ativar a API.
Também será necessário fazer o docker pull kalimarapeleteiro/sia-ai-api:1.1
para ter a outra API no seu sistema Docker. Para executá-la, use docker run -p 5000:5000 kalimarapeleteiro/sia-ai-api:1.1
.
Por fim, basta instalar as dependências com o npm install
e executar com o npm run dev
.
Tenha em mente que todas essas operações devem ser feitas nos diretórios específicos. O npm no "sia-front", o pip install no "sia-back" e o docker no terminal geral.