projects

Estação meteorológica Pico 2W + Raspberry Pi 3

Uma estação meteorológica pessoal que combina um nó MicroPython em Raspberry Pi Pico 2W, vários sensores ambientais, publicação MQTT e um painel local em Raspberry Pi 3.

Publicado em 14 de maio de 2026

Status: Em desenvolvimento ativo

Repositório: GitHub

Documentação: Lien

Visão geral

Esta estação meteorológica pessoal se apoia em dois repositórios complementares.

O primeiro, weather_web_sensors, executa a aquisição em um Raspberry Pi Pico 2W com MicroPython. O segundo, rpi3-meteo, recebe as medições em um Raspberry Pi 3, armazena os dados, exibe tudo em uma interface local e acrescenta páginas de previsão.

O conjunto forma uma pequena cadeia autônoma de observação pensada para uso doméstico ou de proximidade, com uma arquitetura simples, reparável e fácil de fazer evoluir.

Vista do protótipo de aquisição no Pico 2W

Vista do protótipo de aquisição no Pico 2W com sensores de temperatura, umidade e pressão, além de uma tela OLED.

Vista da exibição em um Raspberry Pi 3

Vista da exibição na tela do Raspberry Pi 3, com dados brutos e dados reduzidos.

Arquitetura do projeto

A cadeia atual se organiza em quatro blocos:

  1. aquisição local no Pico 2W
  2. publicação das medições em MQTT
  3. ingestão e armazenamento no Raspberry Pi 3
  4. visualização local em tela ou navegador

O nó MicroPython lê vários sensores em paralelo, calcula uma medição agregada de referência, atualiza um pequeno visor OLED e também expõe uma interface web local leve. Em seguida, os dados úteis são publicados em um broker Mosquitto e consumidos pela aplicação FastAPI, que os armazena em PostgreSQL e os restitui em um painel local.

Parte weather_web_sensors

O repositório weather_web_sensors constitui a camada embarcada do projeto. Ele se apoia em:

  • um Raspberry Pi Pico 2W
  • um BME680 para temperatura, umidade, pressão e gases
  • um DHT22
  • um conjunto AHT20 + BMP280
  • uma tela SSD1306
  • um módulo DS3231 para o relógio de tempo real

O software gerencia:

  • dois barramentos I2C distintos
  • uma aquisição autônoma na inicialização
  • uma sincronização NTP com gravação de volta para a RTC
  • uma página web local com comparação entre sensores
  • exportação por UDP ou MQTT

Essa parte é particularmente interessante para comparar vários sensores de temperatura, umidade e pressão em um mesmo conjunto, a fim de acompanhar melhor os desvios e escolher uma referência de trabalho.

Exibição do servidor embarcado no Pico 2W

Vista da exibição do servidor web embarcado no Pico 2W, com dados brutos, dados reduzidos, estatísticas e comparações entre sensores.

Parte rpi3-meteo

O repositório rpi3-meteo constitui a camada de servidor local e a interface de visualização da estação meteorológica.

Ele se baseia em:

  • um backend FastAPI
  • um broker Mosquitto
  • armazenamento em PostgreSQL
  • uma interface adaptada a uma tela tátil
  • páginas de previsão alimentadas especialmente por Open-Meteo

A aplicação consome dois fluxos MQTT publicados pelo Pico:

  • um fluxo bruto para as aquisições detalhadas
  • um fluxo agregado para a exibição sintética

Ela pode então:

  • historizar as mensagens e as medidas individuais
  • expor os últimos valores úteis
  • calcular um indicador local de qualidade do ar a partir do BME680
  • exibir páginas de previsão imediata, horária e diária
  • gerar gráficos à distância a partir do WSL consultando o servidor PostgreSQL em Python

A seguir, alguns exemplos de capturas de tela das páginas disponíveis na interface do usuário:

Vista da página inicial do Raspberry Pi 3

Vista da página inicial do Raspberry Pi 3 com os dados em tempo real e os dados reduzidos.

Vista da página em tempo real do Raspberry Pi 3

Vista da página em tempo real do Raspberry Pi 3 com os dados brutos transmitidos a cada minuto pelo broker MQTT.

Vista da página de síntese do Raspberry Pi 3

Vista da página de síntese do Raspberry Pi 3 com os dados reduzidos, aqui agrupados por hora.

Vista da página de informações atuais proveniente do Open-Meteo

Vista da página de informações atuais proveniente do Open-Meteo.

Vista da página de previsões de curto prazo proveniente do Open-Meteo

Vista da página de previsões de curto prazo proveniente do Open-Meteo.

Vista da página de previsões para 4 dias proveniente do Open-Meteo

Vista da página de previsões para 4 dias proveniente do Open-Meteo.

Interesse do projeto

O principal interesse desta estação meteorológica é ligar de forma limpa a eletrônica leve e o software aplicativo:

  • aquisição embarcada compacta com MicroPython
  • transporte das medições por MQTT
  • persistência e consultas com PostgreSQL
  • interface local moderna com FastAPI
  • possibilidade de fazer evoluir separadamente a parte dos sensores e a parte do painel

O projeto também mantém uma dimensão experimental útil: futura adição de um anemômetro, de um pluviômetro, melhoria das heurísticas de qualidade do ar, comparação entre sensores e enriquecimento das visualizações históricas.

Também se pode considerar a fabricação de um abrigo meteorológico em PETG com uma impressora 3D, assim como a substituição da transmissão de dados por Wi-Fi por dois transmissores seriais HC-12 em 433 MHz.

Público-alvo

Esta estação meteorológica se dirige às pessoas que querem:

  • construir uma estação meteorológica pessoal aberta e modificável
  • manter o controle local dos dados
  • comparar vários sensores ambientais
  • dispor de um painel autônomo em Raspberry Pi
  • reutilizar blocos simples baseados em Python, MicroPython e MQTT