Monitoramento de Temperatura de Sala com Raspberry Pi: Gráficos Gnuplot e Alertas por Email
Em ambientes de computação de alto desempenho, manter temperatura ambiente ideal é crítico. O guia a seguir explica como construir um sistema confiável de monitoramento de temperatura em tempo real usando Raspberry Pi, sensor USB de temperatura/umidade, Gnuplot para análise visual e Gmail para alertas automatizados.
Passo 1: Configuração de Hardware
Conecte o sensor USB de temperatura/umidade diretamente a uma porta USB do Pi. Para sensores de baixa potência, a alimentação nativa de 5 V do Pi é suficiente; para dispositivos de maior potência, use um hub alimentado para evitar sobrecarga no Pi.
O sensor transmite uma string serial como:
temperature=20.9°C humidity=62.7% dewpoint=13.0°C
Um script Python lê estes dados a cada cinco minutos, adiciona timestamp e grava em três logs rotativos: daily.dat, 24hour.dat e 48hour.dat. Estes arquivos alimentam o Gnuplot para gerar visualizações atualizadas.
Passo 2: Software – Servidor Web e Dependências
Instale Apache para hospedar o painel de monitoramento:
sudo apt-get install apache2
Instale os pacotes Python necessários:
sudo apt-get install python-serial python-gnuplot
Coloque os arquivos HTML do painel em /var/www/html. A página puxa as imagens PNG mais recentes (daily.png, 24hour.png, 48hour.png) geradas pelo Gnuplot.
Passo 3: Configuração de Alertas por Email
Crie uma conta Gmail dedicada para alertas (qualquer servidor SMTP funciona com as configurações de porta corretas). No script Python, configure os detalhes SMTP:
from_address = "[email protected]" username = "[email protected]" password = "sua_senha_email"
Defina destinatários:
to_addresses = ["destinatario1@exemplo.com", "destinatario2@exemplo.com"]
Quando a temperatura exceder um limiar pré-definido, o script envia email contendo a imagem Gnuplot relevante para que destinatários vejam instantaneamente a gravidade.
Passo 4: Parsing Serial e Registro de Dados
Configure a porta serial para corresponder ao formato 9600 bps, 8-N-1 do sensor:
import serial
ser = serial.Serial('/dev/ttyUSB0', 9600, timeout=1)
Faça parse da string recebida localizando a palavra-chave "temperature" e extraindo o valor numérico. Armazene a leitura com timestamp nos três arquivos de log:
from time import strftime, localtime
timestamp = strftime("%d%b%Y %H:%M:%S", localtime())
# Adicionar aos arquivos
Passo 5: Geração de Gráficos com Gnuplot
Use Gnuplot para converter arquivos de log em imagens PNG. Exemplo de script para gráfico diário:
import Gnuplot
p = Gnuplot.Gnuplot(debug=0)
p('cd "{path}"')
p('set xdata time')
p('set timefmt "%d%b%Y %H:%M:%S"')
p('set format x "%H:%M\n%d%b"')
p('set title "Daily Current Temperature Display"')
p('set key off')
p('set grid')
p('set xlabel "Time\nDate"')
p('set yrange [15:35]')
p('set ylabel "Temperature (°C)"')
p('set datafile missing "NaN"')
p('set terminal png size 800,400')
p('set output "daily.png"')
p('plot "daily.dat" using 1:($3) with lines')
Repita com nomes de arquivo apropriados para visualizações de 24 e 48 horas.
Passo 6: Painel e Lógica de Alerta
A página HTML servida pelo Apache atualiza as imagens PNG a cada minuto, fornecendo snapshot visual ao vivo. O script Python verifica a temperatura mais recente; se exceder o limite definido pelo usuário, dispara email SMTP com o gráfico mais recente anexado.
Esta configuração oferece solução de baixo custo, open-source para monitoramento ambiental contínuo, garantindo alertas imediatos e visualização de dados históricos.
Processo de manufatura
- Sistema Integrado de Controle de Acesso com QR, RFID e Verificação de Temperatura
- Conecte Múltiplos Sensores DS18B20 1-Wire ao Raspberry Pi para Monitoramento Preciso de Temperatura
- Monitoramento Eficiente de Temperatura de Salas com Raspberry Pi e Nagios
- Como Ler Temperatura com DS18B20 no Raspberry Pi 2
- Monitor de Temperatura e Umidade Residencial com Raspberry Pi e Dashboard Web – Rastreamento Remoto em Tempo Real
- Monitoramento Profissional de Temperatura com Raspberry Pi e DS18B20
- Medição de Temperatura no Raspberry Pi com Sensores Maxim 1‑Wire e Bridge I2C DS2482
- Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
- Home Energy Centre: Monitoramento Solar PV, Painéis Térmicos e Temperaturas de Ambientes com Raspberry Pi e Moteino
- Monitoramento Contínuo de Temperatura e Umidade no Raspberry Pi com EzTemp