
Cuprins:
2025 Autor: John Day | [email protected]. Modificat ultima dată: 2025-01-23 15:04

În ceea ce privește hardware-ul, proiectul folosește:
- Arduino Uno / Mega 2560
- Scut Ethernet Wiznet W5100 / modul Ethernet Wiznet W5200-W5500
- Senzor de temperatură DS18B20 pe magistrala OneWire
- Releu SRD-5VDC-SL-C utilizat pentru comutarea cazanului
Pasul 1: Descrierea termostatului Ethernet

Arduino este o platformă încorporată la îndemână, care poate fi utilizată, de exemplu, pentru a construi un termostat de cameră, pe care îl vom arăta astăzi. Termostatul este accesibil din rețeaua LAN în care este situat, în timp ce este echipat cu o interfață web care este utilizată pentru a configura toate elementele termostatului. Interfața web rulează direct pe Arduino în modul server web. Serverul web permite rularea mai multor pagini HTML independente, care pot fi informative sau chiar funcționale. Serverul web rulează pe portul 80 -
Releul electromagnetic SRD-5VDC-SL-C, care este utilizat în proiect, permite comutarea până la 10A la 230V - putere 2300W. În cazul comutării unui circuit de curent continuu (sarcină) este posibilă comutarea 300W (10A la 30V DC). Alternativ, releul SSR OMRON G3MB-202P este pe deplin compatibil cu schema de cablare, care este potrivită doar pentru sarcini neinductive și exclusiv pentru circuite de curent alternativ. Puterea maximă de comutare 460W (230V, 2A). Consumul de Arduino cu ecran Ethernet și alte periferice este la nivelul de 100-120mA cu releul deschis. Când este închis, sub 200mA la alimentare 5V.
Pasul 2: interfață web

Interfața web pentru termostat permite:
- Vizualizați temperatura în timp real din senzorul DS18B20
- Vizualizați starea releului în timp real cu schimbarea dinamică a ieșirii pe pagină
- Modificați temperatura țintă (de referință) în intervalul de la 5 la 50 ° C cu o etapă de 0,25 ° C
- Modificați histerezisul în intervalul 0-10 ° C cu o etapă de 0,25 ° C
Interfața web este concepută pentru a găzdui ecrane mai mari și mai mici. Este receptiv, acceptă ecrane cu ecran lat de înaltă definiție, dar și dispozitive mobile. Interfața folosește stiluri CSS importate ale cadrului Bootstrap de pe un server CDN extern, care încarcă dispozitivul din partea clientului la deschiderea unei pagini care rulează pe Arduino. Deoarece Arduino Uno are o memorie limitată, acesta poate rula doar pagini cu o dimensiune de câțiva kB. Prin importarea stilurilor CSS de pe un server extern, acesta va reduce performanța și încărcarea de memorie a Arduino. Implementarea software-ului (pentru Arduine Uno) folosește 70% din memoria flash (32kB - 4kB Bootloader) și 44% din memoria RAM (2kB).
Părțile statice ale unei pagini web (antet și subsol document HTML, legătură Bootstrap CSS, metaetichete, antet de răspuns HTTP, tip de conținut, formular și multe altele) sunt stocate direct în memoria flash Arduino, ceea ce poate reduce semnificativ cantitatea de RAM utilizată pentru utilizator -conținut generat. Serverul web este astfel mai stabil și poate gestiona simultan mai multe conexiuni ale mai multor dispozitive din rețea.
Pentru a păstra valorile setate chiar și după o pană de curent, acestea sunt stocate în memoria EEPROM a Arduino. Temperatura de referință pentru a compensa 10, histerezis pentru a compensa 100. Fiecare dintre valori ocupă maximum 5B în memoria EEPROM. Limita de transcriere EEPROM este la nivelul de 100 000 de transcrieri. Datele sunt suprascrise numai atunci când este trimis formularul HTML. În cazul în care dispozitivul nu are nimic stocat pe offset-urile EEPROM menționate la prima pornire, scrierea automată va fi efectuată cu valori implicite - referință: 20,25, histerezis 0,25 ° C
Metaeticheta Reîmprospătare reîmprospătează întreaga pagină Arduino la fiecare 10 secunde. În acest moment, este necesar să scrieți modificarea termostatului, altfel ferestrele de intrare vor fi resetate când pagina este actualizată. Deoarece biblioteca Ethernet nu include utilizarea unui server web asincron, întreaga pagină trebuie rescrisă. Datele dinamice care se schimbă în principal sunt valoarea curentă a ieșirii - Pornit / Oprit.
Pasul 3: Pagini HTML care rulează pe Webserver, Scheme, Cod sursă

Pagini HTML care rulează pe Arduino:
- / - pagina rădăcină care conține formularul, listarea curentă a ieșirii logice pentru releu, temperatura
- /action.html - procesează valorile din formular, le scrie în memoria EEPROM, redirecționează utilizatorul înapoi la pagina rădăcină
- / get_data / - distribuie date despre temperatura curentă, temperatura de referință și histerezis către o terță parte (computer, microcontroler, alt client …) în format JSON
Există, de asemenea, o versiune extinsă a acestui termostat care include:
- Mod manual pentru relee (timp nelimitat, ON / OFF greu)
- Cronometru de supraveghere
- Mai mulți senzori disponibili, de exemplu: SHT21, SHT31, DHT22, BME280, BMP280 și altele
- Mod de răcire
- Control și configurare prin RS232 / UART independent de Ethernet
- Controlul temperaturii PID pentru termostat
- Posibilitatea de a utiliza platforme ESP8266, ESP32 pentru termostat
Implementarea programului pentru proiect poate fi găsită la: https://github.com/martinius96/termostat-ethernet/ Implementarea conține programe pentru adresa IPv4 statică / dinamică atribuită scutului Ethernet.
Termostatul este destinat numai temperaturilor interioare! (peste 0 ° C), la care este adaptată logica sistemului. Este posibil să înlocuiți un termostat de cameră existent cu un termostat, este posibil să înlocuiți temporar un termostat într-un frigider, să mențineți o temperatură constantă într-un terariu și altele asemenea.
Recomandat:
Configurați Raspberry Pi 4 prin laptop / computer utilizând cablu Ethernet (fără monitor, fără Wi-Fi): 8 pași

Configurați Raspberry Pi 4 prin laptop / PC folosind cablu Ethernet (fără monitor, fără Wi-Fi): În acest sens vom lucra cu Raspberry Pi 4 Model-B de 1 GB RAM pentru configurare. Raspberry-Pi este un computer de bord unic utilizat în scopuri educaționale și proiecte DIY cu un cost accesibil, necesită o sursă de alimentare de 5V 3A
Cum se realizează un cablu Ethernet: 5 pași

Cum se realizează un cablu Ethernet: Bună ziua! Astăzi vom învăța cum să vă creați propriul cablu Ethernet standard din industrie! Care va fi capabil să vă economisească bani când vine vorba de cabluri! Deci, de ce sunt calificat să vă învăț? Ei bine, sunt un IT profesionist pe care l-am petrecut ultimele 2
DIY 10 / 100M Ethernet PoE Injector: 6 pași

DIY 10 / 100M Ethernet PoE Injector: Aici vom face un inector simplu PoE potrivit pentru Ethernet 10 / 100M, care ar putea fi alimentat și direct cu baterii
MCP23017 Control GPIO prin Ethernet: 5 pași

MCP23017 Control GPIO prin Ethernet: Controlează MCP23017 IO-extender prin Ethernet folosind senzor Bridge și MCP23017 break out board. Comenzi trimise de scripturi Python, URL-uri de browser sau orice sistem capabil de comunicare HTTP. Poate fi integrat la Home Assistant pentru automatizarea locuințelor. Cablurile sunt
Citirea umidității cu senzor Ethernet: 3 pași

Citirea umidității cu senzor Ethernet: Scopul proiectului a fost să poată citi citirile de umiditate și temperatură prin rețeaua ethernet, astfel încât rezultatele să poată fi utilizate pentru automatizarea casei (Home Assistant etc.). Senzorul T9602 a avut cel mai bun factor de formă, cu performanță la ar