Tabla de contenido:
- Paso 1: Descripción del termostato Ethernet
- Paso 2: interfaz web
- Paso 3: páginas HTML que se ejecutan en el servidor web, esquemas, código fuente
Video: Termostato de ambiente - Arduino + Ethernet: 3 pasos
2024 Autor: John Day | [email protected]. Última modificación: 2024-01-30 08:40
En términos de hardware, el proyecto utiliza:
- Arduino Uno / Mega 2560
- Blindaje Ethernet Wiznet W5100 / Módulo Ethernet Wiznet W5200-W5500
- Sensor de temperatura DS18B20 en el bus OneWire
- Relé SRD-5VDC-SL-C utilizado para la conmutación de calderas
Paso 1: Descripción del termostato Ethernet
Arduino es una práctica plataforma empotrada que se puede utilizar, por ejemplo, para construir un termostato de habitación, que mostraremos hoy. El termostato es accesible desde la red LAN en la que se encuentra, mientras que está equipado con una interfaz web que se utiliza para configurar todos los elementos del termostato. La interfaz web se ejecuta directamente en Arduino en modo servidor web. El servidor web permite la ejecución de varias páginas HTML independientes, que pueden ser informativas o incluso funcionales. El servidor web se ejecuta en el puerto 80 -
El relé electromagnético SRD-5VDC-SL-C, que se utiliza en el proyecto, permite conmutar hasta 10A a 230V - potencia 2300W. En caso de conmutar un circuito de CC (carga), es posible conmutar 300W (10A a 30V CC). Alternativamente, el relé OMRON G3MB-202P SSR es totalmente compatible con el diagrama de cableado, que solo es adecuado para cargas no inductivas y exclusivamente para circuitos de CA. Potencia de conmutación máxima 460W (230V, 2A). El consumo de Arduino con escudo Ethernet y otros periféricos está en el nivel de 100-120mA con el relé abierto. Cuando está cerrado, por debajo de 200mA a 5V de suministro.
Paso 2: interfaz web
La interfaz web del termostato permite:
- Ver la temperatura en tiempo real del sensor DS18B20
- Ver el estado del relé en tiempo real con cambio de salida dinámica en la página
- Modifique la temperatura objetivo (de referencia) en el rango de 5 a 50 ° C con un paso de 0,25 ° C
- Modifique la histéresis en el rango de 0 a 10 ° C con un paso de 0,25 ° C
La interfaz web está diseñada para adaptarse a pantallas más grandes y más pequeñas. Responde, admite pantallas de pantalla ancha de alta definición, pero también dispositivos móviles. La interfaz utiliza estilos CSS importados del marco Bootstrap desde un servidor CDN externo, que carga el dispositivo del lado del cliente al abrir una página que se ejecuta en Arduino. Debido a que Arduino Uno tiene memoria limitada, solo puede ejecutar páginas de unos pocos kB de tamaño. Al importar estilos CSS desde un servidor externo, reducirá el rendimiento y la carga de memoria del Arduino. La implementación del software (para Arduine Uno) usa el 70% de la memoria flash (32kB - 4kB Bootloader) y el 44% de la memoria RAM (2kB).
Las partes estáticas de una página web (encabezado y pie de página de un documento HTML, enlaces CSS Bootstrap, metaetiquetas, encabezado de respuesta HTTP, tipo de contenido, formulario y más) se almacenan directamente en la memoria flash de Arduino, lo que puede reducir significativamente la cantidad de RAM utilizada por el usuario. -contenido generado. Por tanto, el servidor web es más estable y puede gestionar la multiconexión de varios dispositivos en la red al mismo tiempo.
Para mantener los valores establecidos incluso después de un corte de energía, se almacenan en la memoria EEPROM del Arduino. Temperatura de referencia al offset 10, histéresis al offset 100. Cada uno de los valores ocupa un máximo de 5B en la memoria EEPROM. El límite de transcripción de EEPROM está en el nivel de 100, 000 transcripciones. Los datos se sobrescriben solo cuando se envía el formulario HTML. En caso de que el dispositivo no tenga nada almacenado en las compensaciones EEPROM mencionadas en la primera puesta en marcha, la escritura automática se realizará con los valores predeterminados - referencia: 20.25, histéresis 0.25 ° C
La metaetiqueta Refresh actualiza toda la página de Arduino cada 10 segundos. En este momento, es necesario escribir el cambio para el termostato, de lo contrario, las ventanas de entrada se restablecerán cuando se actualice la página. Debido a que la biblioteca de Ethernet no incluye el uso de un servidor web asíncrono, se debe reescribir toda la página. Los datos dinámicos que están cambiando principalmente son el valor actual de la salida: encendido / apagado.
Paso 3: páginas HTML que se ejecutan en el servidor web, esquemas, código fuente
Páginas HTML que se ejecutan en Arduino:
- / - página raíz que contiene el formulario, listado de salida lógica actual para el relé, temperatura
- /action.html: procesa los valores del formulario, los escribe en la memoria EEPROM y redirige al usuario a la página raíz.
- / get_data /: distribuye datos sobre la temperatura actual, la temperatura de referencia y la histéresis a un tercero (computadora, microcontrolador, otro cliente …) en formato JSON
También hay una versión extendida de este termostato que incluye:
- Modo manual para relés (tiempo ilimitado, encendido / apagado automático)
- Temporizador de vigilancia
- Disponibles más sensores, por ejemplo: SHT21, SHT31, DHT22, BME280, BMP280 y otros
- Modo de enfriamiento
- Control y configuración vía RS232 / UART independiente de Ethernet
- Control de temperatura PID para termostato
- Posibilidad de utilizar plataformas ESP8266, ESP32 para termostato
La implementación del programa para el proyecto se puede encontrar en: https://github.com/martinius96/termostat-ethernet/ La implementación contiene programas para la dirección IPv4 estática / dinámica asignada al escudo Ethernet.
¡El termostato solo está diseñado para temperaturas interiores! (por encima de 0 ° C), a la que se adapta la lógica del sistema. Es posible reemplazar un termostato de habitación existente con un termostato, es posible reemplazar temporalmente un termostato en un refrigerador, mantener una temperatura constante en un terrario y similares.
Recomendado:
Configurar Raspberry Pi 4 a través de una computadora portátil / pc con un cable Ethernet (sin monitor, sin Wi-Fi): 8 pasos
Configure Raspberry Pi 4 a través de una computadora portátil / pc usando un cable Ethernet (sin monitor, sin Wi-Fi): en esto, trabajaremos con Raspberry Pi 4 Model-B de 1 Gb de RAM para la configuración. Raspberry-Pi es una computadora de placa única que se utiliza con fines educativos y proyectos de bricolaje con un costo asequible, requiere una fuente de alimentación de 5V 3A. Sistemas operativos como
Cómo hacer un cable Ethernet: 5 pasos
Cómo hacer un cable Ethernet: ¡Hola! ¡Hoy aprenderemos cómo hacer su propio cable Ethernet estándar en la industria! ¡Lo que podrá ahorrarle dinero cuando se trata de necesitar cables! Entonces, ¿por qué estoy calificado para enseñarle? Bueno, soy un profesional de TI. Pasé los últimos 2
Inyector DIY PoE Ethernet 10 / 100M: 6 pasos
Inyector DIY PoE Ethernet 10 / 100M: aquí haremos un inector PoE simple adecuado para ethernet 10 / 100M, también podría ser alimentado directamente con baterías
Control GPIO MCP23017 a través de Ethernet: 5 pasos
Control GPIO de MCP23017 a través de Ethernet: Controle el extensor de E / S MCP23017 a través de Ethernet utilizando Sensor Bridge y la placa de conexión MCP23017. Comandos enviados por scripts de Python, URL de navegador o cualquier sistema capaz de comunicación HTTP. Se puede integrar a Home Assistant para la automatización del hogar. Los cables son
Lectura de humedad con sensor Ethernet: 3 pasos
Lectura de humedad con sensor Ethernet: El propósito del proyecto era poder leer lecturas de humedad y temperatura a través de la red Ethernet, de modo que los resultados pudieran usarse para la automatización del hogar (Home Assistant, etc.). El sensor T9602 tenía el mejor factor de forma, con excelente actuación en ar