Monitorando minha caldeira de aquecimento central
Hardware
Como estava substituindo o PC por um Pi, só listei o hardware específico do Pi aqui porque a unidade de relé permanece a mesma:
- Modelo B Pi
- Placa de interface digital Piface
- Adaptador Dallas Semiconductor (Maxim) DS9490R 1 fio USB
- Termômetros de 1 fio Dallas Semiconductor (Maxim) DS18S20
O diagrama de blocos abaixo mostra a disposição geral do hardware. Uma interface para um modem GSM para enviar alertas de texto pode ser adicionada posteriormente.
Software
Os programas Raspberry Pi incluem:
- Registrador de eventos - comunica-se com um cartão PiFace Digital e registra o status de três entradas:energia da rede elétrica, bomba funcionando e queima do queimador. Ele grava dados de eventos em um arquivo diário.
- Registrador de temperatura - comunica-se com a rede de 1 fio e registra as temperaturas em vários pontos da caldeira e grava os dados em um arquivo diário.
- Programa CGI - este programa é invocado pelo Apache e gera um calendário e exibe gráficos de eventos e temperaturas da caldeira.
Os programas foram todos originalmente escritos em C para Windows e rodaram em um PC Dell GX11 com Windows / 2000 Server. O registrador de eventos original se comunicava com uma placa de interface USB Velleman K8055, mas como a programação era completamente diferente do PiFace, reescrevi a maior parte do programa.
O registrador de temperatura de 1 fio original usava DLLs DalSemi, mas o software OWFS esconde toda a complexidade e, portanto, este programa foi quase todo reescrito, exceto nas seções de E / S.
O programa CGI é o mais complexo porque gera seu próprio calendário e SVG em linha para o gráfico de barras, mas acabou sendo o mais fácil de converter com apenas algumas alterações de código. Essas mudanças estavam substituindo definições de função e chamadas para _stat () (Windows) por statfs () (Linux) para estatísticas do sistema de arquivos. Também fiz algumas correções no código lido em cadeias de caracteres.
A estrutura do sistema de arquivos é mostrada aqui. Os diretórios padrão do Linux e Apache são mostrados em amarelo; diretórios personalizados em azul. Tudo fica sob / 1-wire com arquivos de origem, dados de eventos e dados de temperatura indo para seus próprios subdiretórios junto com os daemons que coletam os dados.
Etapa 1
Crie a estrutura do diretório:
sudo su
CD /
mkdir / 1-wire
mkdir / 1-wire / src
mkdir / 1-wire / events
mkdir / 1 fio / temperaturas
Etapa 2
Baixe e compile os programas:
wget http://www.noveldevices.co.uk/rpdl/logger.c -O /1-wire/src/logger.c
wget http://www.noveldevices.co.uk/rpdl/1-wire.c -O /1-wire/src/1-wire.c
wget http://www.noveldevices.co.uk/rpdl/server.c -O /1-wire/src/server.c
gcc -L / usr / local / lib -lpiface-1.0 -o / 1-wire / events / logger /1-wire/src/logger.c -lm
gcc -L / usr / local / lib -o / 1-wire / temperaturas / 1-wire /1-wire/src/1-wire.c -lm
gcc -L / usr / local / lib -o / usr / lib / cgi-bin / server /1-wire/src/server.c -lm
Etapa 3
Baixe alguns arquivos de configuração de exemplo e um arquivo CSS:
wget http://www.noveldevices.co.uk/rpdl/1-wire.conf -O /1-wire/temperatures/1-wire.conf
wget http://www.noveldevices.co.uk/rpdl/server.conf -O /usr/lib/cgi-bin/server.conf
wget http://www.noveldevices.co.uk/rpdl/boiler.css -O /var/www/boiler.css
Etapa 4
O arquivo 1-wire.conf contém informações de configuração para o programa 1-wire e para o programa CGI que cria os gráficos. Cada entrada é descrita abaixo (a ordem real dos registros não importa):
- [Intervalo] =n - intervalo de sondagem em segundos, mas veja a observação abaixo
- [DataDirectory] =diretório onde você deseja que os arquivos de dados sejam gravados (com um / à direita)
- Para cada sensor:[DevicePath] =full-path-to-OWFS-directory- (with-trailing- /) plot-color sensor-description
plot-color é uma cor padrão da web como #RRGGBB, #RGB CSS color.
descrição do sensor é uma frase curta que deve aparecer no gráfico de temperatura
O intervalo de pesquisa pode ser qualquer número de segundos, mas você precisa ter em mente que OWFS leva normalmente dois segundos para obter a temperatura de cada sensor. O programa recalcula o tempo de intervalo real com base nos horários de início e término do processo de coleta de dados para que os horários de início da coleta não mudem.
Para mais detalhes:Monitorando Minha Caldeira de Aquecimento Central
Processo de manufatura
- Sistema de aquecimento solar
- Monitoramento de temperatura no Raspberry Pi
- Monitorando a temperatura com Raspberry Pi
- Monitoramento remoto do clima usando Raspberry Pi
- Monitoramento de CO2 com Sensor K30
- Porta de monitoramento de temperatura sem contato
- Conecte o aquecimento central ao Arduino
- O que é um elemento de aquecimento de cerâmica?
- 3 principais benefícios do monitoramento remoto
- Otimizando a eficiência energética com controladores centrais e monitoramento remoto