Diseño e implementación de software - BreanMS/AirGuard-Monitoreo-de-la-Calidad-del-Aire-con-ESP32 GitHub Wiki

Boot

Este código se encarga de conectar automáticamente la ESP32 a una red WiFi especificada en el arranque. Es especialmente útil para proyectos que requieren conectividad inalámbrica y necesitan establecer la conexión WiFi de manera automática al encender el dispositivo.

boot

Ejecucion Principal del Programa

main

Librerías Importadas

  • microdot_asyncio: Este módulo parece ser la implementación del servidor web asíncrono basado en el framework Microdot.
  • microdot_utemplate: Proporciona funciones para renderizar plantillas (templates) en el servidor.
  • dht_module: Contiene la clase DHTModule para interactuar con un sensor de temperatura y humedad (posiblemente DHT11 o DHT22).
  • ujson: Proporciona funciones para serializar y deserializar objetos JSON.
  • mq135: Contiene la clase MQ135 para interactuar con un sensor de calidad del aire MQ-135.

Configuración de Sensores

  • dht_sensor = DHTModule(12): Se crea una instancia de la clase DHTModule en el pin 12, presumiblemente configurado para leer un sensor DHT.
  • mq135 = MQ135(32): Se crea una instancia de la clase MQ135 en el pin 32, presumiblemente configurado para leer un sensor de calidad del aire MQ-135.

Configuración del Servidor Web

  • app = Microdot(): Se crea una instancia de la clase Microdot para configurar y gestionar el servidor web.
  • Response.default_content_type = 'text/html': Establece el tipo de contenido predeterminado de las respuestas del servidor web como 'text/html'.

Definición de Rutas del Servidor

  • @app.route('/'): Define la ruta principal ('/') que renderiza una plantilla llamada 'index.html'.

  • @app.route('/updateValues'): Define la ruta '/updateValues', que al acceder a ella, recupera valores del sensor de temperatura y humedad (DHT) y del sensor de calidad del aire MQ-135 y devuelve estos valores como una cadena JSON.

  • @app.route('/shutdown'): Define la ruta '/shutdown' que, al acceder a ella, apaga el servidor web.

  • @app.route('/static/path:path'): Define la ruta '/static/path:path' que se utiliza para servir archivos estáticos (como CSS, imágenes, etc.) desde el directorio 'static/'.

Ejecución del Servidor

app.run(): Inicia el servidor web y lo mantiene en ejecución.

Clase DHT11

dht11

Este código proporciona una interfaz sencilla para interactuar con un sensor DHT11 en MicroPython. Al instanciar la clase DHTModule con un número de pin específico, puedes utilizar el método get_values para obtener lecturas actualizadas de temperatura y humedad.

Clase MQ 135

mq

Métodos

  • init(self, pin): Inicializa la instancia del sensor en el pin especificado.
  • get_correction_factor(self, temperature, humidity): Calcula el factor de corrección para temperatura y humedad.
  • get_resistance(self): Obtiene la resistencia actual del sensor.
  • get_corrected_resistance(self, temperature, humidity): Obtiene la resistencia corregida para temperatura/humedad.
  • get_ppm(self): Calcula y devuelve las ppm de CO2 sin correcciones.
  • get_corrected_ppm(self, temperature, humidity): Calcula y devuelve las ppm de CO2 corregidas para temperatura/humedad.
  • get_rzero(self): Obtiene la resistencia RZero del sensor para fines de calibración.
  • get_corrected_rzero(self, temperature, humidity): Obtiene la resistencia RZero corregida para temperatura/humedad.
⚠️ **GitHub.com Fallback** ⚠️