Imagen de interfaz

Control de temperatura con ESP8266 NODEMCU

fathooo
control de temperatura, sensores, monitorización


- ver en github

Materiales:

  • ESP8266 NODEMCU
  • Sensor DHT11
  • Módulo Relé 5volt
  • Esterilla de calor para reptiles
  • Módulo display

20220209182455.webp 20220209182534.webp 20220209182556.webp

Funcionamiento:

  • El funcionamiento es sencillo, mi intención es regular la temperatura de un lugar cerrado cuando esta es menor a 24 grados Celsius. Esto sirve para el cuidado de animales o para la regulación de temperaturas de plantas, agregando un módulo relé con mayor capacidad de voltaje y amperios.

  • Se ha aplicado un rango de temperatura óptima en la que se desea que trabaje. Cuando se alcanza la temperatura mínima, se enciende el relé, otorgando energía a la esterilla de calor. Cuando se alcanza la temperatura máxima, se apaga el relé, quitándole la energía a la esterilla de calor y disminuyendo así la temperatura. Toda esta configuración se realiza desde un navegador.

  • Desde un ordenador o celular, se puede acceder al navegador para ver la temperatura y humedad actual en tiempo real, así como la configuración actual del rango de temperatura. También se puede modificar la configuración con una temperatura mínima y máxima junto con un usuario que sirva como autentificador.

20220209135234.webp

  • Los datos se guardan en la nube GCLOUD, específicamente en RealtimeDatabase.

20220209133653.webp

  • Como se puede observar, se almacenan los grados Celsius, la humedad, la fecha y la hora. Posteriormente, se descargan los datos en formato JSON y se utilizan expresiones regulares para trabajar con ellos.

20220209143752.webp

  • Hasta este punto, el proyecto está funcionando y recopilando los datos para su monitorización.

Análisis de datos

  • Para el análisis se utiliza Python debido a que se pueden ordenar los datos y generar gráficos.

  • Dado que la información se encuentra en formato RAW separada por un pipe " | ", se utilizan expresiones regulares para ordenar la información y transformarla en un dataframe con pandas.

20220209170624.webp

  • La configuración de temperatura realizada fue de un mínimo de 27 grados y un máximo de 28 grados. Después de realizar un análisis descriptivo de los datos, se puede determinar que:

20220209170354.webp

  • Se tienen un total de 2824 datos, con una media de temperatura de 27.67 grados y una desviación estándar de 0.18. Los datos muestran que se alcanzó un mínimo de 22.6 grados y un máximo de 29.10 grados. Si se ordenan los datos, se puede observar que el 25% de las temperaturas se encuentran en 27.6 grados, el 50% en 27.7 grados y el 75% en 27.8 grados, lo cual es consistente.

  • Se cuenta la cantidad de datos para cada temperatura alcanzada:

20220209170444.webp

  • En el siguiente gráfico se muestra la temperatura promedio en los últimos 7 días.

20220209180204.webp

  • En el siguiente gráfico se muestran las dos últimas semanas.

20220209181945.webp

  • Se puede observar una correlación débil entre la humedad y la temperatura.

20220209172120.webp 20220209174502.webp

  • Este hecho se corrobora en el siguiente gráfico de dispersión (temperatura y humedad promedio por día).

20220209172456.webp

  • Además, se muestra el gráfico del total de temperatura y humedad por día.

20220209172738.webp