Entendendo a poluição do ar pela perspectiva dos dados
A maioria das pessoas quando ouve sobre qualidade do ar pensa em sensores caros instalados em prédios governamentais. A realidade é bem diferente. Sensores caseiros de baixo custo, tipo os que eu montei usando sensores PMS5003 e SDS011, conseguem gerar dados suficientemente confiáveis para monitoramento residencial quando bem calibrados. O problema é que dados brutos de PM2.5 e PM10 raramente são úteis sem um processo de tratamento. Arquivo CSV com leituras a cada 30 segundos gera cerca de 2.500 linhas por dia. Isso é muito para olhar manualmente. A primeira coisa que aprendi foi transformar esses dados em médias móveis de 1 hora e detectar outliers usando desvio padrão de 3x.
texto poluição do ar: fontes e limitações práticas
Existembasicamente três categorias de fonte de dados disponíveis no Brasil. A rede de referência do INPE com estações de alta precisão, a rede municipal de várias capitais, e dados abertos da AQI (Air Quality Index) que agrega informações de múltiplas fontes internacionais. A limitação mais crítica que encontrei na prática é a cobertura geográfica desigual. Estações oficiais existem prioritariamente em áreas urbanas densas. Quando você mora numa região metropolitana periférica, os dados mais próximos podem estar a 15 ou 20 quilômetros. A poluição não faz distinção de bairro. Fumaça de incêndios no Pantanal ou partículas de poeira de estradas não pavimentadas no interior de Minas podem viajar centenas de quilômetros e os sensores urbanos simplesmente não captam essa contribuição corretamente.
Outro problema real: sensores ópticos de baixo custo derivam a concentração de partículas assumindo uma relação entre atenuação luminosa e massa. Essa relação muda quando a umidade relativa ultrapassa 80%. Partículas absorvem água e aumentam de tamanho sem necessariamente indicar mais material particulado seco. Eu descobri isso destruindo literalmente 40 litros de dados durante o verão porque não aplicava correção de umidade nos primeiros meses. A correção é simples na teoria: medir umidade junto com as partículas e aplicar um fator de correção empírico baseado em modelos como o desenvolvido por grupos da USP e UnB. Na prática, exige ter um sensor de umidade de boa qualidade integrado ao mesmo setup.
Montando um monitor básico funcional
Para quem quer começar sem gastar fortunas, um ESP32 com sensor PMS5003 custa aproximadamente R$120,00 em componentes chineses importados. O firmware que uso é um fork aberto do home-made-air-quality-monitor no GitHub com adaptações específicas para dados brasileiros. O sensor conecta via UART nos pinos 16 e 17 do ESP32. Configurado para modo padrão com leitura a cada segundo, mas eu reduzo para média de 2 minutos para preservar a vida útil do ventilador interno do sensor. O resultado são arquivos JSON que upload automático para um servidor local rodando Node.js com banco SQLite.
Um detalhe que quase ninguém menciona: o PMS5003 precisa de pelo menos 5 minutos de aquecimento após ligar para estabilizar. Se você está programando leituras em intervalos curtos e desliga o dispositivo frequentemente, os primeiros dados de cada sessão são praticamente lixo. Configurei meu script para descartar automaticamente as primeiras 300 leituras de cada boot.
👉 Clique no botão abaixo para saber mais sobre o assunto!
Interpretando os números corretamente
Concentração de material particulado se mede em microgramas por metro cúbico (µg/m³). A OMS recomenda limites de 15 µg/m³ para PM2.5 em média anual e 45 µg/m³ para média de 24 horas. O Brasil segue padrões diferentes pela Resolução CONAMA 03/2013 que estabelece 50 µg/m³ como média anual para PM2.5 em áreas urbanas. O índice IQR (Índice de Qualidade do Ar) que aparece em sites e apps é uma simplificação. Ele transforma concentrações contínuas em categorias discretas. Uma leitura de 51 µg/m³ cai na categoria "Ruim" na escala brasileira, enquanto 49 µg/m³ fica em "Moderada". A diferença biológica entre essas duas leituras é praticamente nula, mas a percepção pública muda drasticamente.
Quando mostro dados para leigos, explico que o que importa é a tendência, não o ponto isolado. Uma pico de 120 µg/m³ durante 2 horas devido a queima de lixo tem impacto diferente de manter 80 µg/m³ por 48 horas consecutivas. A exposição cumulativa é o que determina risco real à saúde, segundo estudos epidemiológicos publicados na Lancet Planetary Health.
Ferramentas para análise e visualização
Para quem já coleta dados e quer ir além do básico, recomendo o pacote Python pandas combinado com plotly para visualizações interativas. Um script simples de linha de comando que fiz para processar meus próprios dados leva cerca de 8 segundos para analisar um mês inteiro de leituras e gerar relatórios PDF com gráficos de séries temporais, dispersão versus umidade e temperaturas. O projeto open source AirQ no repositório github.com/sapient-ai/airq-python oferece funções prontas para importar CSV de sensores comuns e exportar para padrões AQJSON compatíveis com APIs internacionais. Leva uns 15 minutos para configurar o ambiente virtual e instalar dependências.
Se quiser um dashboard web pronto, o project-open AQMesh tem versão community que hospeda dados de múltiplos sensores em mapa interativo. A desvantagem é que você depende da plataforma. Para uso pessoal ou institucional, manter dados locais em SQLite com API REST própria via Flask é mais seguro e geralmente leva 2 a 3 horas para colocar no ar. O que mais me incomoda ao ver projetos de monitoramento cidadã é a falta de calibração periódica. Sensores embotecem naturalmente. Recomendo comparar suas leituras contra uma estação de referência pelo menos uma vez por ano. A divergência média que observei em comunidades sem recalibração atinge 25% em 12 meses. Isso não parece muito, mas em termos de decisão de saúde pública faz diferença significativa.
Dados abertos e políticas públicas
O INPE disponibiliza dados de qualidade do ar via WFS/WMS sob licença aberta. O download direto do servidor pode ser instável com picos de acesso, então aconselho usar a API do Earth observations data hub que tem mirror com rate limiting mais generoso. A maior parte dos dados históricos desde 2010 está disponível em formatos GeoJSON e NetCDF. Cidades como São Paulo, Rio de Janeiro e Belo Horizonte mantêm portais de dados abertos com séries completas de estações fixas. O problema recorrente são gaps nos dados. Estações falham, sofrem manutenção, ou simplesmente param de reportar sem aviso. A maioria dos datasets públicos tem entre 5% e 15% de valores ausentes distribuídos irregularmente.
Preencher gaps é possível com interpolação espacial usando kriging ou métodos baseados em vizinhança, mas exige conhecimento de geoestatística. Uma alternativa mais pragmática: usar modelos de machine learning treinados em dados de estações próximas para estimar valores faltantes. Um modelo random forest simples com variáveis meteorológicas como features consegue preencher gaps de forma razoável, mas nunca substitui medição real quando o gap ultrapassa 48 horas consecutivas. Se o objetivo é participar de conselhos municipais de meio ambiente ou apresentar evidências em audiências públicas, recomendo cruzar dados de satélite com dados de solo. A combinação dá robustez argumentativa que sensores sozinhos não conseguem. Dados do MODIS e do Sentinel-5P fornecem colunas de NO2 e aerosol optical depth que correlacionam bem com concentrações de superfície em larga escala.