Skip to content

Taller IoT para construir un sensor de calidad del aire basado en el proyecto SENSOR.COMMUNITY

License

Notifications You must be signed in to change notification settings

McOrts/taller-iot-sensor_calidad_aire

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

27 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Talleres IoT. Sensor de calidad del aire

En este taller vamos a construir un sensor que medirá los siguientes indicadores medioambientales:

  • Concentración de partículas entre 0,3 a 10 μm en el aire
  • Temperatura
  • Humedad
  • Presión atmosférica

El dispositivo está basado en un microcontrolador ESP8266 montado en una placa NodeMCU que permite conectividad WiFi. A través de la cual, los datos serán transmitidos a la plataforma abierta de Sensor Community. De esta forma, además de poder ver la información de nuestro dispositivo en una web. Estatemos dando a conocer una información interesante para otros ciudadanos y colaborando para la realialización de estudios climáticos que nos benefician a todos.

¿Cómo se detectan las partículas en el aire?

Uso del principio de dispersión láser: La dispersión de la luz puede ser inducida cuando las partículas pasan por el área de detección. La luz dispersa se transforma en señales eléctricas y estas señales se amplificarán y procesarán. El número y el diámetro de las partículas se pueden obtener mediante análisis porque la forma de onda de la señal tiene ciertas relaciones con el diámetro de las partículas.

Lista de material

Kit de sensores

Componentes individuales

Conectar el microcontrolador al ordenador

Una vez que tengamos el hardware. Empezaremos por instalar los drivers y conectar el NodeMCU(ESP8266). Para comunicarse con el NodeMCU (ESP8266) necesitamos diferentes controladores en función del sistema operativo. Elige la url correspondiente al sistema operativo de tu ordenador.

Windows

Drivers para NodeMCU (ESP8266) V2 (CP2102) en Windows

  • Windows 10 - Windows 10 - Windows 10 debería descargarlo automáticamente
  • Windows 7/8/8.1 - 32-bit version - no soporta la versión 64-bit OS

Driver for NodeMCU (ESP8266) V3 (CH340/CH341) for Windows

  • Windows - Windows 10 debería descargarlo automáticamente

Extraer el archivo descargado para Windows:

  • Para el NodeMCU (ESP8266) V2: Abre la carpera CP210x y haz doble click en el archivo CP210xVCPInstaller_x64 (or x86)
  • Para el NodeMCU (ESP8266) V3: Abre la carpeta CH341SER y haz doble click en el archivo SETUP.

MacOS

MacOS Drivers

Extrae el archivo descargado para MacOS.

  • Para V2: descomprime la carpeta CP210x y haz doble click en el archivo CP210xVCPInstaller_x64 (o x86)
  • for V3: descomprime la carpeta folder CH341SER y haz doble click en el archivo SETUP.
  • Reinicia tu Mac

Linux

No es necesario instalar los drivers. El chip debe estar instalado (puedes verificarlo con dmesg)

Firmware Flasher. Carga del programa.

Soporte para múltiples sistemas operativos: Windows, MacOS and Linux.

Conecta el NodeMCU a tu ordenador con un cable micro-USB (elige un cable que no sea más largo de 1 metro, si no, la instalación podría fallar). Selecciona latest_en.bin (o el lenguaje que prefieras) y haz click en "Upload". Espera hasta que finalice el proceso. Ahora puedes conectar el sensor.\

Montaje

⚠️ NOTA IMPORTANTE Antes de hacer las conexiones, completra el paso anterior de instalar el firmware

NodeMCU v3

Nota: estas instrucciones hacen referencia a la versión 3 del NodeMCU. Puede ser reconocido por las conexiones VU y G (ver el dibujo).

Este debería ser el resultado final:

Cableado del SDS011

Los pins están numerados de DERECHA a IZQUIERDA, asegúrate al conectar los cables que están situados en los pins, ya que la mayoría de los cables Dupont encajan entre los pines.

SDS011 Pin 1 -> Pin D1 / GPIO5
SDS011 Pin 2 -> Pin D2 / GPIO4
SDS011 Pin 3 -> GND
SDS011 Pin 4 -> unused
SDS011 Pin 5 -> VU (NodeMCU v3) / VIN (NodeMCU v1,v2)
SDS011 Pin 6 -> unused
SDS011 Pin 7 -> unused

Soldar el BME280

Conecta la cabeza del pin con el puerto BME280. Suéldalo desde la parte trasera. Los huecos entre los pins son muy pequeños, ten paciencia y cuidado. El truco está en soldar la punta de hierro al pin, calentarlo un poco y, entonces soldarlo con cuidado.

Cablear el BME280

Los pins están numerados de IZQUIERDA a DERECHA

VIN -> Pin 3V3 (3.3V)
GND->  GND/G
SDA -> PIN D3
SCL -> Pin D4

Montaje del sensor

Ata el NodeMCU y el SDS011 juntos

Usa un cable para conectar el NodeMCU (ESP8266) y el sensor SDS011 sensor para que la antena de Wifi emita desde el sensor.

Conecta el tubo flexible

  • Conecta el tubo flexible al sensor SDS011 * Use otro cable conector para enganchar el sensor de temperatura BME280 al tubo * Pasa el cable USB a través del tubo. Monta el SDS011 con el NodeMCU hacia la parte de arriba y el ventilador hacia la parte de abajo ##### Pulsa el sensor en el tubo * Aprieta las partes en el tubo, así estará junto dentro. - El cable USB, el tubo flexible y el BME280 deben salir al final del tubo. * Aprieta el otro cable dentro del primero. 

Para acabar

  • Coloca el sensor de temperatura en el tubo flexible, así estará en el borde del cable.
  • Corta el tubo flexible y el final del cable.
  • Opcional: puedes cubrir las salidas del tuvo con una fina malla. Así el aire puede circular y los insectos no pueden entrar.

Configurar

Consigue la estación ID

  1. Conecta la estación a un cable USB para cargar el sensor.
  2. La estación intentará conectarse a la red WiFi configurada. Para una nueva configuración, la conexión fallará y la estación creará una red WiFi con el nombre: airRohr-ID. El ID es el ChipID (por ejemplo, 13597771). Anota este número, ya que lo necesitarás para el registro
  3. Conecta a esta red Wifi creada por la estación (Hotspot) con tu ordenador o móvil. El password es: airrohrcfg. Espera hasta que se establezca la conexión. Usuarios de Android: Si la conexión se acaba inmediatamente, podrías tener desactivada la opción "Smart network switch" en "Connections -> WiFi -> Advanced".
  4. Abre tu navegador y tecla la url siguiente http://192.168.4.1/.

⚠️ Ten en cuenta que el NodeMCU puede necesitar varios intentos para conectarse a la red WiFi local. Ten paciencia y realiza los pasos varias veces hasta que funcione. Si la configuración del sensor funciona, la red WiFi de la estación no estará disponible y la página de configuración ya no será accesible bajo esta IP 192.168.4.1

Configurar la estación

  1. En la página de 'Configuración' teclea el SSID (el nombre de la red WiFi de casa), la clave de seguridad de la red (en Windows) o la contraseña de WiFi.
  2. Accede a la pestaña de Sensors para seleccionar los sensores conectados: BME280 y SDS011

  1. Ahora vamos a decirle a dónde queremos que se envién nuestros datos. Marca las opciones que desees en la pestaña de APIs

  1. Haga clic en el botón 'Guardar configuración y reiniciar'. La estación se reiniciará y ya no será accesible de esta manera cuando se conecte a la red WiFi de su hogar.

Verifica que la estación está correctamente configurada

Tras las configuraciones anteriores, el sensor comenzará a grabar y cargar los datos. Puede verificar que todo funcione correctamente después de aproximadamente 10 minutos dirigiéndote a las siguientes páginas. En estas páginas, busque el ChipID (en el ejemplo anterior 13597771).

Registrarse

Crea una cuenta

Ve a devices.sensor.community para crear una cuenta y conviértete en parte de la red Open Data.

Registra tu dispositivo

Una vez creas una cuenta e inicias sesión, podrás registrar tu dispositivo. Completa el formulario para registrar tu dispositivo. Ve a Inicio -> (Iniciar sesión) - Sensores -> Registrar nuevo sensor

  • El ID del sensor es el ChipID del ESP8266 (NodeMCU) que anotaste antes
  • Tu dirección de correo electrónico no será publicada
  • Tu dirección: Calle con número de casa, código postal y ciudad. Haga clic en "Buscar dirección ingresada" para obtener las coordenadas de la ubicación. Compruebe la posición, cámbielo si es necesario
  • Establece un nombre de sensor personal para que sea más fácil separarlos si tienes varios sensores (como jardín, etc.)
  • Los alrededores de la estación (Ejemplo: altura sobre el suelo, lado de la carretera, alto volumen de tráfico, campo libre o similar)

Integración con Node-RED

Directa

El propio firmware del microcontrolador ESP8266 nos permite enviar la información también a un endpoint api-rest. Si el sensor y el servidor están en la misma LAN, la configuración es secilla:

Tenemos que tener en cuenta que no usaremos el puerto por defecto, el 80 si no el 1880, el propio Node-RED para los dashboards. El parseo de la información varia en función de los sensores colocados. Si se usa un BMP280 este sería el flujo:

El código fuente lo tienes aquí

Man in the middle

En este paso en vez de desarrollar un flujo POST tendremos que hacerlo con el método GET de alguno de los repositorios que están persistiendo nuestra información. Aquí hay una buena gúia para hacer estas consultas: https://npm.io/package/homebridge-airrohr

Solucionario de problemas

¿Transmite de manera errónea?

Ingrese lo siguiente en el navegador con sus propios datos: https://api-rrd.madavi.de/grafana/d/GUaL5aZMz/pm-sensors?orgId=1&var-chipID=esp8266-[ID]

[ID] también se puede buscar en el campo de entrada en la esquina superior izquierda de la página: https://api-rrd.madavi.de/grafana/d/GUaL5aZMz/pm-sensors?orgId=1

  • ¿Está el sensor registrado en https://devices.sensor.community/ y es el sensor visible en el mapa?
  • ¿Ha estado la señal WLAN en un nivel bajo en el pasado? Aquí está el servidor de registro de la señal: https://api-rrd.madavi.de/grafana/d/Fk6mw1WGz/wifi-signal?orgId=1&var-chipID=esp8266-[ID]

¿Problemas con el cable USB?

  • Verifique la fuente de alimentación: cable USB
  • Reiniciar (desconecte la fuente de alimentación, por ejemplo, tire del enchufe USB)
  • ¿Está bien configurada la red WLAN? (el sensor se conecta a la WLAN configurada). De lo contrario:
    • ¿El sensor abre un AP (en los primeros 2-7 minutos después de un reinicio)?
    • Busca la red WLAN "airrohr-[ID]". Paciencia, puede tardar 1-2 minutos antes del reinicio.
  • Verifique en su propio rooter si el sensor está conectado a la red, luego recuerde la IP
  • Comprueba en tu propio router si el sensor está conectado a la red, entonces recuerda la IP
    • De forma alternativa, usa "Discovery" en el flashtool
    • Si es así: conéctalo al sensor mediante la IP con un navegador "http://[ip-of-the-sensor]/" , la interfaz debería aparecer
    • Si no es así: el ESP tiene problemas. Puede ser un problema, por ejemplo de insuficiencia en el suministrador de energía. Reinicia.
  • Conecta el USB a un ordenador y comprueba el registro
    • Rastrea el texto en la interfaz serial con el programa de terminal serial (Configuración: baudios 9600, 8N1)
    • Ahí deberías poder ver qué está haciendo el sensor (mensajes de arranque, conexión WLAN o AP, medición, solo después de 3 minutos)

¿Problemas electrónicos?

  • Retira la electrónica del sensor de la carcasa y observe.
  • Comprueba/cambia el suministrador de energía de nuevo.
    • ¿Emite un pequeño flash el ESP después de reiniciar?
    • SDS011: LED roja/ventilador encendido después de reiniciar
    • Reinicia (desconecta el suministrador de energía)

Agradecimientos 🙋‍

Associació de Veïnes de Canamunt Piotr, from Poland Sensor.Community

Gracias a todos por hacer del mundo un lugar mejor a través de datos ambientales abiertos y dirigidos por la comunidad.

About

Taller IoT para construir un sensor de calidad del aire basado en el proyecto SENSOR.COMMUNITY

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published