Este projeto monitora colmeias de abelhas utilizando diversas tecnologias, coletando dados de sensores instalados em dispositivos ESP32 para monitorar temperatura, umidade e a movimentação de abelhas. Esses dados são visualizados em dashboards interativos e armazenados em um banco de dados. O sistema também utiliza ferramentas como Grafana e Node-RED para monitoramento e simulação de dados.
As tecnologias e ferramentas empregadas neste projeto são:
- Docker (versão 25 ou superior) para orquestração de contêineres.
- Docker Compose para gerenciamento de múltiplos serviços.
- Next.js com Tailwind CSS para o frontend.
- Mosquitto para comunicação MQTT.
- MariaDB como banco de dados relacional.
- Grafana para visualização de métricas.
- Node-RED para simulação e teste de sistemas embarcados.
Para rodar o projeto, sua máquina deve atender aos seguintes requisitos mínimos:
- Memória RAM: 4 GB
- Processador: 2 núcleos
- Armazenamento: 10 GB livres
- Sistema Operacional: Compatível com Docker (Linux, macOS, Windows)
-
Clone este repositório:
git clone https://github.com/jonabergamo/mundobee.git cd mundobee
-
Execute o projeto com Docker Compose:
docker-compose up -d
-
Verifique se todos os serviços estão rodando corretamente:
docker ps
-
Acesse os serviços nos seguintes URLs:
- Frontend: http://localhost
- Portainer: http://localhost/portainer
- Grafana: http://localhost/grafana
- Node-RED: http://localhost/node-red
Este serviço hospeda o frontend da aplicação, onde os dashboards são exibidos, e também permite o cadastro e gerenciamento de colmeias de abelhas. A interface é construída com Next.js e estilizada com Tailwind CSS.
- URL de Acesso: http://localhost
O Grafana é utilizado para monitorar métricas e visualizar dados, como o consumo de recursos da aplicação e informações de desempenho, integrando-se ao Prometheus para coleta de métricas.
- URL de Acesso: http://localhost/grafana
O Mosquitto é responsável por gerenciar a comunicação MQTT, recebendo dados de sensores de temperatura, umidade e movimentação das abelhas. Esses dados são enviados pelos dispositivos ESP32 instalados nas colmeias e armazenados no MariaDB.
- Porta Padrão:
1883
(configurado internamente no Docker)
O MariaDB é o banco de dados relacional utilizado para armazenar os dados coletados pelo Mosquitto e gerenciar as informações acessadas pelo frontend.
- Porta Padrão:
3306
(configurado internamente no Docker)
O Node-RED é utilizado para simulação e testes dos dispositivos embarcados (ESP32 e Arduino). Ele facilita o desenvolvimento de fluxos de dados simulados que podem ser testados antes da implantação real.
- URL de Acesso: http://localhost/node-red
O Portainer é uma ferramenta de gerenciamento de contêineres Docker que pode ser acessada para monitorar e gerenciar todos os serviços rodando no ambiente Docker.
- URL de Acesso: http://localhost/portainer
- Frontend: http://localhost
- Grafana: http://localhost/grafana
- Node-RED: http://localhost/node-red
- Portainer: http://localhost/portainer
- Certifique-se de que as portas usadas pelos serviços estejam disponíveis no seu host.
- Para parar o projeto, utilize o comando:
docker-compose down