Taula de continguts:
- Pas 1: descripció del termòstat Ethernet
- Pas 2: interfície web
- Pas 3: pàgines HTML que s'executen al servidor web, esquemes, codi font
Vídeo: Termòstat d'habitació - Arduino + Ethernet: 3 passos
2024 Autora: John Day | [email protected]. Última modificació: 2024-01-30 08:11
Pel que fa al maquinari, el projecte utilitza:
- Arduino Uno / Mega 2560
- Escut Ethernet Wiznet W5100 / Mòdul Ethernet Wiznet W5200-W5500
- Sensor de temperatura DS18B20 al bus OneWire
- Relé SRD-5VDC-SL-C utilitzat per a la commutació de caldera
Pas 1: descripció del termòstat Ethernet
Arduino és una pràctica plataforma incrustada que es pot utilitzar, per exemple, per construir un termòstat d'ambient, que mostrarem avui. El termòstat és accessible des de la xarxa LAN on es troba, mentre que està equipat amb una interfície web que s’utilitza per configurar tots els elements del termòstat. La interfície web s’executa directament a l’Arduino en mode servidor web. El servidor web permet executar diverses pàgines HTML independents, que poden ser informatives o fins i tot funcionals. El servidor web s'executa al port 80 -
El relé electromagnètic SRD-5VDC-SL-C, que s’utilitza en el projecte, permet canviar fins a 10A a 230V - potència de 2300W. En cas de commutar un circuit de corrent continu (càrrega), és possible canviar 300 W (10 A a 30 V de CC). Com a alternativa, el relé SSR OMRON G3MB-202P és totalment compatible per al diagrama de cablejat, que només és adequat per a càrregues no inductives i exclusivament per a circuits de corrent altern. Potència màxima de commutació 460W (230V, 2A). El consum d'Arduino amb blindatge Ethernet i altres perifèrics és del nivell de 100-120mA amb el relé obert. Quan està tancat, per sota de 200 mA a 5 V.
Pas 2: interfície web
La interfície web del termòstat permet:
- Veure la temperatura en temps real des del sensor DS18B20
- Veure l'estat del relé en temps real amb canvi de sortida dinàmic a la pàgina
- Modifiqueu la temperatura objectiu (de referència) entre 5 i 50 ° C amb un pas de 0,25 ° C
- Modifiqueu la histèresi en el rang de 0 a 10 ° C amb un pas de 0,25 ° C
La interfície web està dissenyada per allotjar pantalles més grans i més petites. És sensible, admet pantalles d'alta definició de pantalla ampla, però també dispositius mòbils. La interfície utilitza estils CSS importats del framework Bootstrap des d’un servidor CDN extern, que carrega el dispositiu del costat del client en obrir una pàgina que s’executa a Arduino. Com que l’Arduino Uno té una memòria limitada, només pot executar pàgines de pocs kB. En importar estils CSS des d’un servidor extern, reduirà el rendiment i la càrrega de memòria de l’Arduino. La implementació del programari (per a Arduine Uno) utilitza el 70% de la memòria flash (32kB - 4kB Bootloader) i el 44% de la memòria RAM (2kB).
Les parts estàtiques d’una pàgina web (capçalera i peu de pàgina HTML, enllaç Bootstrap CSS, metaetiquetes, capçalera de resposta HTTP, tipus de contingut, formulari i molt més) s’emmagatzemen directament a la memòria flash d’Arduino, cosa que pot reduir significativament la quantitat de RAM que s’utilitza per a l’usuari. -contingut generat. Per tant, el servidor web és més estable i pot gestionar la connexió múltiple de diversos dispositius de la xarxa alhora.
Per tal de mantenir els valors establerts fins i tot després d’una fallada d’alimentació, s’emmagatzemen a la memòria EEPROM de l’Arduino. Temperatura de referència per compensar 10, histèresi per compensar 100. Cadascun dels valors ocupa un màxim de 5B a la memòria EEPROM. El límit de transcripció EEPROM és de 100.000 transcripcions. Les dades només es sobreescriuen quan s’envia el formulari HTML. En cas que el dispositiu no tingui res emmagatzemat en les compensacions EEPROM esmentades a la primera posada en marxa, l'escriptura automàtica es realitzarà amb valors predeterminats - referència: 20,25, histèresi 0,25 ° C
La metaetiqueta Actualitza actualitza tota la pàgina d’Arduino cada 10 segons. En aquest moment, cal escriure el canvi del termòstat, en cas contrari, es restabliran les finestres d'entrada quan es refresqui la pàgina. Com que la biblioteca Ethernet no inclou l'ús d'un servidor web asíncron, s'ha de reescriure tota la pàgina. Les dades dinàmiques que canvien principalment són el valor actual de la sortida: activat / desactivat.
Pas 3: pàgines HTML que s'executen al servidor web, esquemes, codi font
Pàgines HTML que s'executen a Arduino:
- / - pàgina arrel que conté el formulari, llista de sortida lògica actual del relé, temperatura
- /action.html: processa els valors del formulari, els escriu a la memòria EEPROM, redirigeix l'usuari a la pàgina arrel
- / get_data /: distribueix dades sobre temperatura actual, temperatura de referència i histèresi a un tercer (ordinador, microcontrolador, altre client …) en format JSON
També hi ha una versió ampliada d’aquest termòstat que inclou:
- Mode manual per a relés (temps il·limitat, ON / OFF dur)
- Temporitzador de vigilància
- Hi ha més sensors disponibles, per exemple: SHT21, SHT31, DHT22, BME280, BMP280 i altres
- Mode de refrigeració
- Control i configuració mitjançant RS232 / UART independent d’Ethernet
- Control de temperatura PID per termòstat
- Possibilitat d'utilitzar plataformes ESP8266, ESP32 per a termòstat
La implementació del programa per al projecte es pot trobar a: https://github.com/martinius96/termostat-ethernet/ La implementació conté programes per a l'adreça IPv4 estàtica / dinàmica assignada a l'escut Ethernet.
El termòstat només està pensat per a temperatures interiors. (per sobre de 0 ° C), a la qual s’adapta la lògica del sistema. És possible substituir un termòstat d’habitació existent per un termòstat, és possible substituir temporalment un termòstat en una nevera, mantenir una temperatura constant en un terrari i similars.
Recomanat:
Configuració de l'ordinador portàtil / PC Raspberry Pi 4 mitjançant cable Ethernet (sense monitor, sense Wi-Fi): 8 passos
Configureu Raspberry Pi 4 mitjançant un ordinador portàtil / PC mitjançant cable Ethernet (sense monitor, sense Wi-Fi): en això treballarem amb Raspberry Pi 4 Model-B de 1 GB de RAM per a la configuració. Raspberry-Pi és un ordinador de placa única que s’utilitza amb finalitats educatives i per a projectes de bricolatge amb un cost assequible, que requereix una font d’alimentació de 5V 3A
Com fer un cable Ethernet: 5 passos
Com fer un cable Ethernet: Hola! Avui aprendrem a fabricar el vostre propi cable Ethernet estàndard de la indústria. Què us permetrà estalviar diners a l'hora de necessitar cables? Per què estic qualificat per ensenyar-vos? Bé, sóc un professional de la informàtica que he passat els darrers 2
Injector PoE de bricolatge 10 / 100M Ethernet: 6 passos
Injector PoE de bricolatge 10 / 100M Ethernet: aquí farem un senzill inector PoE adequat per a Ethernet 10 / 100M, que també es pot alimentar directament amb bateries
MCP23017 Control GPIO via Ethernet: 5 passos
Control GPIO MCP23017 via Ethernet: controleu l’extensor IO MCP23017 via ethernet mitjançant el sensor Bridge i la placa MCP23017. Ordres enviades per scripts Python, URL del navegador o qualsevol sistema capaç de comunicacions HTTP. Es pot integrar a Home Assistant per a la domòtica. Els cables són
Lectura d'humitat amb sensor Ethernet: 3 passos
Lectura d’humitat amb sensor Ethernet: l’objectiu del projecte era poder llegir lectures d’humitat i temperatura a través de la xarxa ethernet, de manera que els resultats es poguessin utilitzar per a la domòtica (Home Assistant, etc.). El sensor T9602 tenia el millor factor de forma, amb actuació a ar