Sistema de Monitoramento Climático de Ribeirão Preto
grafana
apache_kafka
python
Sistema de Monitoramento Climático de Ribeirão Preto
Este projeto tem como objetivo propor um sistema de monitoramento climático para a região de Ribeirão Preto, utilizando Apache Kafka para coleta de dados e Grafana para visualização e análise em tempo real.
Tecnologias Utilizadas
- Apache Kafka para coleta e distribuição de dados
- Python para a programação do produtor e consumidor
- OpenWeatherAPI para obtenção dos dados de temperatura
- Grafana para monitoramento e visualização dos dados coletados
- Docker para contêinerização dos serviços
- Banco de dados InfluxDB para armazenamento de dados
Arquitetura do Sistema
1. Produtor Python
Um script Python coleta os dados da API OpenWeather dos seguintes municípios:
- Barrinha, Brodowski, Cravinhos, Dumont, Guatapará, Jardinópolis, Pontal, Pradópolis, Ribeirão Preto, Santa Rita do Passa Quatro, São Simão, Serrana, Serra Azul, Sertãozinho.
Esses dados são publicados em um tópico Kafka.
2. Consumidor Python
O consumidor (script Python) escuta o tópico Kafka e grava os dados coletados no banco de dados InfluxDB.
3. Grafana
O Grafana acessa o banco de dados e exibe os dados em tempo real no dashboard.

Gráficos e Métricas
Exibe a direção do vento junto com a sua velocidade.
Exibe a velocidade do vento junto com sua respectiva classificação na escala de Beaufort.
Escala de Beaufort para Velocidade dos Ventos
| Força |
Velocidade do Vento (km/h) |
Descrição |
| 0 |
0 – 1 |
Calmaria |
| 1 |
2 – 5 |
Brisa muito leve |
| 2 |
6 – 11 |
Brisa leve |
| 3 |
12 – 19 |
Brisa fraca |
| 4 |
20 – 28 |
Brisa moderada |
| 5 |
29 – 38 |
Brisa forte |
| 6 |
39 – 49 |
Vento fresco |
| 7 |
50 – 61 |
Vento forte |
| 8 |
62 – 74 |
Ventania |
| 9 |
75 – 88 |
Ventania forte |
| 10 |
89 – 102 |
Temporal |
| 11 |
103 – 117 |
Tempestade violenta |
| 12 |
118 ou mais |
Furacão |
3. Temperatura, Umidade, Velocidade, Pressão Atmosférica e Visibilidade
Esses dados são exibidos com um card mostrando o valor no momento, junto com um gráfico de linha que representa o valor ao longo do tempo.
Diagrama de Classe para o Produtor e Consumidor
A arquitetura do sistema é mostrada abaixo, desde o monitoramento até a gravação dos dados no banco de dados InfluxDB.

Demonstração do Dashboard
Abaixo está uma captura de tela da interface do Grafana mostrando o dashboard com os dados em tempo real.
Link do reposítório