Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Construa Monitor de Temperatura Doméstico com Raspberry Pi, MCP9808, InfluxDB e Grafana

Após adquirir um Raspberry Pi e revisar o Guia do Usuário do Raspberry Pi de Eben Upton — especialmente as seções GPIO — embarquei no meu primeiro projeto: um sistema de monitoramento de temperatura doméstico. Este post detalha a iteração inicial usando Raspberry Pi, breakout Adafruit MCP9808, um velho Mac Mini, InfluxDB, Grafana, Python e o supervisor de processos runit.

Hardware do Sensor

Para o sensor de temperatura selecionei o breakout board MCP9808 da Adafruit. Minha escolha foi motivada por:

Montagem do Circuito

A placa MCP9808 chega praticamente montada; a única solda necessária é fixar o header de 8 pinos. Usei um breakout GPIO e protoboard para conectar o Pi ao sensor, simplificando a fiação e facilitando ajustes futuros. As conexões essenciais são:

Os pinos restantes — usados para seleção de endereço e alerta — ficaram desconectados nesta configuração de dispositivo único.

Armazenamento de Dados

Capturar dados ao longo do tempo permite análise de tendências e correlação com eventos externos. Escolhi o InfluxDB por seu foco em séries temporais e linguagem de consulta intuitiva. O banco roda em um Mac Mini início 2009 (OS X 10.10) via Homebrew:

brew install influxdb

Configure o Banco InfluxDB

Após instalação, criei um banco e um usuário dedicado via console web (porta padrão 8083). Também configurei banco chamado mcp9808_test para armazenar leituras do sensor.

Configuração do Raspberry Pi

Habilite I²C

O Pi não carrega módulos I²C por padrão. Adicione estas linhas a /etc/modules e reinicie:

i2c-bcm2708
i2c-dev

Verifique se o sensor é detectado com:

sudo i2cdetect 1

Software do Sensor

Usei o wrapper Python MCP9808 da Adafruit, que também traz a camada de abstração I²C.

Instale Dependências de Build

sudo apt-get update
sudo apt-get install build-essential python-dev python-smbus

Instale o Wrapper Adafruit MCP9808

cd ~/Downloads
git clone https://github.com/adafruit/Adafruit_Python_MCP9808
cd Adafruit_Python_MCP9808
sudo python setup.py install

Ler, Reportar, Repetir

Abaixo está o script poll.py que lê temperatura a cada minuto e grava o valor no InfluxDB:

#!/usr/bin/python
import time
import Adafruit_MCP9808.MCP9808 as MCP9808
from influxdb import InfluxDBClient

# Prepara payload para InfluxDB
def temperature_data(degrees_c):
    return [{
        'points': [[c_to_f(degrees_c)]],
        'name': 'Temperature Readings',
        'columns': ['degrees_f']
    }]

# Converte Celsius para Fahrenheit
def c_to_f(c):
    return c * 9.0 / 5.0 + 32.0

# Inicializa sensor
sensor = MCP9808.MCP9808()
sensor.begin()

# Intervalo de captura em segundos
capture_interval = 60.0

# Conecta ao InfluxDB (substitua placeholders por valores reais)
influxClient = InfluxDBClient('', 8086, 'mcp9808', '', 'mcp9808_test')

# Loop contínuo
while True:
    temp_c = sensor.readTempC()
    print('Temperature {0:0.3} F'.format(c_to_f(temp_c)))
    influxClient.write_points(temperature_data(temp_c))
    time.sleep(capture_interval)

Execute o script como root para acessar pinos GPIO:

sudo python /path/to/poll.py

Supervisão de Processo com runit

Para garantir que poll.py permaneça vivo após reinicializações e ciclos de energia, configurei o runit como supervisor de processo. Passos detalhados estão na documentação original do projeto.

Resumo

Com sensor, banco de dados e stack de monitoramento no lugar, você agora tem um logger de temperatura doméstico confiável e de baixo custo. Use o Grafana para visualizar dados, configurar alertas e obter insights acionáveis sobre seu ambiente.

Processo de manufatura

  1. Construa um Registrador de Temperatura com Raspberry Pi e Sensor I2C de $5
  2. Perfilamento de Temperatura Preciso no Raspberry Pi com Python, SQLite e LabVIEW
  3. Conecte Múltiplos Sensores DS18B20 1-Wire ao Raspberry Pi para Monitoramento Preciso de Temperatura
  4. Monitor de Temperatura e Umidade em Rede com Raspberry Pi – Guia DIY de Configuração
  5. Como Ler Temperatura com DS18B20 no Raspberry Pi 2
  6. Monitoramento Profissional de Temperatura com Raspberry Pi e DS18B20
  7. Medição de Temperatura no Raspberry Pi com Sensores Maxim 1‑Wire e Bridge I2C DS2482
  8. Sensor de Temperatura Infravermelho TMP006 com Raspberry Pi: Biblioteca Python e Guia de Configuração
  9. Construa um Sensor de Temperatura Remoto com Raspberry Pi e Python – Guia Passo a Passo
  10. Construa Estação Meteorológica Raspberry Pi que Envia Dados Diários por Email