Índice:

Sistema de monitoramento e controle do clima interno Raspberry Pi: 6 etapas
Sistema de monitoramento e controle do clima interno Raspberry Pi: 6 etapas

Vídeo: Sistema de monitoramento e controle do clima interno Raspberry Pi: 6 etapas

Vídeo: Sistema de monitoramento e controle do clima interno Raspberry Pi: 6 etapas
Vídeo: Monitoramento de Temperatura e Umidade com IDE Arduino, sensor DHT, ESP32, Node-RED e dashboard. 2024, Novembro
Anonim
Sistema de monitoramento e controle do clima interno Raspberry Pi
Sistema de monitoramento e controle do clima interno Raspberry Pi
Sistema de monitoramento e controle do clima interno Raspberry Pi
Sistema de monitoramento e controle do clima interno Raspberry Pi

As pessoas querem se sentir confortáveis dentro de casa. Como o clima em nossa área pode não ser adequado para nós, usamos muitos aparelhos para manter um ambiente interno saudável: aquecedor, refrigerador de ar, umidificador, desumidificador, purificador, etc. Hoje em dia, é comum encontrar alguns dos dispositivos equipados com modo de sentir o ambiente e se controlar. Contudo:

  • Muitos deles são superfaturados / não vale o dinheiro.
  • Seus circuitos elétricos são mais fáceis de quebrar e mais difíceis de substituir do que as peças mecânicas convencionais
  • Os aparelhos devem ser gerenciados pelo aplicativo do fabricante. É comum ter alguns eletrodomésticos inteligentes em sua casa e cada um deles tem seu próprio aplicativo. A solução deles é integrar o aplicativo em plataformas como Alexa, Google Assistant e IFTTT para que tenhamos um controlador "centralizado"
  • Mais importante ainda, os fabricantes têm nossos dados e o Google / Amazon / IFTTT / etc tem nossos dados. Nós não. Você pode não se preocupar com a privacidade, mas às vezes todos nós podemos querer olhar para o padrão de umidade do seu quarto, por exemplo, para decidir a que horas abrir as janelas.

Neste tutorial, eu construo um protótipo de um controlador de clima interno baseado em Raspberry Pi de custo relativamente baixo. O RPi se comunica com os periféricos via interfaces SPI / I2C / USB:

  • Um sensor atmosférico é usado para coletar temperatura, umidade e pressão do ar.
  • Um sensor de qualidade do ar de alta precisão fornece dados de partículas atmosféricas (PM2,5 e PM10) usados para calcular o índice de qualidade do ar (AQI)

O controlador processa os dados adquiridos e aciona as ações do dispositivo, enviando solicitações ao serviço de automação IFTTT Webhook, que controla os plugs WiFi Smart compatíveis.

O protótipo é construído de forma que se possa adicionar facilmente outros sensores, aparelhos e serviços de automação.

Etapa 1: Hardware

Hardware
Hardware
Hardware
Hardware
Hardware
Hardware

O hardware recomendado para construir isso:

  1. Um Raspberry Pi (qualquer versão) com wi-fi. Eu construo isso usando RPi B +. RPi ZeroW serviria bem e custaria ~ 15 $
  2. Um sensor BME280 para temperatura, umidade e pressão do ar ~ 5 $
  3. A Nova SDS011 Módulo Sensor de Detecção de Qualidade do Ar a Laser de Alta Precisão PM2.5 / PM10 ~ 25 $
  4. Um display LED / LCD. Usei a tela OLED SSD1305 de 2,23 polegadas ~ 15 $
  5. Alguns conectores inteligentes WiFi / ZigBee / Z-Wave. 10-20 $ cada
  6. Purificador de ar, umidificador, desumidificador, aquecedor, refrigerador, etc. com interruptores mecânicos. Por exemplo, usei um purificador de ar barato para fazer este tutorial

O custo total acima é <100 $, muito menos do que, digamos, um purificador inteligente que poderia custar facilmente 200 $.

Etapa 2: conectando o Raspbery Pi

Conectando o Raspbery Pi
Conectando o Raspbery Pi

O diagrama de circuito mostra como conectar o RPi com o sensor BME280 usando interface I2C e display OLED HAT usando interface SPI.

O Waveshare OLED HAT pode ser conectado na parte superior do GPIO, mas você precisa de um divisor GPIO para compartilhá-lo com outros periféricos. Ele pode ser configurado para usar I2C soldando os resistores na parte traseira.

Mais informações sobre o SSD1305 OLED HAT podem ser encontradas aqui.

Ambas as interfaces I2C e SPI precisam ser habilitadas no RPi com:

sudo raspi-config

O sensor de poeira Nova SDS011 é conectado ao RPi via porta USB (com um adaptador Serial-USB).

Etapa 3: coleta de dados dos sensores

Os dados atmosféricos, que parecem bastante simples, são coletados do sensor BME280 do script Python.

21-Nov-20 19:19:25 - INFO - compensated_reading (id = 6e2e8de5-6bc2-4929-82ab-0c0e3ef6f2d2, carimbo de data / hora = 2020-11-21 19: 19: 25,604317, temperatura = 20,956 ° C, pressão = 1019,08 hPa, umidade = 49,23% rH)

Os dados do sensor de poeira precisam de um pouco mais de processamento. O módulo sensor suga algumas amostras de ar para detectar partículas, por isso deve funcionar por um tempo (30s) para ter resultados confiáveis. Da minha observação, considero apenas a média das últimas 3 amostras. O processo está disponível neste script.

21-Nov-20 19:21:07 - DEBUG - 0. PM2.5: 2.8, PM10: 5.9

21-Nov-20 19:21:09 - DEBUG - 1. PM2.5: 2,9, PM10: 6.0 21-Nov-20 19:21:11 - DEBUG - 2. PM2.5: 2.9, PM10: 6.0 21- Nov-20 19:21:13 - DEBUG - 3. PM2.5: 2.9, PM10: 6.3 21-Nov-20 19:21:15 - DEBUG - 4. PM2.5: 3.0, PM10: 6.2 21-Nov- 20 19:21:17 - DEBUG - 5. PM2.5: 2.9, PM10: 6.4 21-Nov-20 19:21:19 - DEBUG - 6. PM2.5: 3.0, PM10: 6.6 21-Nov-20 19: 21: 21 - DEBUG - 7. PM2.5: 3.0, PM10: 6.8 21-Nov-20 19:21:23 - DEBUG - 8. PM2.5: 3.1, PM10: 7.0 21-Nov-20 19:21: 25 - DEBUG - 9. PM2.5: 3.2, PM10: 7.0 21-Nov-20 19:21:28 - DEBUG - 10. PM2.5: 3.2, PM10: 7.1 21-Nov-20 19:21:30 - DEBUG - 11. PM2.5: 3.2, PM10: 6.9 21-Nov-20 19:21:32 - DEBUG - 12. PM2.5: 3.3, PM10: 7.0 21-Nov-20 19:21:34 - DEBUG - 13. PM2.5: 3.3, PM10: 7.1 21-Nov-20 19:21:36 - DEBUG - 14. PM2.5: 3.3, PM10: 7.1

O sensor de poeira fornece apenas o índice PM2,5 e PM10. Para calcular AQI, precisamos do módulo python-aqi:

aqi_index = aqi.to_aqi ([(aqi. POLLUTANT_PM25, dust_data [0]), (aqi. POLLUTANT_PM10, dust_data [1])])

A coleta de dados, a exibição e o controle do dispositivo são executados simultaneamente e de forma assíncrona. Os dados são salvos em um banco de dados local. Não precisamos executá-los com frequência se o ambiente não mudar muito rapidamente. Para mim, o intervalo de 15 minutos é suficiente. Além disso, o módulo sensor de poeira acumula poeira no interior, por isso não devemos usá-lo em demasia para evitar a tarefa de limpeza.

Etapa 4: Configurando o serviço de automação residencial

Configurando o serviço de automação residencial
Configurando o serviço de automação residencial
Configurando o serviço de automação residencial
Configurando o serviço de automação residencial

Existem muitas plataformas de automação residencial por aí e você deve instalar a plataforma que é compatível com o soquete inteligente que você possui. Se você se preocupa com privacidade, deve configurar seu próprio sistema. Caso contrário, você pode usar as plataformas populares que são suportadas pela maioria dos soquetes inteligentes WiFi: Google Assistant, Alexa ou IFTTT. Tente selecionar a plataforma de soquete com uma API para interagir (o Webhook é perfeito para essa finalidade)

Eu uso o IFTTT neste tutorial porque é muito fácil de usar, mesmo para iniciantes. Mas esteja ciente de que: 1. há muitos sockets inteligentes que não oferecem suporte a IFTTT e 2. No momento em que escrevo isto, o IFTTT permite que você crie apenas 3 miniaplicativos (tarefas de automação) gratuitamente, o que é suficiente apenas para 1 utensílio.

Estas são as etapas:

1. Crie dois miniaplicativos no IFTTT, para ligar e desligar o dispositivo, usando o serviço Webhook. Os detalhes podem ser encontrados aqui.

2. Copie a chave de API e copie-a para o script Python. Eu sugiro mantê-lo em um arquivo separado por razões de segurança.

3. Defina a lógica / parâmetros de controle no script principal.

Etapa 5: Resultados

Resultados
Resultados
Resultados
Resultados
Resultados
Resultados
Resultados
Resultados

OK, agora testamos o sistema.

O visor OLED mostra a temperatura atual, a umidade e o índice de qualidade do ar calculado (AQI). Também exibe o valor mínimo e máximo nas últimas 12 horas.

Os dados da série temporal do AQI em alguns dias mostram algo interessante. Observe os picos no padrão AQI? Acontecia duas vezes ao dia, o pico pequeno por volta das 12h e o pico alto por volta das 19h. Bem, você adivinhou, foi quando cozinhamos, espalhando muito material particulado por aí. É interessante ver como nossa atividade diária afeta o ambiente interno.

Além disso, o último aumento na figura durou muito mais curto do que os anteriores. é quando adicionamos o purificador de ar ao sistema. O controlador de clima RPi envia a solicitação PURIFIER_ON quando AQI> 50 e PURIFIER_OFF quando AQI <20. Você pode ver o acionador do IFTTT Webhook nesse momento.

Etapa 6: Conclusão

É isso!

Os dados coletados também podem ser usados para controlar aquecedores de ar, resfriadores, (des) umidificadores, etc. Você só precisa comprar mais tomadas inteligentes e todos os aparelhos antigos se tornarão "inteligentes".

Se você deseja controlar muitos eletrodomésticos, pode ser necessário considerar cuidadosamente qual serviço de automação residencial deseja usar. Eu sugiro configurar uma plataforma de automação residencial de código aberto, mas se for muito complicado, existem soluções mais simples, como Google Assistant e IFTTT Webhook, ou usando os soquetes inteligentes Zigbee.

A implementação completa deste protótipo pode ser encontrada no repositório Github:

github.com/vuva/IndoorClimateControl

Divirta-se !!!

Recomendado: