Tabla de contenido:

AirPi - Sensor de calidad del aire: 8 pasos
AirPi - Sensor de calidad del aire: 8 pasos

Video: AirPi - Sensor de calidad del aire: 8 pasos

Video: AirPi - Sensor de calidad del aire: 8 pasos
Video: PRÁCTICAS CLAVES DE LA ESTRATEGIA AIEPI / Cofia Educativa 2024, Noviembre
Anonim
AirPi - Sensor de calidad del aire
AirPi - Sensor de calidad del aire

¿Alguna vez te has preguntado por qué te duele la cabeza? ¿Y si esto se debe a una mala calidad del aire? Con este dispositivo puedes comprobar si este es el caso. Este dispositivo mide el valor de CO2, el valor de TVOC, la temperatura y la humedad. Puede ver la calidad del aire en vivo en la pantalla LCD y ver una indicación clara si se está volviendo peligroso. De esta forma puede abrir sus ventanas a tiempo.

Si ingresa la dirección IP, que se muestra cuando inicia el dispositivo en su navegador, el sitio web se abrirá. Puede ver mucha información sobre el entorno interior, junto con gráficos de los últimos minutos / horas. También hay una indicación en vivo y algo de información y consejos en el tablero.

Este proyecto fue realizado por un estudiante de Howest Kortrijk, NMCT (Nuevos medios y tecnología de la comunicación).

Paso 1: Materiales

Materiales
Materiales

Esto es todo lo que compré para crear este proyecto. Este es un proyecto relativamente barato, dependiendo del costo de la impresión en 3D. Si puedes imprimirlo en la escuela, esto podría ser muy económico. De lo contrario, depende de dónde lo imprima y del material en el que lo imprima. Notará que compré mucho al por mayor, simplemente porque es difícil encontrar resistencias individuales o leds y esto lo hace aún más barato. Si tiene tiempo, puede pedir la mayoría de los artículos en aliexpress.com, la entrega puede tardar un poco, pero de esta manera puede limitar sus gastos.

Sin la impresión, el dinero que gasté en este proyecto es de 81, 80 €.

Estos son los materiales que necesita:

Circuito:

  • Frambuesa pi 3
  • Tarjeta SD 8GB (mínimo)
  • Sensor de calidad del aire CCS811
  • Sensor de temperatura y humedad DHT22
  • Potenciómetro (LCD de contraste)
  • LCD 16x2
  • Cables de puente hembra a hembra
  • LED verde y rojo
  • Resistencias (2x470ohm y 1 4700ohm)

Caso:

  • Impresión 3D
  • Empulgueras
  • Pegamento de 2 componentes (u otro pegamento caliente)
  • herramienta de corte de hilo

Solo si estás usando una PCB:

  • Soldador
  • Flux (lo hace más fácil)
  • Estaño
  • Experimento pcb 2x4cm

Paso 2: conexiones

Conexiones
Conexiones

Conecte los cables como se indica arriba. Puede ver un circuito eléctrico en el archivo fritzing. No es un circuito muy complicado, pero si quieres hacerlo lo más pequeño posible, definitivamente querrás obtener una placa PCB experimental. El cableado sería el mismo, excepto que GND y Vin se conectarán a la placa PCB. Los sensores se conectarán mediante cables de puente hembra o machos con soldadura. No olvides soldar la resistencia en el sensor DHT22.

También recomiendo usar cables cortos, 10 cm deberían ser suficientes. De lo contrario, la caja se llenaría aún más de cable. No necesita unos muy largos ya que el tamaño de la impresión se hace lo más pequeño posible.

Paso 3: impresión en 3D

Impresión 3D
Impresión 3D
Impresión 3D
Impresión 3D

La primera idea que me vino a la cabeza cuando estaba pensando en un caso fue una impresión en 3D. Dado que mi padre había impreso varios otros artículos y los diseñó él mismo. Juntos creamos este diseño y pensamos en todos los aspectos. Debe estar lo suficientemente bien enfriado, todo se puede atornillar en su lugar y, si no, se puede empujar en su lugar.

Incluso dibujamos todos los componentes para comprobar si todo encaja. El archivo está disponible para todos y nos encantaría escuchar algunos comentarios. Quedamos muy satisfechos con el resultado.

Paso 4: Código

El código de este proyecto se puede encontrar en Github. Si ha utilizado otros pines (por ejemplo, otro pin GPIO para los LED, tendrá que ajustar estas variables. Habrá dos scripts de Python ejecutándose, web.py para el sitio web y sensor.py para leer los sensores y actualizar la base de datos. Importaremos la clase LCD de lcd.py.

Con una frambuesa pi configurada, puede comenzar. En primer lugar, deberá actualizar y actualizar todos los paquetes:

sudo apt-get update && sudo apt-get upgrade

Después de eso, deberá instalar los siguientes paquetes:

sudo apt install -y python3-venv python3-pip python3-mysqldb mariadb-server uwsgi nginx uwsgi-plugin-python3

Ahora crea un entorno virtual:

me @ my-rpi: ~ $ python3 -m pip install --upgrade 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 / activar (env) me @ my-rpi: ~ / project1 $ python -m pip install mysql-connector-python argon2-cffi Flask Flask-HTTPAuth Flask-MySQL mysql-connector-python passlib

Una vez hecho esto, puede clonar el código de mi GitHub en su entorno virtual. Esto se puede hacer de varias formas.

En el directorio conf puedes encontrar cuatro archivos que tendrás que ajustar si es necesario. Definitivamente tendrá que cambiar el usuario y el directorio de inicio en cada archivo. El uWSGI ini debería estar bien siempre y cuando no hayas cambiado mi código, asegúrate de cambiar el usuario y virtualenv si es necesario.

Dado que el sensor CCS811 se usó intencionalmente para el arduino, este no se puede comunicar a través del bus i2c a la velocidad del raspberry pi. Tendrá que reducir la velocidad a una velocidad en baudios de 10000 (yo usé 9600) en el archivo de configuración.

También tendrás que obtener la biblioteca del sensor adafruit. Podría explicar esto aquí, pero hay una guía perfecta de adafruit que explica todo esto muy bien.

Debido a que queremos que los scripts de Python se ejecuten automáticamente cuando la frambuesa esté conectada, tendrá que usar los servicios. Deberían estar bien si mantuviste mi código. Todo lo que necesita hacer para que se ejecuten es habilitarlos. Antes de hacer eso, hay una última cosa.

Como estamos usando un servidor web nginx, tendremos que desactivar el predeterminado y reemplazarlo por nuestra propia configuración. Para hacer esto, se deben seguir estos pasos:

  • copiar conf / nginx a * sitios disponibles *
  • Eliminar el enlace a la configuración predeterminada
  • Agregue un enlace a la nueva configuración
  • Reinicie nginx para guardar los cambios

yo @ 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 y mysql deben estar ejecutándose en todo momento. Comienzan junto con la frambuesa pi. La secuencia de comandos web y la secuencia de comandos del sensor aún no.

Para hacer esto, aún necesita habilitar estos dos servicios con estos comandos:

sudo systemctl habilitar project1-flask.service

sudo systemctl habilitar project1-sensor.service

Paso 5: base de datos

Base de datos
Base de datos

Mi base de datos consta de tres tablas. El usuario no tiene relación con otras tablas. Esto solo se usa para iniciar sesión y otorgar acceso al sitio web. Cuando se enciende el dispositivo, el valor de CO2 y el valor de TVOC se escribirán en la base de datos cada 50 segundos. La temperatura y la humedad cada 5 minutos. De esta manera obtenemos una visión clara del pasado.

El archivo SQL se puede encontrar aquí, pero para obtener la base de datos en la raspberry pi, debe seguir estos pasos:

Después de la instalación de los paquetes en el paso anterior, mariadb / mysql debería estar ejecutándose inmediatamente. Puedes comprobar esto con esta línea:

yo @ my-rpi: ~ $ sudo systemctl status mysql

Para crear la base de datos y los usuarios, simplemente puede ejecutar los scripts sql en el código de GitHub. Si hizo esto correctamente, debería ver sus tablas usando este comando:

me @ my-rpi: ~ $ echo 'mostrar tablas;' | mysql proyecto1 -t -u proyecto1-admin -p

Ahora que estamos listos, puede probar esto sin el estuche para asegurarse de que todo funcione. A menos que esté conectado a wifi, deberá conectarlo con un cable ethernet y ejecutarlo manualmente.

Paso 6: Conéctese a Wi-Fi

Abra el archivo de configuración del solicitante de wpa en nano (realmente no importa, solo asegúrese de que puede trabajar con el editor de texto).

sudo nano /etc/wpa_supplicant/wpa_supplicant.conf

Vaya al final del archivo y agregue lo siguiente (reemplace el nombre de ssid y el nombre de contraseña por el suyo):

red = {

ssid = "nombre-ssid" psk = "nombre-contraseña"}

Para crear una contraseña cifrada, puede usar wpa_passphrase y simplemente copiarla en wpa_supplicant.conf psk para hacer las cosas más seguras.

wpa_passphrase "nombre-ssid" "nombre-contraseña"

Si desea que se conecte a esta red Wi-Fi automáticamente, y hay otras en el archivo de configuración, asegúrese de cambiar la prioridad a un nivel superior agregando esta línea a la red en el archivo de configuración:

prioridad = 2

No olvide reconfigurar la interfaz con:

wpa_cli -i wlan0 reconfigurar

Ahora estás listo y conectado a una red wifi.

Paso 7: Poner todo junto

Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto
Poniendo todo junto

Como todo está cableado y soldado, podemos llegar al caso. Esto fue diseñado para que pudieras abrir la carcasa sin cables sueltos. Esto significa que todo está unido a la parte inferior. Lo primero que hay que hacer es un pequeño ajuste a la frambuesa. Tiene agujeros en cada esquina, pero no son tan grandes como deberían ser. El diámetro debería ser suficiente para que quepa un tornillo de 3 mm en su interior, tuvimos que pulir los agujeros para que se ensancharan un poco más.

Lo segundo que debe hacer es cortar una rosca en cada orificio. Esto puede parecer difícil, pero se puede hacer fácilmente con las herramientas adecuadas. Recomendaría hacer esto en una ferretería local, solo pida una herramienta para cortar roscas. Como mi papá es orfebre, tenía las herramientas para hacer esto en el trabajo. Podría cargar un nuevo archivo stl para que se imprima más adelante, pero esto necesitaría una impresora muy precisa.

El tercer paso es atornillar el pi en la parte inferior. Necesitará 4 tornillos de 7 mm de largo con un diámetro de 3 mm. Después de esto, puede empujar la placa PCD en el lugar provisto en la parte superior de la parte inferior. El sensor CCS811 se puede empujar en el lugar provisto en el lado izquierdo y el DHT11 se puede colocar en la placa derecha. Ambos están aislados y suficientemente ventilados, pero después notamos que todavía hacía calor por dentro. Más sobre eso más adelante.

Entonces necesitas conectar los LED a su tubo. Hicimos esto con pegamento de 2 componentes, pero puedes hacerlo como quieras. Asegúrate de que se peguen allí.

Ahora puede colocar la pantalla LCD, necesitará tornillos del mismo diámetro que los anteriores, pero un poco más largos. Los míos eran de 1 cm. Si los cuatro tornillos están atornillados, solo queda una cosa por hacer. Adjunte la parte superior. Solo necesitas cuatro tornillos, del mismo diámetro y estos son de 2cm. Ahora todo debería estar en su lugar y puede iniciarlo.

Paso 8: Ponlo en marcha

El proceso de puesta en marcha de este proyecto es muy sencillo:

  1. Conecte el cable de alimentación en el lado izquierdo de la carcasa. No es muy visible pero se puede ver a través de las rejillas de ventilación. Si lo consiguió una vez, no volverá a ser un problema.
  2. Dale algo de tiempo para que comience.
  3. La dirección IP aparecerá en la pantalla durante diez segundos. Lo único que debe hacer es asegurarse de estar conectado a la misma red e ingresar la dirección IP en la barra de direcciones de su navegador.
  4. Ahora estás en el sitio web. Todavía no tiene una cuenta, así que cree una.
  5. Si está registrado, inicie sesión.
  6. ¡Hecho! Puede ver todos los datos en la página web y la pantalla LCD muestra la calidad actual del aire.

Dado que el calor aumenta, hemos ubicado los sensores en la parte inferior de la carcasa. De esta forma, la temperatura no tendría un gran impacto en los valores registrados. Por lo tanto, para obtener medidas óptimas, haga que el dispositivo se levante o simplemente puede colgarlo en la pared.

Recomendado: