Um sistema e uma aplicação para rega e monitoramento automático remotos de plantas
Esse projeto surgiu como proposta de um trabalho final em grupo na disciplina de Redes sem Fios ministrada pela professora Analúcia Schiaffino Morales da Universidade Federal de Santa Catarina (UFSC). O relatório final do projeto se encontra aqui.
🚀 A equipe:
A ideia do projeto é de um sistema de irrigação e monitoração de plantas que pode ser controlado remotamente por um aplicativo mobile (repositório), através do envio e leitura de dados para a plataforma móvel Firebase, utilizando um ESP32 conectado à uma rede Wi-Fi (repositório).
Para isso foram utilizados sensores de umidade (tanto de solo quanto ambiente), um sensor de temperatura e um servo-motor (para regar a planta).
Para que o projeto se tornasse open-source, foi preciso remover o conteúdo sensível do mesmo e com isso é necessário configurá-lo antes de usar. Começando pelo Firebase, onde será necessário criar um projeto, e então pegar a API key e o endereço do RTDB (real-time databse) e definí-los nos arquivos do hardware (código em C) junto também com o nome e senha do wifi que será conectado ao esp. Após isso, ainda no Firebase, você vai precisar configurar um aplicativo Android e/ou iOS e seguir os passos necessários para adicionalos no arquivo do software, que foi desenvolvido em Flutter. Para facilitar essa comunicação com o Hardware você pode acessar essa documentação e para a comunicação com a aplicação, pode ver essa documentação.
Aqui temos respectivamente imagens do ESP32 utilizado para o sensor de umidade do solo sozinho e montado com os componentes e o protoboard com os componentes para a temperatura e umidade ambiente e para o servo-motor:
Com tudo isso pronto, pensamos em como regariamos a planta, e para isso montamos a estrutura da imagem abaixo, onde furamos o fundo da garrafa e então fechamos com a tampa (quando a tampa abrir a agua vai vazar por baixo) e fizemos as ligações.
Para a aplicação, foi feito no Figma o seguinte protótipo abaixo, que conta com a lista das plantas que você já tem cadastradas, a estatística geral delas, uma página de perfil entre outros:
Entretanto, como todo final de semestre em qualquer faculdade conceituada, ninguém tem tempo para respirar, e por conta disso o desenvolvimento da aplicação teve um corte significativo no tempo e com isso não possui todas as funcionalidades como estatísticas, adicionar nova planta e pagina de perfil. Porém a página da planta está exatamente como no protótipo e funcionando perfeitamente, o que foi o necessário para apresentação do trabalho (pois exibia e transmitia dados para a nuvem).
Então antes do desenvolvimento em si da aplicação, foi criado o banco de dados no Firebase, utilizando o Realtime Database(aka Nuvem). E para sua implementação, exemplificamos inicialmente 3 plantas com os mesmos atributos, porém valores diferentes. Então o banco ficou deste jeito:
Para apresentação, todos os integrantes do grupo falaram um pouco sobre o progeto em geral e um pouco sobre o que fez dentro da equipe. A apresentação (slides) pode ser baixada aqui.
Felizmente ficamos muito empolgados com o projeto e com o resultado, por conta disso, infelizmente não lembramos de gravar e tirar muitas fotos, todas as fotos tiradas acima foram depois da apresentação. Mas temos esse videozinho onde mostra a funcionalidade regar e da para ver a tela da planta onde exibe os dados do local (dados reais do momento da gravação do vídeo).
PlantaCare.mp4
Ps: A garrafa está sem água pois utilizamos toda a água na hora da apresentação (a coitada passa bem, foi a medida de água necessária, nada a mais e nada a menos).
Não repare na beleza dos integrantes.
Na ordem: Matheus Amboni, Bruno Antonelli, Leomar Marcelo Marschalk, Yan Bentes, Raphael Abreu.