Índice:
- Etapa 1: Materiais
- Etapa 2: conexões
- Etapa 3: impressão 3D
- Etapa 4: Código
- Etapa 5: Banco de dados
- Etapa 6: conectar ao Wi-Fi
- Etapa 7: juntando tudo
- Etapa 8: inicie
Vídeo: AirPi - Sensor de qualidade do ar: 8 etapas
2024 Autor: John Day | [email protected]. Última modificação: 2024-01-30 11:38
Você já se perguntou por que está ficando com dor de cabeça? E se isso for devido à má qualidade do ar? Com este dispositivo você pode verificar se é esse o caso. Este dispositivo mede o valor de CO2, valor de TVOC, temperatura e umidade. Você pode ver a qualidade do ar ao vivo no display LCD e ver uma indicação clara se está ficando perigoso. Desta forma, você pode abrir suas janelas a tempo.
Se você inserir o endereço IP - mostrado quando você inicializa o dispositivo em seu navegador - o site será aberto. Você pode ver muitas informações sobre o ambiente interno, juntamente com gráficos dos últimos minutos / horas. Há também uma indicação ao vivo e algumas informações e dicas no painel.
Este projeto foi realizado por um aluno da Howest Kortrijk, NMCT (New Media and Communication Technology).
Etapa 1: Materiais
Isso é tudo que comprei para criar este projeto. Este é um projeto relativamente barato, dependendo do custo da impressão 3D. Se você puder imprimi-lo na escola, pode sair muito barato. Caso contrário, depende de onde você o imprime e do material em que o imprime. Você notará que comprei muito a granel, simplesmente porque é difícil encontrar resistores individuais ou leds e isso torna ainda mais barato. Se tiver tempo, você pode pedir a maioria dos itens no aliexpress.com, a entrega pode demorar um pouco, mas dessa forma você pode limitar suas despesas.
Sem a impressão, o dinheiro que gastei neste projeto foi de € 81,80.
Estes são os materiais de que você precisa:
O circuito:
- Raspberry Pi 3
- Cartão SD de 8 GB (mínimo)
- Sensor de qualidade do ar CCS811
- Sensor de temperatura e umidade DHT22
- Potenciômetro (contraste LCD)
- LCD 16x2
- Fios de ligação fêmea para fêmea
- LED verde e vermelho
- Resistores (2x470ohm e 1 4700ohm)
Caso:
- Impressão 3D
- Parafusos
- Cola de 2 componentes (ou outra cola quente)
- ferramenta de corte de rosca
Apenas se você estiver usando um PCB:
- Ferro de solda
- Fluxo (torna mais fácil)
- Lata
- Experiência pcb 2x4cm
Etapa 2: conexões
Conecte os fios como acima. Você pode ver um circuito elétrico no arquivo fritzing. Não é um circuito muito complicado, mas se você quiser torná-lo o mais pequeno possível, você definitivamente deseja obter uma placa PCB experimental. A fiação seria a mesma, exceto que o GND e Vin serão conectados à placa PCB. Os sensores serão conectados por fios de jumper fêmeas ou machos com solda. Não se esqueça de soldar o resistor no sensor DHT22.
Também recomendo usar cabos curtos, 10cm deve servir. Caso contrário, a caixa ficaria ainda mais cheia de cabos. Você não precisa de muito longos, pois o tamanho da impressão é o menor possível.
Etapa 3: impressão 3D
A primeira coisa que me veio à cabeça quando estava pensando em um caso foi uma impressão 3D. Já que meu pai imprimiu vários outros itens e ele mesmo os projetou. Juntos, criamos este design e pensamos em todos os aspectos. Deve estar bem resfriado, tudo pode ser aparafusado no lugar e se não, pode ser colocado no lugar.
Até desenhamos todos os componentes para verificar se tudo se encaixa. O arquivo está disponível para todos e adoraríamos ouvir alguns comentários. Ficamos muito satisfeitos com o resultado.
Etapa 4: Código
O código deste projeto pode ser encontrado no Github. Se você usou outros pinos (por exemplo, outro pino GPIO para os LEDs, você terá que ajustar essas variáveis. Haverá dois scripts Python em execução, web.py para o site e sensor.py para ler os sensores e atualizar o banco de dados. Estaremos importando a classe LCD do lcd.py.
Com um raspberry pi configurado, você pode começar. Em primeiro lugar, você precisará atualizar e atualizar todos os pacotes:
sudo apt-get update && sudo apt-get upgrade
Depois disso, você precisará instalar os seguintes pacotes:
sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3
Agora crie um ambiente virtual:
me @ my-rpi: ~ $ python3 -m pip install - atualizar pip setuptools wheel virtualenv
me @ my-rpi: ~ $ mkdir project1 && cd project1 me @ my-rpi: ~ / project1 $ python3 -m venv --system-site-packages env me @ my-rpi: ~ / project1 $ source env / bin / activate (env) me @ my-rpi: ~ / project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib
Feito isso, você pode clonar o código do meu GitHub em seu ambiente virtual. Isso pode ser feito de várias maneiras.
No diretório conf você pode encontrar quatro arquivos que você terá que ajustar se necessário. Definitivamente, você terá que alterar o usuário e o diretório de origem em cada arquivo. O uWSGI ini deve funcionar, desde que você não altere meu código, certifique-se de alterar o usuário e o virtualenv se necessário.
Como o sensor CCS811 foi usado intencionalmente para o arduino, ele não pode se comunicar pelo barramento i2c na velocidade do raspberry pi. Você terá que reduzir a velocidade para uma taxa de transmissão de 10000 (eu usei 9600) no arquivo de configuração.
Você também terá que obter a biblioteca do sensor adafruit. Eu poderia explicar isso aqui, mas há um guia adafruit perfeito que explica tudo isso muito bem.
Como queremos que os scripts Python sejam executados automaticamente quando o raspberry estiver conectado, você terá que usar os serviços. Eles ficarão bem se você mantiver meu código. Tudo o que você precisa fazer para que eles sejam executados é habilitá-los. Antes de fazer isso, há uma última coisa.
Como estamos usando um servidor da web nginx, teremos que desativar o padrão e substituí-lo por nossa própria configuração. Para fazer isso, estas etapas devem ser seguidas:
- copie conf / nginx para * sites disponíveis *
- Remova o link para a configuração padrão
- Adicione um link para a nova configuração
- Reinicie o nginx para salvar as alterações
me @ my-rpi: ~ / project1 $ sudo cp conf / project1 - *. service / etc / systemd / system /
me @ my-rpi: ~ / project1 $ sudo systemctl daemon-reload me @ my-rpi: ~ / project1 $ sudo systemctl start project1- * me @ my-rpi: ~ / project1 $ sudo systemctl status project1- *
Nginx e mysql devem estar em execução o tempo todo. Eles começam junto com o pi de framboesa. O script da web e o script do sensor ainda não.
Para fazer isso, você ainda precisa habilitar esses dois serviços com estes comandos:
sudo systemctl enable project1-flask.service
sudo systemctl enable project1-sensor.service
Etapa 5: Banco de dados
Meu banco de dados consiste em três tabelas. O usuário não tem relação com outras tabelas. Isso é usado apenas para fazer login e conceder acesso ao site. Quando o dispositivo é ligado, o valor de CO2 e o valor de TVOC serão gravados no banco de dados a cada 50 segundos. A temperatura e a umidade a cada 5 minutos. Dessa forma, temos uma visão clara do passado.
O arquivo SQL pode ser encontrado aqui, mas para obter o banco de dados do raspberry pi, você deve seguir estes passos:
Após a instalação dos pacotes na etapa anterior, mariadb / mysql deve ser executado imediatamente. Você pode verificar isso com esta linha:
me @ my-rpi: ~ $ sudo systemctl status mysql
Para criar o banco de dados e os usuários, você pode simplesmente executar os scripts sql no código do GitHub. Se você fez isso corretamente, deverá ver suas tabelas usando este comando:
me @ my-rpi: ~ $ echo 'show tables;' | mysql project1 -t -u project1-admin -p
Agora que está tudo pronto, você pode testar isso sem o caso para ter certeza de que tudo funciona. A menos que você esteja conectado a um wi-fi, será necessário conectá-lo com um cabo Ethernet e executá-lo manualmente.
Etapa 6: conectar ao Wi-Fi
Abra o arquivo de configuração wpa-supplicant no nano (realmente não importa, apenas certifique-se de trabalhar com o editor de texto).
sudo nano /etc/wpa_supplicant/wpa_supplicant.conf
Vá para a parte inferior do arquivo e adicione o seguinte (substitua o nome SSID e o nome da senha pelos seus):
rede = {
ssid = "nome-ssid" psk = "nome-senha"}
Para criar uma senha criptografada, você pode usar wpa_passphrase e simplesmente copiá-la para wpa_supplicant.conf psk para tornar as coisas mais seguras.
wpa_passphrase "nome-ssid" "nome-senha"
Se você quiser que ele se conecte a esta rede Wi-Fi automaticamente e houver outras no arquivo de configuração, certifique-se de alterar a prioridade para um nível mais alto, adicionando esta linha à rede no arquivo de configuração:
prioridade = 2
Não se esqueça de reconfigurar a interface com:
wpa_cli -i wlan0 reconfigurar
Agora você está pronto e conectado a uma rede wi-fi.
Etapa 7: juntando tudo
Como tudo está conectado e soldado, podemos chegar ao caso. Isso foi projetado para que você pudesse abrir o gabinete sem fios soltos. Isso significa que tudo está preso na parte inferior. A primeira coisa a fazer é um pequeno ajuste à framboesa. Tem buracos em todos os cantos, mas não são tão grandes quanto deveriam ser. O diâmetro deve ser suficiente para encaixar um parafuso de 3mm no interior. Tivemos que polir os orifícios para que fiquem um pouco mais largos.
A segunda coisa a fazer é cortar uma rosca de parafuso em cada orifício. Isso pode parecer difícil, mas pode ser feito facilmente com as ferramentas certas. Eu recomendo fazer isso em uma loja de ferragens local, basta pedir uma ferramenta de corte de linha. Como meu pai é ourives, ele tinha as ferramentas para fazer isso no trabalho. Posso carregar um novo arquivo stl para que seja impresso mais tarde, mas isso precisaria de uma impressora muito precisa.
O terceiro passo é aparafusar o pi na parte inferior. Você precisará de 4 parafusos longos de 7 mm com um diâmetro de 3 mm. Depois disso, você pode enfiar a placa PCD no local fornecido na parte superior da parte inferior. O sensor CCS811 pode ser colocado no local fornecido no lado esquerdo e o DHT11 pode ser fixado na placa direita. Ambos são isolados e bem ventilados, mas depois notamos que ainda estava esquentando por dentro. Mais sobre isso mais tarde.
Em seguida, você precisa conectar os LEDs ao tubo. Fizemos isso com cola de 2 componentes, mas você pode fazer como quiser. Certifique-se de que eles grudam ali.
Agora você pode conectar o display LCD, você precisará de parafusos com o mesmo diâmetro dos anteriores, mas um pouco mais longos. Os meus tinham 1cm. Se os quatro parafusos estiverem aparafusados, resta apenas uma coisa a fazer. Anexe a parte superior. São necessários quatro parafusos, do mesmo diâmetro e de 2cm. Agora tudo deve estar no lugar e você pode iniciá-lo.
Etapa 8: inicie
O processo de inicialização deste projeto é muito fácil:
- Conecte o cabo de alimentação no lado esquerdo da caixa. Não é muito visível, mas você pode ver pelas aberturas. Se você conseguiu uma vez, não será um problema novamente.
- Dê algum tempo para iniciar.
- O endereço IP aparecerá no visor por dez segundos. A única coisa que você precisa fazer é certificar-se de que está conectado à mesma rede e inserir o endereço IP na barra de endereços do seu navegador.
- Agora você está no site. Você ainda não tem uma conta, então crie uma.
- Se você está registrado, faça o login.
- Feito! Você pode ver todos os dados na página da web e o display LCD mostra a qualidade do ar atual.
Como o calor aumenta, localizamos os sensores na parte inferior do gabinete. Desta forma a temperatura não teria um grande impacto nos valores registrados. Portanto, para obter medições ideais, coloque o dispositivo em pé ou simplesmente pendure-o na parede.
Recomendado:
Medidor de qualidade do ar interno: 5 etapas (com fotos)
Medidor de qualidade do ar interno: Projeto simples para verificar a qualidade do ar em sua casa. Como ficamos / trabalhamos muito em casa ultimamente, pode ser uma boa ideia monitorar a qualidade do ar e lembrar-se da hora de abrir a janela e tomar um pouco de ar fresco
Adicionar um alto-falante externo para melhorar a qualidade do som: 5 etapas
Adicione um alto-falante externo para melhorar a qualidade do som: a qualidade do som deste pequeno rádio-relógio era péssima! Todo o resto sobre o rádio é ótimo, facilidade de uso, carregamento do telefone, tela, etc. A solução é usar um alto-falante externo e quanto maior melhor
Visor LED de status de qualidade do ar PurpleAir: 4 etapas
Tela LED de status de qualidade do ar PurpleAir: Com os recentes incêndios florestais na Califórnia, a qualidade do ar em São Francisco foi bastante afetada. Vimo-nos verificando o mapa PurpleAir uma e outra vez em nossos telefones ou laptops tentando ver quando o ar estava seguro o suficiente para abrir a vitória
Concentre a câmera de alta qualidade Pi com Lego e um servo: 4 etapas (com fotos)
Focalize a câmera Pi de alta qualidade com Lego e um servo: com uma peça Lego ligeiramente hackeada, um servo contínuo e algum código Python, você pode focalizar sua câmera Raspberry Pi de alta qualidade de qualquer lugar do mundo! A câmera Pi HQ é uma peça fantástica de kit, mas como eu descobri enquanto trabalhava no Merlin recente
Alto-falantes de alta qualidade alimentados: 9 etapas
Alto-falantes com alimentação de alta qualidade: woofer e tweeter de alta qualidade de 20 watts com amplificador de potência integrado com controle de volume único