Instalación de Node-Red, InfuxDB y Grafana


La Raspberry Pi  es una placa ideal para monitorear todo tipo de cosas. Hoy usaremos Node-Red, InfluxDB y Grafana para monitorizar diferentes  entidades , así como habilitar  alarmas hacia nuestro  smartphone o  en el  correo.

Resumidamente estos son los tres componentes que usaremos

  • Grafana es un software libre basado en licencia de Apache 2.0,que permite la visualización y el formato de datos métricos. Permite crear cuadros de mando y gráficos a partir de múltiples fuentes, incluidas bases de datos de series de tiempo como Graphite, InfluxDB y OpenTSDB.​ Originalmente comenzó como un componente de Kibana y que luego le fue realizado una bifurcación
  • InfluxDB es una base de datos de series de tiempo de código abierto (TSDB) desarrollada por InfluxData. Está escrito en Go y optimizado para el almacenamiento y la recuperación rápidos y de alta disponibilidad de datos de series de tiempo en campos como el monitoreo de operaciones, métricas de aplicaciones, datos de sensores de Internet de las cosas y análisis en tiempo real. También tiene soporte para procesar datos desde Graphite . 
  • Node-RED es una herramienta de desarrollo basada en flujo para programación visual desarrollada originalmente por IBM para conectar dispositivos de hardware, API y servicios en línea como parte del Internet de las cosas .Proporciona un editor de flujo basado en navegador web , que se puede utilizar para crear funciones de JavaScript . Los elementos de las aplicaciones se pueden guardar o compartir para su reutilización. El tiempo de ejecución se basa en Node.js . Los flujos creados en Node-RED se almacenan mediante JSON . Desde la versión 0.14, los nodos MQTT pueden realizar conexiones TLS configuradas correctamente . En 2016, IBM contribuyó con Node-RED como un proyecto de JS Foundation de código abierto .

Preparar imagen en tarjeta SD

Descargar imagen: http://bit.ly/2GdZbPe
Agregar archivo ssh vacío al directorio raíz de la tarjeta
Agregar wpa_supplicant.conf al directorio raíz

Contenido del archivo wpa_supplicant.conf:

country = CH
ctrl_interface = DIR = / var / run / wpa_supplicant GROUP = netdev
update_config = 1
network = {
  ssid = ”…”
  psk = ”…”
}

Inserte la tarjeta SD en su Raspberry, arranque y encuentre su dirección IP por ejemplo usando https://www.advanced-ip-scanner.com   o simplemente con el comando sudo ifconfig
Inicie sesión desde un terminal usando Putty https://www.putty.org/ usando  las credecniales por defcto: Pi/raspberry  

Ahora debe actualizar su Raspberry a la versión más reciente :

 sudo apt-get update && sudo apt-get upgrade 

Configuración en la  Raspbery

Configuración de Mosquitto

Tenemos que modificar el fichero mosquito,conf , para lo cual;

sudo nano /etc/mosquitto/mosquitto.conf 

Insertaremos el siguiente comando  al finala del fichero  y salivar  los cambios:
allow_anonymous true

Reiniciar Mosquitto

 sudo systemctl reiniciar mosquitto 

Configuración de influxDB

Crear usuario:

CREATE USER "pi" WITH PASSWORD 'raspberry' WITH ALL PRIVILEGES
exit

Cambiar archivo de configuración:

sudo nano /etc/influxdb/influxdb.conf

En [http] descomente:
enabled = true y bind-address =: 8086

en [monitor] descomente y cambie a:
store-enabled = false

sudo service influxdb restart

Configuración de Node-Red

Importar flujos desde: https://drive.google.com/open?id=1kECuykSaFO7Qb_67QqIHtlpvElpVWDMI

Instalar correo

sudo apt-get install ssmtp 
sudo apt-get install mailutils
sudo nano /etc/ssmtp/ssmtp.conf

Para Gmail, ingrese este texto:

mailhub = smtp.gmail.com: 587
AuthUser = [yourmailaddress] @ gmail.com
AuthPass = [emailPassword]
UseSTARTTLS = YES
UseTLS = YES

Pruebe su correo

echo "Hola mundo cuerpo del correo electrónico" | mail -s "Prueba asunto "   [email protected]

Agregue soporte para aplicaciones menos seguras en Gmail: https://myaccount.google.com/lesssecureapps

Crear una base de datos influxDB

influx

Create database [su nombre de la base de datos]
Show DATABASES
Use [ su nombre de la base de dato]
Show series

exit

Instalar y preparar Telegram

Instale Telegram en su PC https://desktop.telegram.org/

Inicie el telegrama y busque “botfather”

Ingrese el nombre de su bot deseado anotando la ficha.
Envíe un mensaje de texto al bot.

Vaya a: https://api.telegram.org/bot[Token]/getUpdates   y tome nota de la identificación (ID) pues lo usaremos más tarde:

Prepare Grafana

Agregue una fuente
Agregue el tablero importando un archivo JSON:

Ejemplos:
Presión de cerveza: https://drive.google.com/open?id=1beKyu4WuGErAHeYKyE3-8wtpyZJ8yHkZ
Clima: https://drive.google.com/open?id=18326_tjcVln0xBLRJINJn2ZwP0lNlyHX
YouTube: https://drive.google.com / open? id = 1TrZAGnxn4zRfyO_X8RXw4ZtQIvJi8JnQ

Agregar canal de notificación por correo

sudo nano /etc/grafana/grafana.ini

enabled=true
host = smtp.gmail.com:587
user =[receivingEmail]@gmail.com
password =”[emailPassword]”
skip_verify = true
from_address = [sendingEmail]@gmail.com
from_name = [whateverName]

Ir a los canales de notificación
Agregar nuevo canal
Editar canal de notificación  y presione Send Test (“Enviar texto”)

Agregar canal de notificación de Telegram

Agregar nuevo canal de notificación de Telegram

Añada ahora el nuevo canal de notificaciones de Telegram. Insertar chatID y token obtenidos anteriormente

Y presione “Enviar prueba”

 

Contraseñas por defecto usadas

Dónde Usuario Contraseña
Raspberry Pi raspberry
Flujos de node-red admin admin
IU Node-Red User user
Usuario de InfluxDB Pi raspberry
Grafana admin admin

 

 

 

Fuente: sensoriot.org

Como cambiar el disco duro de su portatil y no morir en el intento


Tal vez  se le haya pasado por la cabeza cambiar el disco duro de su portatil   pensando simplemente en ampliar la capacidad de  este,tal vez porque esté dando  fallos en algún sector  o quizás   por una razón más importante : para mejorar  el rendimiento  de este  sustituyendo  el disco convencional por uno SSD, pues si es así es una tarea que recomendamos desde blog, y en este post vamos a intentar aclarar como hacerlo.

Las siglas SSD significan solid-state drive y en español se le denomina dispositivo o unidad de estado sólido.  Básicamente, un SSD hace lo mismo que un HDD (hard drive disk o disco duro)que  es la forma de almacenamiento de datos estándar desde hace muchos años ,pero la tecnologia es radicalmente distinta, pues en un disco solido actual no hay partes móviles ( utiliza hay chips de memoria NAND Flash ) reduciendo así el riesgo significativo  de averías ,eliminando  el ruido  y disminuyendo el consumo de energía  significativo siendo actualmente  la manera más eficiente de  actualizar un viejo ordenador.

De  hecho un disco SSD , puede acelerar el funcionamiento de un ordenador de varias maneras:

  1. El tiempo de inicio o de arranque del sistema operativo se reducirá significativamente.
  2. Ya no tendrá que esperar varios  minutos para que Fussion360 o su  programa de diseño abra; con un SSD solo deberá pestañear aproximadamente dos veces.
  3. Cuando guarde y abra documentos no habrá lag.
  4. Copiar y duplicar archivos será una tarea menos tediosa y con una espera reducida.
  5. Son  más fiables y duraderos que un disco duro.
  6. Al incorporar  una memoria Flash no incluye piezas móviles, por lo cual las probabilidades de avería son menores que los de una unidad mecánica.
  7. La ausencia de estas piezas permite un funcionamiento más silencioso sin acumulación de temperatura.
  8. Su resistencia a sacudones y vibraciones las hace adecuadas para portátiles y otros dispositivos informáticos móviles.
  9. En general, el sistema será más rápido.

Por supuesto  no están exentos de puntos menos positivos donde destacaría  la durabilidad de sus células de memoria y  sobre todo  el precio/GB  que es ligeramente superior al de los discos convencionales ,pero esta cuestión economica se ve claramente  superada con su rendimiento:

  • Si bien los discos duros pueden alcanzar velocidades de transferencia secuencial de datos cercanas a los 200 MB/s. Los SSD hace ya bastante tiempo que dejaron atrás estas tasas. El hecho es que, algunos dispositivos sólidos son capaces de alcanzar actualmente más de 4 GB/s de tasa de transferencia de archivos.
  • Otra importante diferencia entre un SSD y un HDD está en las operaciones aleatorias o IOPS. Si bien las unidades mecánicas pueden llegar hasta los 100 o 200 IOPS, las unidades sólidas pueden alcanzar las 80.000 o 90.000 IOPS con facilidad.
  • Gracias a los modernos  controladores  les permiten alcanzar velocidades de lectura y escritura de hasta 500 MB/s y 450 MB/s,  es diez veces más rápido que un disco duro convencional, lo cual le permite ofrecer un mayor rendimiento, potenciar la multitarea y agilizar el funcionamiento del sistema.

Los discos de estado sólido pues  mejoran drásticamente la capacidad de respuesta de su actual sistema con velocidades de arranque, carga y transferencia óptimas en comparación con las de los discos duros mecánicos. 

 Pero..¿  si es tan ventajoso porque no cambiamos directamente el disco actual por uno SSD? , pues la mayoría de las veces los usuarios no solemos cambiar por el engorro de tener que instalar todo el so,aplicaciones , datos etc  en el nuevo disco…pero  hay una facil  opción  para evitar  ese trabajo  y que consumirá solo  unos minutos  y es ni más ni menos que CLONAR el disco viejo en el nuevo.Veamos  ahora  los tres simples  pasos  a seguir;

 

 

Primer paso: adquirir un disco nuevo SSD

 Los discos SSD se presentan con múltiples dimensiones y capacidades, desde 120 GB 1,92 TB, para ofrecernos todo el espacio que necesitamos para aplicaciones, vídeos, fotos y otros archivos importantes. Además, podrá sustituir su disco duro o un SSD más pequeño por una unidad lo suficientemente grande como para que quepan todos sus archivos. Estos SSD  se  diseñan para las cargas de trabajo típicas de los ordenadores portátiles y de sobremesa. 

Es importante  para clonar un disco  es que el disco original   debería tener una capacidad  menor o igual  al  nuevo  que vamos a cambiar ,porque  en caso contrario no podremos clonarlo por falta de espacio.

Es cierto que hay determinados programas de clonación que permiten que aunque el disco original  sea mayor  que el nuevo , si este está ocupado en una capacidad  inferior  a la del nuevo disco   , permita hacer la copia , pero por regla general deberíamos adquirir un disco SSD de igual o superior capacidad al original ( nunca menor)

Y ahora una obviedad :además de la capacidad  no debemos olvidar el fabricante del SSD  siendo la marca Kingston una clara referencia de discos de buena relación calidad /precio que sin duda nos proporcionará mayor fiabilidad y durabilidad que otras marcas con productos ligeramente mas económicos.

 

Segundo paso:Preparación del disco nuevo SSD

Para clonar el disco lo mas rapido  y facil es conectar  un  adaptador sata a usb   conectado el disco nuevo.

Aunque en la foto  usamos un adaptador Conceptronic IDE/SATA con alimentador externo lo cierto es que hay adaptadores SATA /USB muy económicos.

Conectaremos el disco nuevo al adaptador , conectaremos la alimentación externa ( si es que lo tiene)    y finalmente conectaremos mediante un cable usb a nuestro ordenador. 

 

En este paso, es fácil que una vez conectado el disco nuevo al pc ,  en caso de ser  un disco nuevo no nos reconozca windows  la partición, para lo cual por si el  sw de clonación   no lo permite es interesante creala ( aunque luego eliminará esta  creando normalmente en windows )

En efecto  , podemos  facilitar el reconocimiento de esta nueva unidad   creando una simple partición  desde el propio windows  accediendo al administrador de discos de windows  , donde sí nos  aparece la unidad , simplemente pinchamos  con el  ratón  con el botón derecho sobre el disco vacío ( aparecerá sombreado o en gris )   y  desde ahí podremos crear  una nueva partición y asignarle un nombre de letra a la unidad.

 

Tercer  paso :Clonación del disco

Macrium Reflect Free Edition se presenta como una de las utilidades de clonación de discos más rápidas disponibles. Esta solución de clonación sólo es compatible con los sistemas de archivos de Windows, pero lo hace bastante bien y tiene una interfaz de usuario muy amigable. Tambien Macrium Reflect 7,pone a nuestra disposición una versión gratuita enfocada en el proceso de clonación, pero aparte permite también programar copias de seguridad, entre otras funciones.

Por supuesto, la versión premium cuenta con muchas otras funciones que pueden resultarnos de gran utilidad, pero si nuestro cometido es únicamente realizar una copia de nuestro disco duro podemos hacerlo sin ningún problema desde la versión gratuita.

En realidad el uso de este programa muy sencillo, pues una vez instalado  uan vez nos aparezcan las dos unidades ( arriba la que vamos a copiar ) y abajo el nuevo disco, simplemente pulsaremos  en texto  “Clones  this Disk” que aparece abajo del disco  origen.

 

En este momento nos aparecerá una nueva ventana  donde deberemos seleccionar  todas las particiones  si es un sistema Windows , para que el disco nuevo arranque sin problemas al cambiar el antiguo  por el nuevo.

 

 

Una vez seleccionadas las particiones y seleccionado el disco nuevo abajo pues m daremos al botón “next”

 

 

Y con esto empezará la copia del contenido de todas las particiones seleccionadas sobre el nuevo disco.

Ultimo paso: sustituir el disco

Ahora una vez clonado el disco debemos  localizar la bahía donde se alberga el disco duro del portátil. Por regla general en la gran mayoría de ellos, se puede acceder al disco duro sin tener que «destripar» completamente el portátil, son una bahía a la que podremos acceder desde la zona inferior del equipo retirando entre uno y cuatro tornillos o incluso ninguno  según el modelo . De hecho en tapas sin tornillos  ( típicas de ordenadores HP)  simplemente  quitando la bateria y   deslizando la tapa hacia el lado de la batería  quedará accesible la bahía del disco .

Desgraciadamente , esto no pasa en todos los portátiles y, de hecho, pasa cada vez menos, puesto que ahora los fabricantes intentan integrarlo todo de manera que el polvo no entre por ningún hueco. Por ello, es posible que si no existen las cubiertas que tengamos que desmontar toda la parte inferior del portátil.

Ahora debemos realizar el proceso inverso colocando el nuevo disco duro o SSD en la carcasa metálica ala que debemos atornillar a esta Luego, insertamos con cuidado la carcasa en el portátil, haciendo coincidir los puertos SATA para que queden conectados para, acto seguido, atornillar la carcasa donde estaba.

!El trabajo  ya esta hecho !. solo queda volver a colocar la tapa,poner la bateria y probar que arranca el ordenador con el disco nuevo. Es interesante  destacar que según el sw de clonación  y la capacidad del nuevo disco ,puede que quede espacio libre sin definir por lo que más sencillo es ir al administrador de discos y crear una partición de datos sobre esa parte y así si se estropease la partición primaria  al menos los datos quedarían a salvo sobre esa particion.   

Otros programas de clonación

Sin duda,el   programa presentado puede ser una excelente opción gratuita  que   funciona realmente para realizar el proceso de clonación de disco duro, bien en un HDD o en un SSD.  pero hay otras opciones  para ayudarnos a realizar la clonación de nuestro viejo disco duro, bien porque queremos tener un respaldo en caso de un eventual fallo, porque deseamos migrar a un disco de mayor tamaño o porque queremos actualizarnos tecnológicamente usando un SSD.

Por ello a continuación le mencionaremos una serie de alternativas para que pueda hacerlo cómodamente

Mini Tool Partition Wizard-Para Particionar Disco Duro

Este software  es un clásico en la administracion de sisetmas  permitiendosno  hacer la clonación que deseemos en sistemas  Windows Con su versión gratuita podrá optar por funcionalidades variadas aparte de “clonar”, podrás crear copias de seguridad o respaldos. Cuenta con la posibilidad de crear particiones del disco y sin duda de forma segura para proteger al máximo tus archivos valiosos.

Este programa muy eficiente para clonar  y viene con más herramientas como hacer respaldos.Podrá optimizar tus archivos.

 GParted

Esta es sin duda una herramienta bastante sencilla de utilizar. Su sencilla interfaz y claridad de las opciones a disposición hacen que podamos realizar nuestro proceso sin mayor dificultad. Tan simple como copiar y pegar particiones de un disco a otro. Sencillo, ¿verdad?

 Clonezilla

Clonezilla es una de las mejores herramientas para llevar a cabo nuestro proceso de clonación de disco de manera fácil y rápida. Puede que esta aplicación no tenga la interfaz más cómoda o atractiva pero garantiza la realización del proceso de forma correcta. ¿Lo mejor? Puede ejecutarlo a través de un CD o una memoria USB sin tener que instalar el software en su ordenador.

Clonezilla  como vemos es un software súper potente con el que no solo podrás clonar un solo disco, sino que tendrás la posibilidad de clonar 40 discos en simultaneo. Además, podrás utilizarlo desde un dispositivo externo como un CD o pendrive. Sin embargo, este es para usuarios más avanzados.

 EaseUS Partition Master

Sirve para  migrar a un disco de mayor tamaño o porque quieres sustituir tu viejo disco duro mecánico por un SSD que le proporcione mayor velocidad a su ordenador. Esta herramienta es muy sencilla y resulta bastante similar a GParted, pues consiste igualmente en copiar y pegar particiones de un disco a otro.

Con este programa podrás tener un disco clonado de manera sencilla y directa. Una herramienta ideal cuando está migrando información desde su HDD a tu SSD. Su información no sufrirá daños, ni se copiará incompleta, porque el software está optimizado para hacer los mejores clones de tus datos. Además, cuenta con dos alternativas con las que podrás hacer un respaldo y la otra con la que podrás recuperar archivos perdidos por accidentes o cualquier otra eventualidad.

Con su versión gratuita podrá tener unos buenos resultados, brindándote tranquilidad al momento de proteger tus archivos.

 

 Acronis Disk Director

Este programa resulta ideal para llevar a cabo el proceso de clonación, añadido a eso también podrás gestionar el disco, creando o formateando particiones entre otras varias funciones que esta herramienta pone a nuestra disposición.

Su version gratuita cuenta con solo 30 días. Sin embargo, si lo que deseas es hacer una clonación en particular Acronis le funcionará. Reduce las funciones de tu PC para evitar ralentizar el proceso y es sencillo de utilizar. Clona y haz copias de seguridad para proteger tus datos más importantes con este programa. No sufrirá de interrupciones porque el software está totalmente optimizado para gestionar bien el procedimiento del clonado

Además, podrás configurar el programa de manera que la clonación suceda de forma automática sin tener que preocuparse por no saber qué hacer.

clonar disco duro a ssd acronis

 

DriveImage XML-Clonar Unidad De Arranque

Esta herramienta es bastante amigable para aquellas personas que no dominen bien este tipo de procedimientos. Con el programa podrás clonar tu disco de una manera exacta y, además, escoger dónde quieres ubicar los elementos copiados. Ya no tendrás que preocuparte porque se te borraron los archivos de tu ordenador porque fácilmente las podrás recuperar y el software es compatible con Windows.

Podrá comprimir sus archivos con la intención de optimizar el espacio que tienes y protegerlos para mayor control, seguridad y tranquilidad.

 

 Aoemi Backupper-Standard 5.8

Este software es de fácil manejo y con el podrás clonar sus disco duro con seguridad. Su versión gratuita ofrece un listado de posibilidades para hacer clonación, recuperación o copias automáticas. Podrá clonar no solo el disco completo, sino sus particiones y también restaurar carpetas o archivos que en algún momento se perdieron.

Recibirá notificaciones de lo que resultó en tus copias de seguridad y cuenta con la alternativa de comprimir los archivos o colocar comentarios para saber de qué son

No se preocupe si no sabe nada sobre clonación de discos duros, este programa es muy sencillo de utilizar. Podrá hacer clonaciones fáciles tan solo copiando las partes de tu disco duro y pegando. Cuenta con la posibilidad de ajustar el tamaño de los archivos sin que se presente ninguna complicación en el proceso.

Entonces, bien sea que cambies de disco o desea pasar los datos a un disco sólido no será necesario formatear y perder los datos.

De todos los programas que hemos mencionado el mejor para personas que están aprendiendo a clonar es el Aomei Backupper Standard 5.8. Un programa sencillo de usar y eficiente para pasar datos a tu nuevo SSD. Podrá gozar de una alternativa con copiado inteligente para clonar particiones del disco que se utiliza en ambiente

 HDClone-De Miray Software

Este programa creado por Miray Software permite hacer clonaciones exactas de tu disco. Bien sea porque quieres pasarlo a un formato SSD o ya tu disco se ha quedado sin espacio. Conservarás todos tus datos y tendrás la alternativa de clonar archivo por o archivo y parte por parte de tu disco para un procedimiento organizado que permita tener datos resguardados y seguros.

Sin duda una buena herramienta para tener un registro fiel de todos los datos que queramos.

clonar disco duro a ssd windows 7

 

¿Cual es un programa favorito gratuito  de clonación ?¿conoce alguno que le haya dado buen resultado? Amigo lector  desde estas líneas estaremos encantados de compartir su experiencia

 

 

Monitor de Co2 con sensor mh z19


¿Alguna vez se ha preguntado por qué a menudo se siente somnoliento o incluso cansado por la mañana después de dormir toda la noche? Hay muchas cosas que pueden provocar un sueño de mala calidad,   pero   dada la grave pandemia  al que nos estamos exponiendo  desgraciadamente, también  hay otra razón  contundente: una mayor  exposición a  agentes virulentos al no  estar suficientemente ventilado la estancia .

En efecto , ambas casuísticas citadas  se deben a una concentración inadecuada de dióxido de carbono (CO2) puesto que las personas emiten dióxido de carbono durante la respiración , lo  que implica que   la concentración de CO2 es uno de los principales factores que afectan la calidad del aire y con ello   la exposición a agentes infecciosos.

Por estas razones según los científicos  apuntan que puede ser interesante contar con  un medidor de CO2 para comprender si la concentración de CO2 en nuestro entorno  como afecta la calidad del aire.

Una concentración menor de 800 ppm se considera adecuada, aunque lo ideal es que ronde las 500 ppm. A partir de 800 ppm salta la alerta ya que la ventilación es deficiente, lo que facilita en gran medida la permanencia del virus en el aire, de tal forma que su capacidad de transmisión puede prolongarse durante varias horas.

Estos medidores se pueden comprar ya montados, pero  no dispondremos ningún nivel de mejora ni personalización ni interacción  y los de bajo coste además ofrecen muy poca precisión ,  por lo que vamos a  ver como construir  un medidor real para que entendamos como funciona y de paso podemos pensar en futuras mejoras .

 

La elección del sensor

En un prototipo puede que se vea tentado en usar  sensores del tipo  MQ135 , un sensor de calidad de aire barato) , que detecta NH3, NOx, alcohol, benceno, humo, CO2  y que hemos visto en numerosos proyectos en este blog.

Este  tipo sensores  son  módulos listo para usar para Arduino y Raspberry Pi  gracias a su doble salida analogica   y digital  (para el uso con laRPi se requiere un convertidor AD adicional a no ser que solo necesite la señal de haber superado el umbral  ajustable de disparo de la señal digital ,pero para Arduino la conexión es directa ). 


Los sensores de la serie MQ utilizan un pequeño elemento calefactor con un sensor electrónico-químico por lo que son sensibles a una amplia gama de gases y son adecuados para su uso en interiores. Es cierto que  tienen una alta sensibilidad y un tiempo de respuesta rápido, pero tardan unos minutos en dar lecturas precisas porque el sensor tiene que calentarse.

Estos sensores son  muy fáciles de de usar para medir la concentración de GLP, i-butano, propano, metano, alcohol, hidrógeno y humo en el aire, midiendo concentraciones de gas de 100 a 10000 ppm   siendo ideal para la detección de fugas de gas, alarmas de gas u otros proyectos de robótica y microcontroladores. 

Según el fabricante  en general este tipo de sensores tienen relativa poca precisión incluso después de aplicar la corrección de temperatura y humedad. Además  suelen  tener  un alto consumo de energía (800 mw) y un tiempo de precalentamiento  excesivo lo cual son bastantes inconvenientes para abandonarlo y probar con otro  tipo de sensor.

Hay bastantes sensores de CO2 en el mercado de precios muy variados: MG811 (~ 40 $), MH-Z14 WINSEN (~ 40 $), MH-Z19 WINSEN (~ 30 $), K-30 (~ 85 $), VERNIER CO2-BTA ( ~ 330 $).

Los  sensores de CO2 NDIR (infrarrojo no dispersivo) son el   tipo de sensor más común utilizado para medir el CO2, pues  tienen buena precisión y bajo consumo de energía aunque los precios son muy variados.

Un ejemplo de sensor NDIR es el sensor MH-Z19 tiene buenas características y muy buen precio, así que puede ser una buena opción.  Aquí algunos parámetros técnicos del sensor MH-Z19 :

Tensión de trabajo   4,5 V ~ 5,5 V CC
Corriente media   <85 mA
Nivel de interfaz   3,3 V
Rango de medición   0 ~ 5% VOL opcional
Señal de salida   PWM, UART
Tiempo de precalentamiento   3min
Tiempo de respuesta   T90 <90 s
Temperatura de trabajo   0-50C
Humedad de trabajo   0 ~ 95% de humedad relativa
Peso   15 g
Esperanza de vida   > 5 años
Dimensión   57,5 × 34,7 × 16 mm (largo × ancho × alto)

Este sensor e pequeña escala de uso general  utiliza el principio infrarrojo no dispersivo (NDIR) para detectar la presencia de CO2 en el aire, con buena selectividad y dependencia anaerobia, larga vida y cuenta con compensación de temperatura incorporada y al mismo tiempo  salida en serie, salida analógica y salida PWM. Además, tiene un precio contenido (en amazon unos 14€)

Hay varias  variantes de este sensor con diferentes rangos de medición:

  • 0 ~ 10000 ppm
  • 0 ~ 2000 ppm
  • 0 ~ 5000 ppm

Una opción interesante es la primera porque el modelo B es el más extendido y fácil de conseguir,  si bien  un nivel de CO2 superior a 2000 ppm no sería apropiado para un ambiente doméstico. 

Puede ser interesante montar un dispositivo móvil para poder medir el nivel de CO2 donde quiera dentro del hogar , puesto que como el voltaje de trabajo del MH-Z19 es de 4.5 ~ 5.5V DC, puede usarse la salida USB standard  o simplemente  3 baterías AA ) como fuente de alimentación.

 

Respecto a la visualización de los datos una pantalla OLED LCD 0.96 “I2C IIC SPI Serial 128X64 (en amazon unos 9€)  es una buena opción pues  es muy fácil usarla con nuestro Arduino  gracias a la conexión I2C , y claro las librerías gratuitas para Arduino

Para  poderla usar en nuestro proyecto , es importante tener en cuenta que necesitaremos  la biblioteca de controladores oled Adafruit SSD1306

Respecto al conexionado , no puede ser más sencillo, pues conectaremos la alimentación   del sensor ,la pantalla  y nuestro  arduino  a través de un interruptor al polo positivo de   un portapilas de 3 pilas de 1.5V. Obviamente  complementaremos las conexiones de VCC  con las  masa (0v) conectando el  polo negativo del portapilas a las conexiones de 0v del sensor ,la pantalla  y nuestro  arduino.  

El montaje se complementará con las conexiones de datos  del  sensor MH-Z19    y de la pantalla , conectando la salida PWM del  sensor digital  al pin 7 (pin digital 7) de Arduino ,  y las conexiones de datos I2C  de la pantalla a los pines  SDA( pin 19)   y   pin SCL(pin 18) de nuestra placa Arduino. 

 

Medidor de CO2 MH-Z19

Este  es el resumen de elementos básicos de  hw para hacer este pequeño proyecto:

  • Sensor de co2 infrarrojo MH-Z19 (en amazon unos 14€)
  • Arduino Pro Micro  ( o cualquier otra placa Arduino que disponga)
  • Pantalla OLED LCD 0.96 “I2C IIC SPI Serial 128X64 (en amazon unos 9€)
  • Soporte de batería 3 AAA 1.5V 
  • Interruptor

Implementación

Necesitaremos lo siguientes elementos software para implementar este proyecto

Respecto al   proyecto, cuyo código Arduino al completo podemos ver más abajo , de forma  simplificada  este es   su funcionamiento: 

Primero importamos las librerías  para el control de la  pantalla I2C

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

A continuación definiremos las variables, empezando definiendo el pin 7 para el pwm para el sensor de Co2,  constantes, etc   destacando el valor del precalentamiento para el sensor de co2  cuyo valor es de 120 segundos

#define pwmPin 7        
int preheatSec = 120;
int prevVal = LOW;
long th, tl, h, l, ppm = 0;

Ahora veremos la  parte esencial , cuya principal ocupación es proporcionar el valor de la medida de C02 en la variable ppm 

void PWM_ISR() {
long tt = millis();
int val = digitalRead(pwmPin);

if (val == HIGH) {
if (val != prevVal) {
h = tt;
tl = h - l;
prevVal = val;
}
} else {
if (val != prevVal) {
l = tt;
th = l - h;
prevVal = val;
ppm = 2000 * (th - 2) / (th + tl - 4);
}
}
}

Otra  función  importante es la inicialización de la pantalla OLED , que  conseguiremos al introducirla en la función setup

void setup() { 
Serial.begin(115200);
pinMode(pwmPin, INPUT);
attachInterrupt(digitalPinToInterrupt(pwmPin), PWM_ISR, CHANGE);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x64)
display.setTextColor(WHITE);
}

Dado el intervalo de precalentamiento , es interesante una función que presente la cuenta atrás para que el usuario sea consciente de que es necesario esperar ese intervalo:

void displayPreheating(int secLeft) {
display.setTextSize(2);
display.println("PREHEATING");
display.setTextSize(1);
display.println();
display.setTextSize(5);
display.print(" ");
display.print(secLeft);
display.display();
}

Obviamente tampoco nos puede faltar la visualización del nivel de ppm , que solo se mostrará si es superior  a 1000 ppm ( obviamente podemos ajustar este umbral al valor que deseemos).

void displayPPM(long ppm) {
display.setTextSize(2);
display.println("CO2 PPM");
display.setTextSize(1);
display.println();
display.setTextSize(5);
if (ppm < 1000) {
display.print(" ");
}
display.print(ppm);
display.display();
Serial.println(ppm);
}

Finalmente en el bucle principal  básicamente  borraremos la pantalla y mostraremos la  cuenta atrás  del precalentamiento para finalmente mostrar el nivel de ppm  cada 1000ms.

void loop() { 
display.clearDisplay();
display.setCursor(0,0);
if (preheatSec > 0) {
displayPreheating(preheatSec);
preheatSec--;
}
else {
displayPPM(ppm);
}
delay(1000);
}

 

Para terminar, IhorMelynk nos ofrece el código fuente para Arduino que el mismo cargó en su Arduino:

#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>

#define OLED_RESET 4
Adafruit_SSD1306 display(OLED_RESET);

#if (SSD1306_LCDHEIGHT != 64)
#error("Height incorrect, please fix Adafruit_SSD1306.h!");
#endif

#define pwmPin 7

int preheatSec = 120;
int prevVal = LOW;
long th, tl, h, l, ppm = 0;

void PWM_ISR() {
long tt = millis();
int val = digitalRead(pwmPin);

if (val == HIGH) {
if (val != prevVal) {
h = tt;
tl = h - l;
prevVal = val;
}
} else {
if (val != prevVal) {
l = tt;
th = l - h;
prevVal = val;
ppm = 2000 * (th - 2) / (th + tl - 4);
}
}
}

void setup() {
Serial.begin(115200);
pinMode(pwmPin, INPUT);
attachInterrupt(digitalPinToInterrupt(pwmPin), PWM_ISR, CHANGE);
display.begin(SSD1306_SWITCHCAPVCC, 0x3C); // initialize with the I2C addr 0x3C (for the 128x64)
display.setTextColor(WHITE);
}

void displayPreheating(int secLeft) {
display.setTextSize(2);
display.println("PREHEATING");
display.setTextSize(1);
display.println();
display.setTextSize(5);
display.print(" ");
display.print(secLeft);
display.display();
}

void displayPPM(long ppm) {
display.setTextSize(2);
display.println("CO2 PPM");
display.setTextSize(1);
display.println();
display.setTextSize(5);
if (ppm < 1000) {
display.print(" ");
}
display.print(ppm);
display.display();
Serial.println(ppm);
}

void loop() {
display.clearDisplay();
display.setCursor(0,0);
if (preheatSec > 0) {
displayPreheating(preheatSec);
preheatSec--;
}
else {
displayPPM(ppm);
}
delay(1000);
}

 

Teniendo esto en cuenta, a la hora de mantener el contacto social los espacios al aire libre se presentan como la mejor alternativa. En espacios cerrados la ventilación es fundamental. No es suficiente con abrir las ventanas 10 minutos cada hora. La ventilación debe ser constante. Por supuesto, en ambos casos la mascarilla sigue siendo un elemento de protección esencial.