Sistema de ventilação da sala baseado em “framboesa” e “detector de CO2”
A moda das casas inteligentes varreu toda a Internet; todo mundo agora quer fazer uma lâmpada que possa desligar pela Internet ou abrir um ventilador no vaso sanitário. Minha experiência foi bastante simples: eu queria criar um sistema que pudesse ventilar automaticamente uma sala, nem mais nem menos.Depois de considerar o princípio do sistema, cheguei a algumas conclusões que decidi implementar. Conforme planejado, toda a funcionalidade do sistema é dividida em três componentes: os "cérebros" que controlam tudo, o sistema de ventilação para abrir a janela / ou ligar o ventilador e o próprio sensor, que monitora a qualidade do ar na sala. Vou falar mais sobre o sensor de qualidade do ar, além de um pequeno toque no tópico de integrá-lo aos "cérebros" de uma casa inteligente.Visão geral do dispositivo
Decidi controlar a qualidade do "frescor" do ar pela concentração de dióxido de carbono. Os planos futuros incluem o lançamento de sensores de amônia, propano / butano (vazamentos de gás), concentração de poeira no ar, etc.Decidiu-se colocar o sistema de ventilação em alguma sala de estar onde uma pessoa passa o maior tempo possível. Provavelmente, esse cômodo é um quarto e é lá que um sistema de ventilação automática será muito útil durante uma noite de sono.
Não é segredo que a concentração de dióxido de carbono no ar afeta fortemente não apenas a produtividade do cérebro humano, o desempenho humano, mas também a capacidade de descansar. Quanto maior a concentração de CO2, pior.
O detector de dióxido de carbono da empresa Dadget foi usado como um dispositivo para medir a concentração de dióxido de carbono.Este dispositivo pode receber energia da porta USB de um computador ou laptop. No painel frontal - indicador LCD, que exibe informações sobre a concentração de dióxido de carbono e temperatura ambiente. Existem também 3 LEDs que fornecem ao usuário uma representação visual do conteúdo. Tudo é bem simples - ligue o dispositivo. E tudo funciona.Fiquei atraído pelo fato de existir um software que funciona com este dispositivo. Há software para Windows e Linux. O código fonte do programa para Linux está no github e parece ter sido escrito por nosso compatriota. E se você possui o código fonte, pode pensar em algo, modificá-lo, "aprimorar" o programa por si mesmo.Visão geral do fluxo de trabalho
Como a prática e o google mostraram, o dispositivo é visto pelo computador como um dispositivo HID. Portanto, no programa para Windows, há uma dll chamada HIDApi. Para trabalhar com o Linux, você precisa da biblioteca HIDApi com o mesmo nome. Finalizei o código fonte do software linux e escrevi um guincho simples.É claro que usar um computador Linux para ler dados do sensor e transferi-los para um controlador doméstico inteligente em algum lugar é uma blasfêmia. Portanto, foi decidido usar o Raspbery pi com o Debian puro instalado. No futuro, está planejado fazer tudo no Arduino e transmitir via canais sem fio.O esquema do meu complexo de hardware e software é o seguinte:
Um leitor experiente e um nerd ávido podem pensar que não é muito esportivo usar o HUB nesse esquema. É isso mesmo, você pode conectar diretamente um monitor de CO2 e aproveitar a vida. Usando esse esquema, resolvo vários problemas ao mesmo tempo:● na maioria das vezes, o cérebro de uma casa inteligente não está onde está o sensor;● o uso do raspberry pi permite conectar sensores adicionais;● colocando o sensor separadamente, temos dois métodos de indicação, o primeiro na tela do sensor, o segundo no telefone ou através de uma página da web, uma vez que os dados são transmitidos ao controlador.Um dispositivo MicasaVerde é usado como um controlador doméstico inteligente, o dispositivo pode coletar dados dos sensores e tomar decisões de acordo com um determinado programa, chamado de "cenas" em sua terminologia.
No dispositivo, você pode criar sensores virtuais e atualizar suas informações usando solicitações http, o que fiz com o raspberry pi.Exemplo de solicitação:ip_address : 3480 / data_request? Id = variableset & DeviceNum = 6 & serviceId = urn: micasaverde-com: serviceId: DoorLock1 & Variable = Status & Value = 1Ou seja, Malinka lê os dados do detector de dióxido de carbono e transmite a solicitação de http de dados para Vera. O esquema é simples, mas está funcionando.Revisão de software
Portanto, existe uma “framboesa”, não importa qual versão, o principal é que ela possui uma interface de rede.Em seguida, você precisa instalar o suporte para dispositivos ocultos. Esta biblioteca é retirada do git, portanto, o git deve ser instalado no "malink":apt-get install libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-devEm seguida, faça o download einstale a
própria biblioteca mkdir hidapi cd hidapi cd hidapi / git init git clone github.com/signal11/hidapi.gitBibliotecas adicionaissudo apt-get install libudev-dev libusb-1.0-0-dev libfox-1.6-dev autotools-dev autoconfs-dev autoconf automake automato libtoolInstale ocd hidapi /
./bootstrap
./configure
make
sudo make instalar
Depois disso, baixe o código-fonte do programa de monitoramento de CO2mkdir co2monitor
cd co2monitor
git init
git clone github.com/dmage/co2mon.gitEm seguida, alterei um pouco o código do programa, na versão inicial ele lê dois parâmetros (temperatura e co2) e o envia ao console em um loop sem fim . Essa opção não me agradou, o objetivo era executá-la uma vez e obter o valor uma vez, então mudei duas linhas no main.c.Estamos procurando por linhasprintf ("CntR \ t% s \ n", buf);
fflush (stdout);E mude paraprintf ("% s \ n", buf);
fflush (stdout);
exit (1);A primeira linha é responsável por exibir o valor; após a alteração, apenas o dígito será exibido e, após a saída, o programa será fechado, a linha de saída (1) responderá.Compilarcmake ...
makeEm seguida, escrevemos um script simples que inicia o programa, atribui os valores de saída do programa compilado acima a uma variável e depois passa esse valor usando curl para o MicasaVerde. Depois disso, adicione a regra udev para que o sistema tenha acesso ao sensor sem raiz.SUBSISTEMA == "usb", ATTR {idVendor} == "04d9", ATTR {idProduct} == "a052", MODE = "0666"E adicionaremos um script de pesquisa e transmissão ao cron a cada minuto.crontab -eE adicione a linha* * * * * /home/pi/co2sender.sh
O resultado do scriptÉ claro que você ainda precisa configurar os arquivos do MicasaVerde para que haja registros adequados em todos os lugares. Mas funciona, rápido e fácil.Conclusão
Como resultado, temos um sistema baseado no Detector de CO2 , que opera como de costume, analisa e relata mudanças na concentração de dióxido de carbono. Ao mesmo tempo, Malinka lê os dados do sensor uma vez por minuto e os transfere para o controlador doméstico inteligente, que pode ligar o sistema de ventilação, se necessário. Source: https://habr.com/ru/post/pt390859/
All Articles