Ir al contenido

Nivel de CO2 en salas

SafeRoom es uno de mis proyectos personales más completos al trabajar simultáneamente con tecnologías variadas tanto a nivel de hardware como a nivel de software.

Resumen #

Se ha desarrollado un sistema de monitorización que consta de uno o varios dispositivos sensores del nivel de concentración de CO2 y ocupación en salas de interior. Los datos medidos por el dispositivo instalado en una sala, son enviados a un servidor en internet y almacenados en una base de datos. El usuario tiene acceso en tiempo real a las mediciones e historial de las salas a través de una aplicación web creada.

Ante un nivel de concentración de CO2 superior a un límite establecido, el sistema desarrollado permite notificar la alerta mediante correo electrónico o a través de servicio de mensajería de teléfono móvil para que puedan tomarse medidas correctoras.

Características #

  1. Dispositivos de monitorización:
  • Hardware basado en sistema embebido Raspberry Pi4, sensor de CO2 MH-Z19b y otros componentes (pantalla LCD, cámara, zumbador sonoro, etc.).
  • Desarrollados scripts basado en Python para dotar de funcionalidad al hardware y transmitir/recibir datos desde el dispositivo monitor al servidor.
  • Protocolo de comunicación IoT MQTT.
  • Dos modos de funcionamiento:
    • Manual: configurando un umbral de concentración de C02 máximo tolerable.
    • Automático (Modo ACH): el dispositivo determina el total de personas en una sala utilizando la cámara y software basado en Deep Learning (Keras y TensorFlow), y según el nivel ACH objetivo (ACH = tasa de renovación de aire por hora), determina el umbral de concentración de C02 máximo tolerable en cada momento.
  1. Servidor:
  • Instalado servidor y cliente MQTT para comunicación con disponisitos de monitorización.
  • Instalado software auxiliar (Servidor Apache, PHP, base de datos MySQL).
  • Desarrollado software basado en Python (scripts) que soporta las comunicaciones MQTT con dispositivos y con la aplicación web.
  1. Aplicación web (SafeRoom):
  • Desarrollada aplicación web en PHP, MySQL y haciendo uso del framework de Laravel.
  • Características:
    • Panel de adminitración donde activar/desactivar/consultar cuentas de empresas que utilicen el servicio.
    • Panel de empresas:
      • Registro e identificación.
      • Vincular nuevos dispositivos de monitorización.
      • Configurar modo de notificaciones de alertas (correo-e o mensajería móvil).
      • Consultar estadísticas en tiempo de real.
      • Consultar historial de mediciones.
      • Consultar historial de alertas.
      • Modificar configuración de dispositivos.
      • Eliminar dispositivos del panel de monitorización.

Puedes leer el siguiente documento para obtener más detalles:

Ver detalles del proyecto SafeRoom (pdf)

Capturas de pantalla #

Raspberry PI4 con sensores y cámara
Listado de empresas usando el servicio
Página principal de empresa con el listado de sus salas registradas
Detalles sobre una sala
Historial de alertas de una sala
Historial de medidas en una sala
Formulario para registrar nueva sala
Formulario para configurar notificaciones