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.
—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:
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:
- Registrarte
- Crear un canal
- Copiar el ID de tu canal (Channel ID en la parte de arriba de la página)
- 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.
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:
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.
Pues venga, ahora a probar si tener plantas dentro de una habitación cerrada baja el Co2 emitido por el humano que duerme dentro 😉
Por las noches las plantas emiten CO2 aunque salvo que vivas en un invernadero la cantidad es insignificante respecto a un humano.
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)
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
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)
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
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.
Perfecto, compraré entonces los cables dupont también, pues soldador y estaño ya tengo.
Un abrazo!
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” // Although Wire.h is part of the Ardunio GU
#include
#include
Las puedes encontrar por ejemplo aquí: https://www.arduinolibraries.info/
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.
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
Me has hecho comprar un sensor 🙂 para pruebas sobre el co2, de la demás cosas ya tengo
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
Sí, creo que sí es compatible. Aunque no sabría decirte como hacerlo.
Un saludo
y no hay un sensor fiable que ya venga todo listo? Pro ejemplo, esa estación meteorológica que vende Netatmo… será fiable?
No lo se, lo siento, seguro que lo hay, igual que seguro que los hay malos, pero no sabría decirte modelos fiables.