Como Desenvolvi Meu TCC de Sistemas de Informação: Um Vaso Inteligente para Monitoramento e Irrigação Automática de Plantas
Durante minha graduação em Sistemas de Informação, tive a oportunidade de desenvolver um projeto que uniu algumas das áreas que mais gosto dentro da tecnologia: desenvolvimento web, arquitetura de software, Internet das Coisas (IoT), automação e experiência do usuário.
O resultado foi o E-CO Vaso Inteligente, uma solução capaz de monitorar a umidade do solo, controlar automaticamente a irrigação de plantas, registrar históricos, capturar imagens e disponibilizar todas essas informações através de uma aplicação web acessível pelo usuário. O projeto foi desenvolvido como Trabalho de Conclusão de Curso e envolveu desde a modelagem dos dados até a construção do hardware.
Neste artigo quero compartilhar não apenas os resultados, mas também o passo a passo utilizado para desenvolver a solução e os principais aprendizados adquiridos durante a construção.
O Problema
Muitas pessoas possuem plantas em casa, mas nem sempre conseguem manter uma rotina adequada de irrigação.
O excesso de água pode ser tão prejudicial quanto a falta dela.
Além disso, viagens, rotina de trabalho e falta de conhecimento sobre cuidados específicos acabam impactando diretamente a saúde das plantas.
A proposta do projeto era criar um sistema capaz de:
- Monitorar a umidade do solo
- Automatizar a irrigação
- Registrar histórico de atividades
- Permitir controle remoto
- Capturar imagens da planta
- Notificar o usuário sobre eventos importantes
Arquitetura Geral da Solução
O sistema foi dividido em quatro grandes camadas:
Hardware
Responsável pela coleta de informações e acionamento dos componentes físicos.
Principais componentes:
- NodeMCU ESP8266
- Sensor de umidade
- Bomba d'água
- Válvula solenóide
- Raspberry Pi para captura de imagens
- Fonte de alimentação
O NodeMCU realiza a leitura constante dos sensores e envia os dados para o backend.
Backend
O backend foi desenvolvido utilizando Laravel.
Sua responsabilidade era:
- Receber dados dos sensores
- Processar regras de negócio
- Armazenar informações
- Gerenciar irrigação
- Expor APIs para o frontend
Uma das partes mais interessantes da arquitetura foi a criação de um processo responsável por verificar periodicamente a umidade e tomar decisões automáticas sobre a irrigação das plantas.
Banco de Dados
Foi utilizado MariaDB, embora qualquer banco relacional compatível com SQL pudesse atender aos requisitos do projeto.
A escolha foi motivada pela aderência aos princípios ACID, garantindo consistência dos dados mesmo diante de múltiplas operações simultâneas.
As principais entidades modeladas foram:
- Usuário
- Planta
- Indicadores
- Logs
- Imagens
- Irrigação
Toda a modelagem foi documentada através de UML e diagramas entidade-relacionamento.
Construindo o Frontend
O frontend foi desenvolvido com Vue.js.
A ideia era criar uma aplicação desacoplada do backend para facilitar manutenção e evolução futura.
A stack utilizada foi:
- Vue.js
- TailwindCSS
- Axios
- Yarn
O Vue foi responsável pela camada reativa da interface.
O TailwindCSS permitiu construir layouts responsivos e manter consistência visual.
Já o Axios foi utilizado para consumir as APIs disponibilizadas pelo backend.
Construindo o Dashboard
O dashboard era o principal ponto de interação do usuário.
Nele eram exibidos:
- Umidade atual
- Histórico da planta
- Gráficos de acompanhamento
- Controle da bomba d'água
- Controle da válvula solenóide
- Configuração de horários de irrigação
Além disso, o sistema também integrava dados climáticos utilizando geolocalização para complementar as informações apresentadas ao usuário.
Funcionalidades Implementadas
Ao longo do desenvolvimento foram implementadas funcionalidades como:
Ativação do vaso
O usuário informava um código de ativação presente no dispositivo físico para associá-lo à aplicação.
Histórico de atividades
Todas as ações realizadas pelo hardware eram registradas.
Exemplos:
- Leituras de umidade
- Temperatura
- Acionamentos da bomba
- Alterações de configuração
Galeria de imagens
As imagens capturadas pelo Raspberry Pi eram armazenadas e disponibilizadas ao usuário através da aplicação web.
Configuração de irrigação
O usuário podia personalizar horários, quantidade de água e comportamento geral da automação.
Notificações
O sistema monitorava constantemente o nível de água e notificava o usuário quando necessário.
Modelando Antes de Programar
Um dos maiores aprendizados durante o desenvolvimento foi perceber o valor da modelagem.
Antes de escrever boa parte do código, foram construídos:
- Casos de uso
- Diagramas de classes
- Diagramas de estado
- Modelo entidade-relacionamento
Essa etapa ajudou a reduzir retrabalho e permitiu visualizar melhor as interações entre hardware, backend e frontend.
Hoje, trabalhando profissionalmente com desenvolvimento de software, continuo aplicando muitos desses conceitos aprendidos durante o TCC.
Principais Desafios
Nem tudo funcionou na primeira tentativa.
Um dos desafios mais interessantes ocorreu durante a construção do hardware.
Inicialmente foi utilizada uma abordagem baseada em relés para controlar os componentes eletrônicos, porém limitações relacionadas à alimentação e arquitetura do circuito levaram à busca de alternativas.
Posteriormente foram realizados testes utilizando transistores, o que permitiu um controle mais eficiente dos componentes e trouxe novas possibilidades para o projeto.
Esses experimentos acabaram gerando um aprendizado muito maior sobre eletrônica embarcada do que eu imaginava quando iniciei o trabalho.
O Que Eu Aprendi Com Esse Projeto
Este TCC me ensinou algo que levo até hoje para minha carreira:
Software raramente existe sozinho.
Projetos reais envolvem integração entre múltiplos sistemas, dispositivos, protocolos, bancos de dados, APIs e usuários.
Construir uma solução completa, desde o hardware até a interface final, mudou completamente minha visão sobre arquitetura de software e desenvolvimento de produtos.
Mais do que um projeto acadêmico, esse trabalho foi minha primeira experiência desenvolvendo um ecossistema tecnológico completo.
TCC Completo
Para quem quiser explorar a modelagem, arquitetura, diagramas, fluxos, testes realizados e toda a documentação acadêmica:

Top comments (0)