Cómo hacer un registrador de CO2 online fiable [DIY]

Facebook
Twitter
WhatsApp

Hace unas semanas el Nergizo @mbc despertaba mi curiosidad por la medición de niveles ambientes de CO2 de forma casera y su volcado a un registro online. Siguiendo su recomendación sobre el posible sensor a utilizar, he creado un logger de CO2 (fiable) con volcado de datos online para su consulta vía web o app.

Logger CO2

—Pero Nergizo, si en Amazón hay medidores de CO2 por 30€

—OK, Fulgencio, pero estamos hablando de algo medianamente fiable y que registra datos online

 

Montaje del registrador de CO2

El montaje es bastante sencillo, solo hacen falta dos componentes:

  • Nodemcu: una placa programable con el IDE de Arduino, la cual incorpora la conexión WIFI
  • Sensor CO2 TelAire T6703: un sensor bastante fiable, calibrado de fábrica y con un sistema de autocalibración muy interesante del que no vamos a meternos a hablar aquí pero hay alguna info en la red.

Al final del post pondré los enlaces para comprar el material.

Solo ha que unir los dos componentes con cables tipo Dupont (por ejemplo) de esta manera:

Nergi-CO2

Y posteriormente alimentar el nodeMCU con un microUSB.

Volcado de datos online

Para volcar los datos en gráficas online he usado la plataforma ThingSpeak, aquí tendrías que hacer lo siguiente:

  1. Registrarte
  2. Crear un canal
  3. Copiar el ID de tu canal (Channel ID en la parte de arriba de la página)
  4. Entrar en el apartado “API keys” y copiar la key que está en “Write API key”

 

Programar la placa nodeMCU

Aquí os dejo el código para volcar en la placa nodeMCU, tenéis que sustituir los siguientes valores antes:

  • char ssid[] = “NombreWifi“; //SSID
  • char pass[] = “PasswordWifi“; // Password
  • unsigned long myChannelField = tu_ID_de_canal; // Channel ID
  • const char * myWriteAPIKey = “tu_API_key“; // write API Key
  • delay(60000); // Intervalo toma de valores (en ms)

Las comillas déjalas tal cual están.

Caja

Aquí ya tendríamos el registrador funcional, queda a gusto de cada uno el ponerlo “bonito”. Yo he usado una caja impresa en 3D como no podía ser de otra forma, la he hecho a medida y usado silicona caliente para pegar las placas.

3d CO2

Os dejo el .stl para quien tenga impresora 3D y quiera usarlo.

Visualización de datos

Para visualizar los datos ThingSpeak nos da varias alternativas interesantes:

  • Ver una gráfica (configurable) en su web
  • Descargar un .CSV
  • Compartir en tu web la gráfica a través de un iframe
  • Visualizar la gráfica con al app gratuita “ThingView Free”

Esta última alternativa es la que me parece más interesante ya que el gráfico es bastante interactivo y permite hacer zoom en ambos ejes:

Gráfica Thingview

Ahora con el juguete intentaré sacar conclusiones y publicar algunos datos en un post posterior. De momento me he dado cuenta de que es casi imposible mantener un nivel de CO2 saludable en una vivienda sin ventilación mecánica, a no ser que pongas el despertador varias veces por la noche para abrir ventanas.

Ingredientes de la receta:

Agradezco a mis amigos de NerSolutions su apoyo en este proyecto.

19 comentarios en «Cómo hacer un registrador de CO2 online fiable [DIY]»

  1. Pues venga, ahora a probar si tener plantas dentro de una habitación cerrada baja el Co2 emitido por el humano que duerme dentro 😉

    Responder
    • Por las noches las plantas emiten CO2 aunque salvo que vivas en un invernadero la cantidad es insignificante respecto a un humano.

      Responder
      • Me quería referir a las plantas CRAM, que son las que absorben CO2 por la noche en lugar de por el día (al revés del resto de plantas)

        Responder
  2. Me ha molado mucho este proyecto y, aunque no tengo ni idea de arduino ni de electrónica en general creo que me voy a tirar a la piscina.
    Un par de preguntas:
    1.- La placa NodeMCU es independiente o requiere a un Arduino UNO o similar para trabajar
    2.- ¿Como se descarga el código en esta placa ? ¿USB? ¿Wifi?

    Lamento las preguntas de novatísimo y gracias de antemano

    Responder
    • Anímate, no tiene complicación alguna. No te hace falta ninguna placa más, el código lo cargas con un cable micro USB directamente sobre el nodeMCU con el software Arduino (gratis)

      Responder
      • Hola Carlos, pero es necesario comprar más cosas, como cables o así? En ese caso agradecería si pusieras link de los que son. Muchas gracias y felicidades por la post, muy interesante

        Responder
        • Hola Benja

          Si partes 100% de cero y no tienes nada en casa necesitarías.

          -Un cable micro-usb a USB para programar el nodeMCU y alimentarlo luego, que si rebuscas en casa seguro que encuentras.

          -Cables dupont hembra-hembra: https://www.banggood.com/custlink/KKDh89QfIJ

          Un tema que hay que tener en cuenta es que el sensor Telaire del enlace del post viene con las punteras dupont sin soldar, hay que darles una gotita de estaño. Aunque en la foto aparecen soldadas.

          He buscado en Aliexpress y no encuentro vendedores que vendan el sensor con las punteras ya soldadas, pero es bastante sencillo.

          Responder
            • Hola, me ha llegado por fin, he hecho el montaje, pero el ordenador no me reconoce la placa al conectarla vía USB…

              Alguna idea de por qué puede ser? mil gracias

            • Descargate los drivers para CH340:
              https://learn.sparkfun.com/tutorials/how-to-install-ch340-drivers/all

            • Perdona por molestar de nuevo, he conseguido ese paso, pero ahora tengo problemas con las librerías… sabes de alguna que contenga todo lo necesario para poder compilar el programa directamente? gracias

          • Tienes las librerías indicadas al principio del código

            #include “ThingSpeak.h”
            #include
            #include // Although Wire.h is part of the Ardunio GU

            Las puedes encontrar por ejemplo aquí: https://www.arduinolibraries.info/

            Responder
  3. No se si he entendido bien la gráfica:
    Pone que de media tienes 549 ppm, el valor mas alto 3840 (¿solo?) y de mínima ¡309! (nivel promedio de 1850)
    Me parecen valores muy bajos, actualmente se toma como referencia las mediciones en una zona desierta de Hawai (creo que es en el cráter del volcán Mauna Loa) y en 2020 estaba en 417 ppm (la mas alta desde que se toma ese valor como referencia, aunque hay pruebas de que el nivel alcanzaba las 7000 ppm hace “solo” 500 millones de años.

    Responder
    • El valor que marca en modo texto es el actual, no la media.

      Ese máx 3840 supongo que sería de alguna prueba, en funcionamiento normal no lo he visto a más de 3200ppm.

      Lo de la mínima igual, no lo he visto por debajo de 400ppm

      De todas formas, la autocalibración de este sensor funciona pasadas las 24h enchufado, de forma que si va detectando mínimos muy bajos reajusta automáticamente. Quizás en esta gráfica todavía no se había autocalibrado ninguna vez aún.

      Tienes info aquí: https://www.cdiweb.com/datasheets/telaire-amphenol/t6703%20series-web.pdf

      Responder
  4. Buenos días a todos,

    Ya tengo en casa los materiales para montar el sensor … de este finde no pasa para dejarlo montado.

    Os quería hacer una pregunta sobre la placa nodeMCU ¿sabéis si es compatible con el protocolo MQTT? Mi idea es tratar de integrarlo en mi sistema domótico, de forma que cuando la calidad del aire disminuya se active automáticamente el recuperador de aire.

    Gracias de antemano

    Responder
  5. y no hay un sensor fiable que ya venga todo listo? Pro ejemplo, esa estación meteorológica que vende Netatmo… será fiable?

    Responder

Deja un comentario

Los datos de carácter personal que proporciones rellenando el presente formulario serán tratados por Carlos Gutiérrez (Nergiza) como responsable de esta web. La finalidad de la recogida y tratamiento de los datos personales solicitados es gestionar los comentarios que realizas en este blog y/o suscribirte a los mismos. Legitimación: Consentimiento del interesado. Te informo que los datos que me facilitas estarán ubicados en los servidores de Cubenode (proveedor de hosting de Nergiza) dentro de la UE. Política de privacidad de Cubenode. El hecho de que no introduzcas los datos de carácter personal que aparecen en el formulario como obligatorios podrá tener como consecuencia que no pueda atender tu solicitud. Podrás ejercer tus derechos de acceso, rectificación, limitación y suprimir los datos en carlos@nergiza.com así como el derecho a presentar una reclamación ante una autoridad de control. Puedes consultar información adicional sobre Protección de Datos en: https://nergiza.com, así como consultar mi política de privacidad.