ThingSpeak

Vamos a comenzar por abrir una cuenta gratuita en ThingSpeak y a configurar un canal. Es un proceso bastante sencillo, vamos a ver varias capturas de pantalla y apuntaremos algunas cosas que son optativas y otras que de momento no son necesarias, pero así ya las tenemos todas ahí a mano.

Creación de un canal

https://thingspeak.com/

Para crear una cuenta sólo hay que pinchar en el botón verde o en el monigote de la esquina superior derecha y después en el link de No account? Create one! que hay bajo el campo para introducir el correo electrónico y seguir los pasos. No tiene más misterio.

Creación de un canal

Ya tenemos la cuenta creada, así que es momento de crear nuestro primer canal:

Simplemente pinchar el botón y apareceremos en la siguiente pantalla. Hemos colocado ya unos datos de ejemplo de cómo tiene que quedar, más o menos:

 

 

Para empezar bautizaremos al canal con el nombre que queramos, ese será el que aparezca en pantalla, así que “sensor de casa” no es la opción más atractiva de cara al público, pero como ejemplo vale.

En descripción, pues eso, cuatro palabras que definan lo que estamos haciendo.

Lo importante viene ahora: Hay que crear un campo por cada tipo de dato que queramos mandar. Como puede verse se pueden definir hasta ocho campos. en nuestro caso vamos a mandar datos de temperatura, humedad y CO2, así que activaremos tres campos recordando qué valor pasaremos a qué campo, en el ejemplo vemos que el 1 será temperatura, el 2 humedad y el 3 el de CO2

El resto de apartados son opcionales. En este caso hemos puesto algunas palabras claves en tag y un link a este blog para quien busque más información.

No obstante, el campo “Metadata” sí que puede hacer cosillas interesantes, pero como es completamente optativo lo dejaremos para una posterior entrada llegado el momento.

Una vez creado el canal nos encontraremos en una pantalla como la siguiente:

Por defecto el canal nos aparece como “Privado”. Vemos marcado en amarillo que tenemos dos tipos de vistas, una privada, la actual, y otra pública. Mientras tengamos el canal en privado sólo lo podemos ver nosotros. Si queremos pasarlo a Público tendremos que ir a la pestaña Sharing y marcar “Share channel…”

Si hacemos esto tenemos que configurar ambas vistas, la pública y la privada. Si lo deseamos, podemos añadir Widgets (marcado en la imagen anterior en azul) en una vista, en otra o en ambas. Esto lo vemos más adelante, vamos ahora a lo que nos interesa.

API Key

Estos son los datos que vamos a necesitar para mandar información desde nuestro ESP32 a TingSpeak: El Channel ID y la Write API Key, y estos datos se encuentran en la pestaña API Keys:

Copiamos el identificador del canal y la API Key de escritura. ¡OJO! esta clave de escritura es privada y debe guardarse a buen recaudo o cualquiera que la tenga podría escribir en nuestro canal. Vale, ahora mismo seguro que hay alguien pensando -Jodo Wampi, y tú vas, le echas una foto y la cuelgas en Internet, ababol- Ya, bueno. Si pensáis que puede haberse filtrado o a alguien se le ocurre hacer como yo, lo de airearla a los cuatro vientos, es fácil: basta con pulsar en el botón que hay justo debajo de la clave y se generará una nueva invalidando la actual (como podéis sospechar, la de la foto ya está cambiada nada más tomarla). El inconveniente de este desliz, si lo hay, es que nos obligará a reprogramar nuestros dispositivos con la nueva clave, pero nada más (o nada menos).

MQTT API Key

Esto no vamos a usarlo, de momento, pero más adelante, si deseamos mandar los datos a una DB  podemos generar una API para ello y ThingSpeak actuará como broker MQTT permitiendo suscripciones a nuestro canal mediante dicha API.

Para generar dicha API hay que ir a la opción My Profile que encontraremos en el menú de la esquina superior derecha:

Allí vemos que hay unos cuantos datos más o menos privados y que el campo MQTT API Key aparece vacío. Pinchando en el botón junto a él generaremos dicha clave, la apuntaríamos y a seguir. Pero como digo, esto no es necesario ahora, tan sólo lo dejamos apuntado para más adelante.

Widgets

Cada campo va a disponer de su propio gráfico que es ligeramente configurable, pero además del gráfico podemos añadir otros widgets. Repito lo dicho unos párrafos antes: cada configuración de gráficos y/o widgets es independiente en la vista privada y la pública.

Para añadir un widget, primero lo seleccionamos, por ejemplo un reloj:

Y lo configuramos a nuestro gusto:

Damos a salvar y luego lo podemos arrastrar a la posición que queramos, en este ejemplo quedaría así:

Y ya está. ThingSpeak ofrece más opciones, aquí hemos visto las que vamos a necesitar ahora y hemos apuntado alguna más. Para el resto es cosa de cada cual profundizar y configurar a su gusto.

Ah! Una cosa: Estamos con una cuenta gratuita, nos dejan usar 4 canales, cada uno puede tener 8 campos, podemos usarlo todo, pero no nos volvamos locos con el número de datos que enviamos que hay un límite, esto aparece en el apartado My Account:

¡Listo! A la siguiente entrada nos liamos ya con el código.

¡Hasta pronto!

Niveles y alertas

A la hora de programar nuestro montaje había que definir alguna alarma y colocar alguna indicación en ThingSpeak que informara sobre la medida que estábamos obteniendo. ¿Son 735 ppm de CO2 una medida correcta? ¿Y una humedad del 37%? ¿Hace demasiado frío si estamos a 18 ºC?

Una cosa es “lo que nos pueda parecer” y otra “lo que es”, que a veces no siempre coinciden y no se trata de tener ojo de buen cubero. Había que buscar en normativas y consejos de expertos.

Comencemos por el CO2

El Ministerio de Sanidad tiene publicado el Documento Técnico: “Evaluación del riesgo de la transmisión del SARS-CoV-2 mediante aerosoles. Medidas de prevención y recomendaciones”

https://www.mscbs.gob.es/profesionales/saludPublica/ccayes/alertasActual/nCov/documentos/COVID19_Aerosoles.pdf

Respecto a la concentración de CO2, en el punto 5.5.1.1 encontramos

Se podría establecer un umbral de 800-1000 ppm de concentración de CO2 que no debería superarse como garantía de una buena ventilación. Esta concentración de CO2 está muy lejos de ser perjudicial para la salud humana y sólo debe interpretarse como indicador para la necesidad de ventilación.

También, como referencia de concentración de CO2 en el exterior, marca los siguientes valores:

En el exterior, las concentraciones de CO2 son de aproximadamente 420-450 ppm aunque puede variar de entornos urbanos o rurales

Estos niveles de concentración de aire en el exterior no son fijos, tal como pone, y desde luego pueden variar considerablemente en distintos núcleos y zonas urbanas. Si algo tiene de bueno el cierzo de Zaragoza es que hará bajar esa medida los días que le da por soplar, que son unos cuantos al cabo del año. Sin duda alguna, la concentración de CO2 en Zaragoza en uno de esos días será muy distinta a la que pueda mostrar Madrid en uno de los que luce su grisácea “boina”. Si alguien tiene más interés en el tema, Greenpeace tiene un interesante artículo aquí:

https://es.greenpeace.org/es/sala-de-prensa/comunicados/maximo-historico-de-concentraciones-de-co2-en-la-atmosfera/

Siguiendo con las normativas, tenemos el RITE, Reglamento de Instalaciones Térmicas en los Edificios, que está publicado en el BOE. Es el Real Decreto 1027/2007:

https://www.boe.es/eli/es/rd/2007/07/20/1027

Si nos vamos a la Parte II. Instrucciones Técnicas, en el apartado IT 1.1.4.2.2 aparecen las categorías de calidad del aire interior en función del uso de los edificios. Con la siguiente catalogación:

    • IDA 1 (aire de óptima calidad): hospitales, clínicas, laboratorios y guarderías.
    • IDA 2 (aire de buena calidad): oficinas, residencias (locales comunes de hoteles y similares, residencias de ancianos y de estudiantes), salas de lectura, museos, salas de tribunales, aulas de enseñanza y asimilables y piscinas.
    • IDA 3 (aire de calidad media): edificios comerciales, cines, teatros, salones de actos, habitaciones de hoteles y similares, restaurantes, cafeterías, bares, salas de fiestas, gimnasios, locales para el deporte (salvo piscinas) y salas de ordenadores.
    • IDA 4 (aire de calidad baja)

La catalogación IDA 2 encaja en el ámbito universitario donde desarrollo mi trabajo. Ahora, si vamos a la tabla 1.4.2.3 encontramos lo siguiente:

Categoría ppm(*)
IDA 1 350
IDA 2 500
IDA 3 800
IDA 4 1200
(*) Concentración de CO2 (en partes por millón en volumen) por encima de la concentración en el aire exterior

Es decir. Para una catalogación IDA 2 se da por buena una concentración de 500 ppm de CO2 por encima de la concentración de aire en el exterior. Ahora bien, en este reglamento no define dicha concentración exterior.

Podríamos atender al documento del Ministerio de Sanidad y sumar entre 420 ó 450 ppm al valor de la tabla, pero no sería del todo acertado para nosotros por lo siguiente: Nosotros vamos a emplear un sensor autocalibrado MH-Z19B y este sensor “estima” que la concentración de CO2 en el exterior es de 400 ppm (“the zero point”), ver datasheet apartado 8.C Self-calibration:

https://www.winsen-sensor.com/d/files/infrared-gas-sensor/ndir-co2-sensor/mh-z19b-co2-manual(ver1_6).pdf

Bien, pues con estos datos, tendríamos que si nuestro sensor nos marca una concentración de hasta 900 ppm (400 del zero point + 500 que establece IDA 2) el aire se entendería “correcto”.

Ahora bien, el RITE se elaboró hace algunos años y no precisamente en un contexto de pandemia como el actual. Si bien esos valores ahora son plenamente vigentes, hemos de tener en cuenta que una concentración superior de CO2 nos indicará que el aire está “viciado” y lo que en condiciones normales podría provocar una cierta somnolencia, incomodidad, etc. ahora se puede convertir en un contagio por SARS-CoV-2, que es precisamente lo que queremos evitar midiendo la concentración de CO2. Entonces, con los datos que tenemos, creo que se puede concluir que una lectura que nos arroje el sensor por encima de 900 nos debería “obligar” a abrir las ventanas.

Pero aún hay más.

El Dr. José Luis Jiménez, verdadero experto en la materia, recomienda mantener la concentración de CO2 por debajo de 700 ppm. Hay una entrevista interesantísima aquí:

http://www.medicosypacientes.com/articulo/dr-jose-luis-jimenez-un-confinamiento-supone-un-fracaso-de-las-medidas-mas-inteligentes-no

Pues bien, con todos estos datos, vamos a programar un par de alertas en el montaje que nos indiquen cuándo tenemos que abrir las ventanas. Así pues, tomamos como referencia el valor indicado por el Dr. Jiménez y situamos la primera alerta en 700 ppm y para la segunda, tomaremos el valor de 900 según la normativa RITE. Es decir, vamos a movernos entre 700 y 900 en lugar de entre 800 y 1000 que indica Sanidad, pero recordamos que nuestro sensor “cree” que en la calle hay 400 ppm y Sanidad indica que puede haber entre 420 y 450. En la primera alerta haremos destellar el led azul y en la segunda se alternará el azul y el rojo.

De todos modos, este sensor tampoco es el paradigma de la precisión, tiene un margen de error del 5% que es bastante amplio. Lo que se ha pretendido con toda la parrafada anterior es “justificar” de donde han salido los valores para fijar las alertas, pero sería absurdo intentar fijar unos valores exactos con los materiales que vamos a usar. Con un MH-Z19B podemos tener una buena referencia, muy buena referencia, y nos es perfectamente útil para nuestros propósitos, pero nada más. Aunque tampoco necesitamos una precisión de 1 ppm para saber cuándo tenemos que abrir la ventana.

Humedad

En cuanto a la humedad, el Real Decreto 486/1997 por el que se establecen las disposiciones mínimas de seguridad y salud en los lugares de trabajo determina, en el punto 3.b del Anexo III, unos valores comprendidos entre el 30 y el 70 por ciento.

https://www.boe.es/eli/es/rd/1997/04/14/486/con

Sin embargo, en el punto 4.4 del Documento Técnico del Ministerio de Sanidad mencionado anteriormente se fijan unos valores de entre el 40% y el 60%

Por todo lo expuesto, se puede decir que la HR ideal en ambientes interiores estaría entre el 40% al 60%. Estas condiciones pueden ayudar a limitar la propagación y supervivencia del SARSCoV-2 en estos espacios, al tiempo que se minimiza el riesgo de crecimiento de moho y se mantienen las barreras mucosas hidratadas e intactas de las personas

Temperatura

No he encontrado unos valores de temperatura idóneos para la lucha contra la Covid-19, por tanto, los valores que se considerarán como “aconsejables” serán los que marca la normativa de seguridad y salud en los lugares de trabajo, que en el apartado 3.a del Anexo III establece entre 17 y 27 ºC

Adicionalmente, la Universidad de Zaragoza tiene publicada la “Instrucción para la reducción de las consecuencias para la salud de los trabajadores por temperaturas extremas en edificios de la Universidad de Zaragoza”, aquí:

http://uprl.unizar.es/procedimientos/temperaturas.pdf

De los límites mencionados en la instrucción es de donde salen las distintas zonas indicadas en ThingSpeak fuera del rango de entre 17 y 27 ºC, que no se van a detallar aquí dado el restringido ámbito de aplicación de dicho procedimiento.

 

Nota: La imagen de cabecera se ha realizado utilizando como base una imagen de Pexels disponible en Pixabay

 

 

Materiales empleados

En la entrada anterior ya mencionaba los materiales que había ido probando. En esta voy a detallar con los que me he quedado para seguir haciendo pruebas y diseños. El coste de los mismos puede variar bastante según dónde lo compremos, cuestión de buscar. No voy a recomendar enlaces de compra pero voy a poner los precios aproximados más baratos que se pueden encontrar.

Sensor de CO2

Es el corazón del proyecto, lo que vamos a construir gira en torno a él. He optado por unos MH-Z19B que fabrica Winsen:

https://www.winsen-sensor.com/sensors/co2-sensor/mh-z19b.html

Sensor MH-Z19B

Es un sensor NDIR (sensor de infrarrojo no dispersivo) que realiza un autocalibrado y además posee salidas PWM y UART. De momento estoy realizando las lecturas a traves de la salida PWM y eso permite no usar ningún tipo de librería, simplemente realizando los cálculos indicados en el datasheet, una simple regla de tres.

https://www.winsen-sensor.com/d/files/infrared-gas-sensor/ndir-co2-sensor/mh-z19b-co2-manual(ver1_6).pdf

Hay varias versiones: con pines, sin pines y con conector. Mi consejo es pedir un modelo con pines, que facilita el montaje en las protoboards.

Estos sensores pueden encontrarse por unos 18 euros con los gastos de envío incluidos.

Y un aviso: Tal como pone en este blog, los hay falsos:

¿Sensores MH-Z19B falsos?

¡Vaya que si los hay! A mi me colaron uno y puedo corroborar que va como una escopeta de feria y las mediciones que arroja son inferiores a lo normal. No son en absoluto fiables. Mi consejo es que si se recibe un sensor de las características indicadas se devuelva de inmediato, sin más pruebas.

Aquí se puede ver el aspecto comentado en el blog anterior: Ni rebordes ni protuberancias en la chapa, placa completamente negra y hasta la etiqueta está puesta tal cual con un código QR diferente.

Sensor MH-Z19B falso

Espero que los otros dos que tengo sean auténticos… al menos si son falsos están muy bien hechos y parece que funcionan correctamente.

Sensor de temperatura y humedad

En este caso es el conocidísimo DHT22, montado ya en una placa para ahorrarnos trabajo

Sensor DHT22

Este sensor puede salir por unos 3 euros con los gastos.

La placa

La elegida ha sido una basada en el ESP32: Tiene Wifi es dual core y un montón de cosas más que podremos aprovechar en otros proyectos. Además, para todo lo que llevan, son muy económicas. Con gastos de envío la podemos tener por unos 4 euros.

Placa con el ESP32

Pantalla

Los datos los subiremos a la nube, pero para tener una lectura de los valores que se van capturando hace falta una pantalla.

Una de reducido tamaño, bajo consumo y que viene perfecta para nuestros propósitos son unas pantallas OLED de 128×60 con cuatro pines de conexión: GND, VCC, SCL y SDA

Son monocromáticas, disponibles en blanco o azul. También hay en estos mismos colores con la parte superior en amarillo. Hay librerías para usarlas con la ESP32 y por unos 2,50€ gastos incluidos las tenemos en casa.

Pantalla OLED

Diodo led

Para “llamar la atención” si los niveles de CO2 suben por encima de lo aconsejado he puesto un par de diodos led. En el montaje inicial, que es la imagen de cabecera, sólo hay uno de color azul. Estos azules funcionan a 3,6v y como la salida digital del ESP32 arroja 3,3 no vamos a necesitar resistencia y funciona perfectamente.

Son tremendamente baratos, contando los gastos de envío, que cuesta casi lo mismo que el paquete, podemos tener 100 diodos led por 3 euros (sí, cien), bien todos iguales o en colores surtidos.

Diodos LED

Si vamos a usar de otros colores necesitaremos poner una resistencia. El valor de la misma puede obtenerse aquí:

https://www.inventable.eu/paginas/LedResCalculatorSp/LedResCalculatorSp.html

Son muy baratas también, puede adquirirse un surtidillo  por unos dos euros.

Conector Micro-USB

A ver: Podemos alimentar la placa por su conector y utilizar la patilla Vin para obtener “casi” 5v. Pero las protecciones que lleva hacen que se quede en ese “casi”, vienen a ser unos 4,5 más o menos, y el sensor con menos de 5 a mi me ha dado algún problemilla.

Conectores Micro-USB

La solución pasa por usar un conector como los de la imagen y alimentar al sensor por un lado y a la placa a través del pin. La única complicación es que habría que tirar de soldador, pero si no se tiene se puede suplir con algo de creatividad, total sólo tenemos que conectar los agujeros de los extremos: GND para masa y VBUS para el positivo. Eso sí, hay que tener la precaución de desconectar completamente la alimentación si vamos a programar la placa. Como conectemos la placa al ordenador estando alimentada por el pin, podemos liarla parda. Ojito.

Se suelen vender varios juntos. Por 73 céntimos he visto que venden cinco y no te cobran gastos (el sobre debe costar más).

Protoboard

Para hacer pruebas o realizar un montaje sin soldadura, como el de la imagen de arriba, necesitamos unas protoboard.

Esta placa, como sus modelos hermanos y la mayoría de las versiones de las ESP8266, tiene un ancho que ocupa casi toda una protoboard normal de lado a lado, dejando sólo una hilera libre e impidiendo, o en todo caso dificultando bastante, las conexiones. Ver las siguientes imágenes:

Por ello lo más práctico es usar estos otros modelos “mini” que se pueden ensamblar entre ellos y como llevan autoadhesivo se pueden fijar en cualquier superficie. Hay de diversos surtidos y precios: todas del mismo color, en colores diversos… Como es un artículo que abulta algo más que un pequeño sensor, aquí nos podemos encontrar con que los gastos de envío superan tranquilamente el coste del artículo. Podemos tener cinco unidades por unos 3 euros.

Cables Dupont

Hay macho-macho, macho-hembra y hembra-hembra, y en distintas cantidades y longitudes. Para un montaje como el de la imagen se necesitan macho-macho y cortos. Por unos 2 euros seguro que se puede tener un surtidillo más que suficiente.

Otra opción es usar cables de un hilo de 22 awg. Esto permite cortarlos a la medida, se pelan las puntas y listo. Son los que lleva el montaje de la imagen de cabecera, por eso lo menciono. Merece la pena si vamos a cacharrear mucho, y en ese caso también merece la pena adquirir un buen pelacables. Aquí ya no pongo precios porque son opciones más caras y seguramente quien lo necesite ya los conoce.

Alimentador de 5 V.

Un cargador de móvil viejo es más que suficiente. Todos los componentes son de un consumo muy reducido, con 500 mA tenemos suficiente y eso lo da, creo, cualquier cargador que podamos tener por un cajón.

También se pueden usar otro tipo de alimentadores para circuitos, pero esto ya lo tocaremos en otra entrada porque con ellos hay que tirar de soldador.

Resumen

Con los componentes mencionados cualquiera puede realizar el montaje, no hace falta soldar nada y la programación se verá más adelante.

Según dónde compremos, los costes pueden variar mucho. Además, hay que vigilar también los gastos de envío. Si tenemos intención de montar más de un aparato o nos ponemos de acuerdo con alguien, podemos comprar algunas piezas juntas y ahorrarnos algo. Pero ojo con las cantidades que pedimos y los importes, no sea cosa que en Aduanas nos espere una sorpresa. Además de que siempre es un riesgo pedir sin conocer al proveedor: Si la mercancía te llega defectuosa, como el sensor que he recibido falso, a pelear si estás dentro del plazo de reclamación y si no a comerte la mercancía con patatas. En pedidos pequeños la pérdida es pequeña, pero para cosas serias yo no usaría esta vía ni loco, y ya no por las aduanas, que además me parece totalmente razonable que se cobren los aranceles, sino porque prácticamente estamos comprando artículos sin garantía.

En cuanto al coste del montaje tal como está en la imagen, con los precios mencionados sería:

    • Sensor de CO2: 18 €
    • Sensor de temperatura y humedad: 3 €
    • Placa ESP32: 4 €
    • Pantalla: 2,50 €
    • Diodo led: 3 € (y nos sobran para el árbol de Navidad)
    • Resistencias: 2 € (y también nos sobran, o incluso nos podemos ahorrar esto)
    • Conector Micro-USB: 0,75 € (por redondear)
    • Protoboard: 3 €
    • Cables: 2 €
    • Alimentador: Ya será raro que no haya ninguno por algún cajón, pero si hubiera que comprarlo lo podemos encontrar por unos 3 € e incluso menos.

TOTAL: 40€ A ojo de buen cubero (41,25 da la suma de las cantidades anteriores). Porque este importe puede variar bastante hacia un lado u otro si compramos en el lejano oriente varias piezas a la vez o si lo hacemos en otros proveedores no tan lejanos y queremos tenerlo todo “mañana”, donde esa inmediatez tiene también su coste.

 

Medición del CO2

Medición del CO2 con subida de datos a la nube. Motivación y primeros pasos.

Cuando comenzó a divulgarse información que alertaba sobre que uno de los principales modos de contagio por SARS-CoV-2 era inhalando los ahora ya famosos aerosoles, se puso en evidencia la importancia de la medición de CO2 en espacios cerrados de forma que diera una idea de la necesidad de ventilación o renovación de aire de los mismos.

Obviamente, cuanto más se ventile, mejor, de esto no cabe duda, pero estamos en invierno, y permanecer en una oficina o un aula con las ventanas abiertas permanentemente puede que no sea ni lo más agradable ni tampoco lo más conveniente. Midiendo la concentración de CO2 podemos saber cuán viciado está el aire que respiramos y mantener un equilibrio en la ventilación, maximizando el confort térmico dentro de los parámetros de salubridad del aire, que siguen siendo prioritarios. En román paladino: Ventilar lo adecuado, ni poco ni en exceso.

Con estas premisas pensé en que se podía hacer algún medidor low-cost con Arduino o similares, y me puse a ello. No es una idea original, pude ver que en la red hay numerosos ejemplos e información muy útil.

MQ-135: Un dolor

Comencé las pruebas con un Arduino Uno y un sensor MQ-135. Ese sensor es tremendamente barato y no mide sólo CO2 sino que es sensible a un buen número de sustancias, de hecho, cuando lo quería volver loco le acercaba un trapo con isopropílico a las narices y los valores se disparaban. En un principio, el que fuera sensible a varias sustancias (monóxido y dióxido de carbono, alcoholes, dióxido de nitrógeno, amoniaco, benceno…) no debería de ser un problema en sí mismo: si el sensor arrojaba un valor alto era que lo que estábamos respirando no era muy sano. El problema era que no hay forma de saber qué está excitando el sensor. El sensor arroja una única señal, trasladar eso a un valor de ppm para el CO2 se realiza mediante un algoritmo, pero si excitamos el sensor con otra sustancia nos dará una lectura de CO2 tan elevada como irreal. Quizás para un entorno libre de pandemias, medianamente controlado y “normal” pueda tener algo de utilidad para saber la “calidad del aire”, pero ahora que estamos usando hidrogeles, viricidas con base de alcohol, etc. sincera y humildemente, creo que estos sensores no sirven en absoluto para medir la concentración de CO2

Sensor MQ135

Y no acaban ahí los problemas. Ya para empezar hay que “quemarlo”, esto es, tenerlo unas 24 horas a 5 voltios. Luego, tras ese tiempo, hay que “calibrarlo”. La única forma de hacerlo en casa sin más aparataje es ponerlo en la ventana y, “presuponiendo” que el valor que ahí tiene que arrojar es de 400, realizar unos ajustes para “hacer que marque 400” y listo.

Pero no.

Lo calibré unas cuantas veces y en cada una de ellas el ajuste era distinto. Además, cada vez que se apagaba y se volvía a encender había que esperar un buen rato para tener lecturas coherentes. Había ratos en que las mediciones “parecían” correctas, y otros en las que eran de lo más erráticas.

Conclusión: un dolor.

MH-Z19B: Fácil (o casi)

Cuando ya empezaba a hartarme del MQ-135 encargué allende los mares un MH-Z19B, y en cuanto llegó metí a los MQ en un cajón. Como de la noche al día.

Sensor MH-Z19B

Con un par de minutillos que le demos al MH-Z19B lo tenemos mandando valores “correctos”, pero ojo, contextualizando “correctos” en el ámbito en el que lo queremos usar: medir la concentración de CO2 en un espacio cerrado como una oficina, un despacho, un aula, nuestro domicilio, etc. para saber cuándo tenemos que ventilar.

El MH-Z19B puede encontrarse en torno a unos 15 euros actualmente. Porcentualmente es mucho más caro que el MQ-135, pero comparado con otro tipo de sensores este es tremendamente barato, aunque la precisión no es la misma. En el ámbito industrial una precisión de un +-5% es una auténtica aberración, pero para nuestros propósitos cumple perfectamente.

El “casi” viene por la autocalibración de estos sensores, que facilita mucho su uso pero que es un tanto particular. Hablaremos de ello en otras entradas.

Una placa para controlarlos a todos

 

Arduino D1

Las primeras pruebas fueron con una placa de Arduino, pero ya desde antes de empezar con el mecano la idea era conectarlo a una red wifi y mandar los datos a donde fuera. Buscando información encontré que había unas placas basadas en el ESP8266, muy baratas, pequeñas, con wifi y compatibles con el IDE de Arduino, así que empecé las pruebas con ellas porque simplificaban mucho las cosas y funcionaron de maravilla.

Placa Lolin con el ESP8266

Pero al mismo tiempo descubrí otras, las ESP32, que son como las anteriores pero bien vitaminadas. Una excelente comparativa está aquí:

https://www.luisllamas.es/comparativa-esp8266-esp32/

Al final opté por estas últimas porque tienen unas cuantas ventajas y me permitían hacer otra serie de pruebas de las que ya hablaré… si es que consigo algo.

Placa con el ESP32

Los datos en la nube

Para enviar los datos a algún sitio y representarlos en una web hay varias opciones: montar unas tablas y enviar los datos por POST, usar MQTT… O lo más rápido: ThingSpeak

https://thingspeak.com/

ThingSpeak tiene sus limitaciones, pero comparado con la rapidez y comodidad a la hora de poner los datos en una web frente a los anteriores sistemas a muchos les compensará con creces. En mi caso me sirve como punto de partida para tener los datos disponibles y mientras tanto me voy enterando de qué es eso del MQTT y montando un servidor para ello. Esto ya lo dejamos para posteriores entradas.

ThingSpeak tiene una opción gratuita que para proyectos de pequeña envergadura como este cumple perfectamente, así que no nos va a costar ni un duro. Y lo mejor, en unos minutos tenemos un canal, o más, funcionando y mostrando datos. Más no se puede pedir.

Niveles y alertas

Con los datos en la nube ya podemos realizar un seguimiento y tomar nuestras notas en cuanto a situación y medidas. No obstante la prioridad es avisarnos de cuándo tenemos que ventilar. El montaje lleva una pantalla en la que se nos muestran los datos tomados por los sensores cada cinco segundos y además un par de leds que, según el nivel alcanzado, se encienden uno u otro para avisarnos de que debemos abrir las ventanas.

En el apartado de niveles y alertas se referencian varias normativas y documentos que nos indican los valores de salubridad del aire y de confort en cuanto a temperatura y humedad. Sabiendo estos parámetros y haciendo una lectura de los valores de CO2 podremos establecer las alarmas para actuar en consecuencia y regular la necesaria ventilación.

Pero debo insistir y hacer un inciso de lo más serio: Lo principal es la calidad del aire. Si cerramos las ventanas para estar calentitos, alguien puede resultar muerto, literalmente, quizás no nosotros, pero sí un padre, una madre o cualquiera de nuestros mayores.

https://momo.isciii.es/public/momo/dashboard/momo_dashboard.html

Con este tema del COVID, tontadicas las justas.

 

Nota: La imagen de cabecera se ha realizado utilizando como base una imagen de Полина Андреева (mystraysoul) en Pixabay