CO2 Gadget: Medidor de CO2 avanzado

Última modificación el 26 noviembre, 2021

CO2 Gadget es un firmware para crear medidores de CO2 de alta calidad, con sensores opcionales de partículas en suspensión, temperatura, humedad, presión atmosférica y otros que nos permiten analizar la calidad del aire que respiramos.

En este este artículo te voy a presentar y te voy a enseñar a instalar y utilizar, la versión avanzada de CO2 Gadget, el medidor de CO2 con App para Android e iOS, mediante Bluetooth, basado en el proyecto del fabricante sueco de sensores Sensirion, pero con varias vueltas de tuerca más.

CO2 Gadget es un medidor de CO2 (y mucho más) fácil de construir, fácil de grabar y fácil de usar.

Este medidor es igual o más fácil de montar que CO2 Easy (el del tutorial de Medidor de CO2 de este blog de toda la vida). Perfecto para usuarios que solo quieren un medidor, sin complicarse la vida, aunque nunca hayan tenido ningún contacto con los proyectos electrónicos ni tengan inclinaciones técnicas.

Características destacadas de CO2 Gadget

Entre las funcionalidades interesantes implementadas, podrás encontrar las siguientes características destacadas:

  • Visualización en tiempo real en pantalla, página web y puerto serie
  • Gestión y configuración a través de un cómodo menú en pantalla
  • Tres modos de comunicación: WIFI, ESP-Now(*) y Bluetooth
  • Muchos sensores de CO2 populares compatibles: Sensirion SCD30, Sensirion SCD40, Sensirion SCD41, Senseair S8 LP, MH-Z19, Cubic CM1106
  • Soporte de pantalla TFT LED en color
  • ‎Soporte de pantalla OLED(*)
  • Envío de datos por MQTT
  • ‎Compatible con la aplicación de calidad del aire Sensirion MyAmbiance para iOS y Android con visualización en tiempo real, gráficos y acceso a datos históricos‎
  • ‎Envío de datos a sistemas domóticos, y otros, través de MQTT‎
  • Recepción de comandos remotos mediante MQTT‎
  • Configuración mediante página web(*)
  • Actualizaciones a través de su página web(*)
  • Registrador de datos local (data logger) con carga al teléfono por BLE‎ (Bluetooth de Bajo Consumo)

(*) indica una característica próximamente disponible

¿A quién está dirigido CO2 Gadget?

El medidor CO2 Gadget va dirigido a todo el mundo, aunque si me obligas a hacer distinciones, te diré que está dirigido a dos tipos de público:

  • Usuarios que quieren un medidor de calidad, sin complicaciones y a buen precio
  • Usuarios con inquietudes técnicas que quieren partir de una buena base para adaptar el funcionamiento del medidor de CO2 a su gusto y a sus necesidades.

Si eres de los primeros, aquí debajo vas a encontrar toda la información que vas a necesitar. Si eres un usuario técnico, te adelanto que estoy escribiendo un artículo con información para que empieces el cacharreo pero, si tienes cierto nivel, ni siquiera lo necesitarás: tienes todo lo necesario en el repositorio de CO2 Gadget en GitHub (ya sabes, ¡usuarios técnicos solamente!). CO2 Gadget es Open Source.

¿Qué necesito para construir el medidor CO2 Gadget?

Básicamente necesitas tres cosas: una placa con el chip ESP32, un sensor de CO2 y el firmware (el programa que lo hace funcionar).

Puedes construir tu CO2 Gadget utilizando muchos sensores y placas diferentes, de manera que las posibilidades de elección son enormes.

Este artículo está dedicado al firmware, por lo que te recomiendo que para el montaje del medidor sigas uno de los tutoriales que he escrito y que podrás encontrar en este mismo blog. Por ejemplo:

Este es un medidor de CO2 que puedes construir en menos de una hora con solo dos componentes y cuatro soldaduras. Puedo decir, sin temor a equivocarme, que es el medidor de CO2 más fácil de montar que vas a encontrar.

El firmware CO2 Gadget es un firmware de fácil uso, listo para grabar en una placa ESP32 con un solo click.

Al tratarse de un proyecto Open Source, de código abierto, tienes a tu disposición todo su código fuente para que lo analices, lo modifiques, aprendas de él o hagas con él lo que quieras.

Algo muy bonito que puedes hacer es contribuir con tus mejoras al código de CO2 Gadget para que otros usuarios se puedan beneficiar de ellas. ¿Diseñaste una nueva pantalla de visualización porque las que traía no te convencían? ¡Compártela!

Uso del medidor CO2 Gadget

El uso del medidor no puede ser más sencillo. Solamente tienes que encenderlo, abrir la App Sensirion MyAmbience en el móvil y ver los valores. Tan sencillo como eso.

A lo mejor también te interesa:  Sensores de CO2 MH-Z19B FALSOS

Si has montado una de las versiones con pantalla, nada más encenderlo podrás ver las medidas en pantalla, sin tener que hacer nada más.

Al encender por primera vez CO2 Gadget tendrá una configuración por defecto que consistirá en:

OPCIONVALOR POR DEFECTO
BLE (Bluetooth Low Power)ON
WifiOFF
MQTTOFF
Color verdeHasta 700 ppm
Color naranjaHasta 1000 ppm
Color rojoA partir de 1000 ppm

Esto significa que nada más encender el medidor por primera vez CO2 Gadget estará preparado para mostrar los datos en tu móvil o tablet sin que tengas que hacer nada más.

Todos estos valores por defecto podrás cambiarlos fácilmente a través del menú en pantalla (o mediante USB) para adaptarlos a tus gustos, preferencias o necesidades. Pronto podrás también cambiarlos a través de una página web.

CO2 Gadget dispone de muchas funcionalidades y opciones que puedes utilizar (si quieres) y a continuación te voy a hablar de cada una de ellas.

Modo de funcionamiento Bluetooth

El modo de funcionamiento mediante bluetooth es el modo por defecto de medidor.

En este modo, el medidor envía su medidas mediante bluetooth a tu móvil (Android o iOS) donde una App instalada te permite visualizar los valores de dichas medidas en tiempo real, y consultar históricos.

La App también te permite exportar los datos históricos, por si quieres utilizarlos de algún modo (cargarlos en Excel, por ejemplo).

Esta es una opción muy interesante si lo que quieres es tener un medidor de CO2 de uso sencillo sin necesidad de envío de datos a internet o de integración con otros sistemas.

Solamente tienes que instalar la App Sensirion MyAmbience desde las tiendas oficiales de Google o Apple, dependiendo de tu dispositivo.

Modo de funcionamiento WiFi

Este modo te permite acceder al medidor mediante un navegador web para visualizar las mediciones en tiempo real.

Cuando el modo WiFi está activo es posible acceder a dos páginas web generadas por el medidor.

La primera, en http://ip_del_medidor muestra una página web con las medidas tomadas por el medidor en tiempo real con unos gráficos representando dichas medidas.

Página web de CO2 Gadget

La segunda, en http://ip_del_medidor/simple muestra una table sencilla en la que podemos ver las medidas.

En ambas páginas los datos se actualizan en tiempo real sin necesidad de recargar la página.

Para la integración del medidor con otros sistemas tenemos tres url (API end points) en las que tenemos acceso a las medidas en formato texto:

Última medida de concentración de CO2:

http://ip_del_medidor/readCO2

Valor actual de temperatura:

http://ip_del_medidor/readTemperature

Valor actual de la humedad relativa:

http://ip_del_medidor/readHumidity  

Deberás sustituir «ip_del_medidor» por la dirección IP del medidor en tu red. Como verás abajo, la forma más fácil de ver dicha dirección es en el menu «Información» de CO2 Gadget. Por ejemplo:

http://192.168.1.201

Para no tener que saber la IP y poder acceder mediante el nombre, CO2 Gadget implementa mDNS (también conocido como Multicast-DNS). De esta manera podrás acceder al medidor tecleando su nombre de Host en la barra de direcciones de tu navegador seguido de la extensión .local, por ejemplo:

http://CO2-Gadget.local

Puedes ver el nombre de Host en la pantalla de configuración del WiFi (y también a través del USB en el momento de arrancar).

El soporte de mDNS (Multicast-DNS) no está disponible en todos los ordenadores, depende de tu sistema operativo y su versión. Si utilizas Windows y tu versión no soporta mDNS la forma más rápida y sencilla de hacer que lo soporte es instalando los Servicios de impresión Bonjour para Windows de Apple.

De momento las páginas mostradas son muy sencillas pero las iremos trabajando para mejorarlas. Si sabes HTML y CSS puedes ayudar a mejorarlas y te estaré muy agradecido (y muchos usuarios más, te lo aseguro).

En el futuro podrás además ver los históricos y configurar el medidor.

(*) En este momento no puedes utilizar las páginas web si tienes activado el BLE (Bluetooth Low Energy). Espero que pronto las páginas web estén siempre disponibles, tengas o no el BLE activado.

Envío de datos por MQTT

El soporte del protocolo MQTT abre un amplio horizonte de posibilidades a la hora de enviar los datos generados por el medidor a otros sistemas como, por ejemplo, sistema de domótica, almacenarlos en una base de datos o visualizarlos.

Yo lo utilizo con un broker Mosquitto y Nodered, lo que me permite procesarlos, almacenarlos en una base de datos InfluxDB y visualizarlos y analizarlos fácilmente en Grafana, consiguiendo gráficos como estos:

Como puedes imaginar la funcionalidad MQTT necesita una conexión WiFi para funcionar.

Además de enviar datos mediante MQTT, CO2 Gadget también es capaz de recibirlos. Concretamente puede recibir los siguientes dos comandos, que pueden ser muy útiles:

  • topic/calibration ppm: Enviando un mensaje con el topic «topic/calibration» y un número entre 400 y 2000 en el Payload (normalmente 400) podemos ordenar a CO2 Gadget que realice una calibración del sensor a esa concentración.
  • topic/ambientpressure mbar: Enviando un mensaje con el topic «topic/ambientpressure» y el valor de la presión atmosférica en milibares indicaremos al sensor de CO2 que realice la compensación de concentración de CO2 por presión atmosférica.
A lo mejor también te interesa:  Datos de radiactividad de Madrid en tiempo real

Configuración de CO2 Gadget

El medidor CO2 Gadget es muy fácil de configurar a través de su menú en pantalla o del puerto serie (y próximamente la página web).

Menú en pantalla

La navegación por el menú en pantalla se hace mediante los dos botones del frontal del medidor de la siguiente forma:

  • Pulsación corta en el botón superior = Arriba
  • Pulsación corta en el botón inferior = Abajo
  • Pulsación larga en el botón superior = Enter/seleccionar
  • Pulsación larga en el botón inferior = Back/deseleccionar

Verás que, a pesar de tener solamente dos botones, el uso del menú es muy sencillo y enseguida lo tendrás dominado.

Menú por puerto serie

Si has decidido montarte un medidor sin pantalla, no hay problema. Puedes utilizar el menú a través del puerto serie, utilizando cualquier programa de terminal, utilizando las siguientes teclas del teclado numérico de tu ordenador:

  • Tecla / = arriba
  • Tecla * = abajo
  • Tecla = Enter/seleccionar
  • Tecla + = Back/deseleccionar

Además, puedes utilizar directamente los números y letras del teclado para introducir datos.

El menú es exactamente igual en la pantalla y en el puerto serie. Lo que veas en una verás en otra, y además simultáneamente.

A continuación te voy a explicar cada una de las opciones de los menús de configuración y lo voy a ir haciendo en el mismo orden en el que se muestran.

Menú principal

En el menú principal puedes ver el voltaje de la batería (o el del alimentador o cargador, si está conectado) y puedes entrar a otros tres sub-menús: Información, Calibración y Configuración. Con la última opción, Exit, puedes salir del menú y regresar a la pantalla principal con los datos medidos.

Información

En este menú tienes información útil sobre el medidor.

  • Comp: La fecha de compilación de CO2 Gadget en formato MMM DD AAAA
  • Versión: El número de versión del firmware CO2 Gadget cargador en el medidor
  • IP: La dirección IP del medidor, si está conectado a una red WiFi. Si la red está desconectada aparecerá «Disconnected» y si el WiFi está desactivado aparecerá «Disabled»
  • Back: Regresa al menú anterior

Calibración

Aquí puedes activar y desactivar la calibración automática del sensor de CO2 así como realizar su calibración manual.

  • Autom. Cal.: Te permite activar y desactivar (ON/OFF) la calibración automática del sensor de CO2
  • Calibrate at 400ppm: Seleccionando esta opción con una pulsación larga puedes calibrar el sensor a 400ppm
  • Custom Cal: Te permite especificar una concentración entre 400 y 2000 ppm a la que quieres realizar la calibración
  • Calibrate at custom: Realiza la calibración a la concentración especificada en el punto anterior
  • Back: Regresa al menú anterior

Ten en cuenta que la opción «Calibrate at custom ppm» está destinado a usuarios avanzados y no la recomiendo para usuarios inexpertos. Su principal utilidad es la de poder calibrar el sensor de CO2 utilizando otro sensor de CO2 de referencia.

Configuración

En este menú, con varias opciones y sub-menús, puedes configurar diferentes opciones de CO2 Gadget.

Las opciones y sub-menús disponibles son las siguientes:

  • BLE Config: Activación y desactivación de BLE (Bluetooth Low Energy) y sus ajustes
  • WIFI Config: Activación y desactivación de WiFi y sus ajustes
  • MQTT Config: Activación y desactivación MQTT y sus ajustes
  • Battery Config: Configuración de la batería
  • Brightness 150: Nivel de brillo de la pantalla
  • Save preferences: Guarda las preferencias en la NVR (memoria no volátil) para que sean permanentes aunque quites la alimentación del medidor
  • Back: Regresa al menú anterior

BLE Config

BLE (Bluetooth Low Energy) es la tecnología de comunicación vía radio que CO2 Gadget utiliza para comunicarse, por ejemplo, con tu teléfono móvil.

Si quieres visualizar los datos de CO2 Gadget en la App MyAmbience necesitas que esta opción esté encendida (ON).

Ten en cuenta tras activar o desactivar esta opción tendrás que reiniciar el medidor (por ejemplo pulsando el botón reset) para que los cambios tomen efecto.

WIFI Config

En este menú podrás activar y desactivar el WiFi. Pronto podrás también configurar sus parámetros.

  • WiFi Enable: ON/OFF: Con esta opción puedes activar y desactivar el WiFi. Interesante si no lo vas a usar, por ejemplo fuera de casa, para aumentar la duración de la batería.
  • SSID: Debes introducir el SSID, el «nombre», del punto de acceso al que quieres que CO2 Gadget se conecte.
  • Pass: Debes introducir la clave de tu red WiFi.
  • Host: El nombre de host o hostname de CO2 Gadget en la red

Aviso de seguridad/privacidad: Ten en cuenta que, hoy por hoy, la cave es visible en este menú. En el futuro estará «enmascarada» con asteriscos para que no sea visible.

MQTT Config

Aquí puedes configurar todo lo que tenga que ver con la comunicación MQTT de CO2 Gadget.

Dispones de las siguientes opciones:

  • MQTT Enable: Activa (ON) o desactiva (OFF) las funcionalidades de comunicación MQTT del medidor.
  • Topic: Topic en el que CO2 Gadget enviará y recibirá los mensajes.
  • Id: El Client Id o Identificador de Cliente que CO2 Gadget utilizará al conectarse al broker. Este identificador debe ser único (no debe haber más de un dispositivo con el mismo identificador).
  • IP: Es la dirección IP del broker MQTT (servidor) al que CO2 Gadget debe conectarse.
  • Back: Regresa al menú anterior
A lo mejor también te interesa:  Utilizar un zumbador (buzzer) con ESP Easy

Battery Config

En este menú puedes configurar diferentes aspectos relacionados con la batería.

Estos parámetros son un poco técnicos y puedes ignorarlos por completo si quieres. Sirven para que el voltaje mostrado en pantalla coincida con el voltaje real de la batería.

  • Battery: Voltaje actual de la batería (o de la alimentación externa si está conectada).
  • Voltage ref: Valor de la referencia interna de voltaje.
  • Bat Full (mV): Valor en milivoltios que coincide con el voltaje de la batería cuando está completamente cargada.
  • Bat Empty (mV): Valor mínimo en milivoltios cuando asumimos que la batería está completamente descargada (momento en el que el medidor de apaga o empieza a dar medidas erróneas por tener un voltaje demasiado).
  • Back: Regresa al menú anterior

Si no tienes un voltímetro, puedes hacer la siguiente calibración, que es muy sencilla y te dará un voltaje de la batería muy cercano al real: Conecta el medidor a un alimentador o cargador USB y ajusta el valor de «Voltage ref» para que el voltaje leído de la batería marque aproximadamente 5.00 voltios (en las placas en las que lo he probado el valor de Voltage ref está sobre 940mV).

Screen Config

Aquí tienes opciones relacionadas con la pantalla de CO2 Gadget y como la gestiona.

  • Brightness: Brillo de la pantalla.
  • Time To Off: Tiempo en segundos sin pulsar un botón para apagar la pantalla. Útil para ahorrar batería. La pantalla se encenderá de nuevo pulsando brevemente un botón. Poniéndolo a 0 se desactiva (pantalla siempre encendida).
  • Off on USB: Te permite indicar si quieres que la pantalla también se apague si CO2 Gadget está funcionando con energía externa (USB, por ejemplo). En este caso puede no ser necesario apagarlo para ahorrar batería pero a lo mejor quieres apagarlo para que no te moleste la luz si lo tienes en la mesilla de noche.

Grabación de CO2 Gadget Advanced

Grabar el firmware en la placa con el ESP32 es super fácil. No tienes que descargar ni instalar nada en tu PC.

Pulsa el botón correspondiente a la versión que quieres instalar, selecciona el puerto donde tienes conectada tu placa y pulsa “Conectar”. Así de simple, la grabación del ESP32 de la placa se hará en un momento sin más complicación con solo dos clicks.

Grabación fácil

Versión: v0.3.079 creada el 21-11-2021 a las 09:24:57 GMT para ESP32

Versión normal

Esta versión es adecuada para placas LILYGO® TTGO T-Display con el sensor montado con las conexiones I2C de la forma normal (sin invertir, SDA al pin GPIO21 y SCL al pin GPIO22).

¡Tu navegador no es compatible! Tienes que usar Windows con Microsoft Edge o Google Chrome para ver el botón

Versión sándwich

Esta versión es adecuada para placas LILYGO® TTGO T-Display con el sensor montado con las conexiones I2C invertidas (como en el montaje sándwich) con el SDA conectado al pin GPIO22 y SCL conectado al pin GPIO21

¡Tu navegador no es compatible! Tienes que usar Windows con Microsoft Edge o Google Chrome para ver el botón

Grabación con borrado de memoria

Estas versiones son iguales que las anteriores con la diferencia de que antes de grabar el ESP32 borran la memoria (no conservan la configuración que tuvieras).

Versión: v0.3.079 creada el 21-11-2021 a las 09:24:57 para ESP32
.

Versión normal

¡Tu navegador no es compatible! Tienes que usar Windows con Microsoft Edge o Google Chrome para ver el botón

Versión sándwich

¡Tu navegador no es compatible! Tienes que usar Windows con Microsoft Edge o Google Chrome para ver el botón

Descarga del firmware (binarios)

El método anterior es el más sencillo para grabar el ESP. Si prefieres grabarlo de otra forma, aquí tienes los ➡ enlaces a los binarios de CO2 Gadget para que los puedas descargar.

Versión sándwich Beta-Desarrollo

Esta es una versión de pruebas Beta-Desarrollo de la versión sándwich y no está destinada para el uso general (te recomiendo que uses las anteriores a menos que te haya dicho en el grupo de Telegram que uses esta por algún motivo).

Se trata de la versión: v0.3.085-dev creada el 26-11-2021 para ESP32
.
¡Tu navegador no es compatible! Tienes que usar Windows con Microsoft Edge o Google Chrome para ver el botón

Comparte este artículo

Muchas gracias por colaborar con lo más difícil de este proyecto: COMPARTIRLO Y DARLO A CONOCER. De nada sirve lo mucho que yo pueda trabajar en estos tutoriales y proyectos si la gente no los llega a conocer. ¡MUCHAS GRACIAS A TODOS LOS QUE COMPARTÍS!

Justo debajo tienes unos botones que te facilitarán compartirlo en Facebook, Twitter, WhatsApp y Telegram.

❤

2 comentarios en «CO2 Gadget: Medidor de CO2 avanzado»

Deja un comentario