Skip to content

rafaelalvesitm/dtsmartfarming

Repository files navigation

Gêmeo digital para um sistema de irrigação.

Este repositório contém os códigos e componentes utilizados para a minha dissertação entitulada "Fazenda Inteligente: Desenvolvimento de um gêmeo digital para o sistema de irrigação" ainda em andamento.

O projeto visa desenvolver uma simulação computacional de um sistema de irrigação utilizando o software Plant Simulation e realizar a conexão da simulação com uma plataforma de Internet das Coisas para validar, digitalmente, um processo de irrigação dado uma prescrição de irrigação obtida pela plataforma de internet das coisas.

Para maiores detalhes sobre os componentes utilizados, artigos relevantes, etc acesse a WIKI

A figura a seguir indica o modelo que foi adotado para realizar a simulação. O modelo leva em consideração uma bomba de água com vazão de 1 litro por segundo que deve irrigar duas áreas: uma denominada área de controle e a outra denominada área fuzzy. Em cada área existem 3 aspersores que faram a dispersão da água em circulo garantindo uma melhor cobertura da irrigação. Cada área tem 8 x 22 metros sendo portanto uma área total de 176 m² por região. Em cada área, uma sonda de solo será simulada para enviar diversos parametros como a temperatura do solo, umidade do solo em 2 níveis, temperatura do ar, umidade do ar e iluminância.

Modelo de sistema de irrigação adotado

Etapas para montar a plataforma de Internet das Coisas

  • Caso queira interagir com os componentes da plataforma é recomendado utilizar o Postman importando o arquivo Postman Collection

  • Caso prefira você pode conferir como montar a plataforma através deste vídeo no Youtube. (Ainda em desenvolvimento)

Primeiramente é necessário instalar o Docker e o docker-compose. Para usuários do Windows é recomendado utilizar o WSL2 com uma versão do Ubuntu, para isso siga o tutorial do link.

Após a instalação do docker e do docker-compose acesse a pasta Weather Handler e crie um arquivo config.py com a delcaração das variáveis api_key e api_key_wunder com as chaves para as APIs do OpenWeather (OneCall API) e Wunderground. A API do OpenWeather é aberta para qualquer um sendo necessário apenas fazer uma conta no site e solicitar a chave da API já para a API do Wunderground é necessário ter uma estação meterológica para fazer o cadastro no site.

Para montar as imagens dos containers utilizados acesse a pasta platform pelo terminal e utilize o comando docker-compose build para construir os componentes que foram desenvolvidos por min. Por fim, utilize o comando docker-compose up -d para subir os containers para o ambiente de desenvolvimento local (localhost). Este comando baixará as imagens dos componentes descritos no arquivo "docker-compose" no Docker HUB.

Após tal configuração é necessário configurar o grafana para se conectar a base de dados e também para mostrar a dashboard que foi criada. Acesse via browser, o link localhost:3000 caso esta simulação esteja sendo criada em ambiente local de desenvolvimento.

Inicialmente o Grafana irá pedir um login e senha sendo eles admin e admin. Logo após será necessário alterar a senha que fica a critério do usuário. O próximo passo é fazer o cadastro do banco de dados como mostra as figuras a seguir:

Selecione Data Source para conectar um banco de dados ao Grafana

Configure os parametros de acordo com o banco de dados

Após estes passos é possivel criar o painél interativo de acordo com as necessidades ou então utilizar o painel previamente condificado, para isso click em import como indicado na figura abaixo e depois em Upload JSON File e adicione o arquivo FEI panel.json disponível na pasta /platform.

Importe o arquivo FEI panel.json para o grafana

Após acessar a Dashboard e possível, no menu superior direito da Dashboard, configurar o painel para mostrar os dados relativos a um determinado periodo bem como alterar a taxa de atualização do painel.

A conexão entre os diversos componentes da plataforma é feita da seguinte forma:

Arquitetura da plataforma

Simulação do sistema de irrigação

Para a simulação do sistema de irrigação foi desenvolvido um modelo utilizando o software Plant Simulation. A simulação está na pasta /simulation. A visualização da simulação é indicada na figura abaixo:

Visualização da simulação no Plant Simulation

A simulação é conectada a um servidor OPC UA através de um módulo OPC UA do Plant Simulation que requer uma licença especifica. O Plant Simulation tem uma versão de estudante que permite visualizar o modelo mas não é possivel conectar o modelo a um servidor OPC UA. Com este modelo é possivel simular o comportamento do sistema de irrigação de acordo com os métodos que foram descritos na seção Servidor OPC UA.

Uma demonstração das funcionalidades da simulação pode ser visualizada no video Plant Simulation e servidor OPC UA.

About

Código utilizado para a dissertação de mestrado entitulada "Fazenda Inteligente: Desenvolvimento de um gêmeo digital para o sistema de irrigação"

Topics

Resources

License

Stars

Watchers

Forks