Sadržaj:
- Korak 1: Opis Ethernet termostata
- Korak 2: Web sučelje
- Korak 3: HTML stranice rade na web serveru, sheme, izvorni kod
Video: Sobni termostat - Arduino + Ethernet: 3 koraka
2024 Autor: John Day | [email protected]. Zadnja izmjena: 2024-01-30 08:04
Što se tiče hardvera, projekat koristi:
- Arduino Uno / Mega 2560
- Ethernet štit Wiznet W5100 / Ethernet modul Wiznet W5200-W5500
- Senzor temperature DS18B20 na sabirnici OneWire
- Relej SRD-5VDC-SL-C koristi se za uključivanje kotla
Korak 1: Opis Ethernet termostata
Arduino je praktična ugrađena platforma koja se može koristiti, na primjer, za izgradnju sobnog termostata, što ćemo danas pokazati. Termostatu je moguće pristupiti s LAN mreže u kojoj se nalazi, a opremljen je web sučeljem koje se koristi za konfiguriranje svih elemenata termostata. Web sučelje radi direktno na Arduinu u načinu rada web servera. Web server omogućava pokretanje nekoliko nezavisnih HTML stranica, koje mogu biti informativne ili čak funkcionalne. Web poslužitelj radi na portu 80 -
Elektromagnetski relej SRD-5VDC-SL-C, koji se koristi u projektu, omogućava uključivanje do 10A na 230V-snaga 2300W. U slučaju uključivanja istosmjernog kruga (opterećenje) moguće je uključiti 300 W (10A na 30 V DC). Alternativno, OMRON G3MB-202P SSR relej je potpuno kompatibilan sa shemom ožičenja, koja je pogodna samo za neinduktivna opterećenja i isključivo za AC krugove. Maksimalna sklopna snaga 460W (230V, 2A). Potrošnja Arduina sa Ethernet štitom i ostalim perifernim uređajima je na nivou 100-120mA sa otvorenim relejem. Kada je zatvoren, ispod 200mA na 5V napajanju.
Korak 2: Web sučelje
Web interfejs za termostat omogućava:
- Pogledajte temperaturu u stvarnom vremenu sa senzora DS18B20
- Pregledajte status releja u stvarnom vremenu sa dinamičkom promjenom izlaza na stranici
- Promijenite ciljnu (referentnu) temperaturu u rasponu od 5 do 50 ° C s korakom od 0,25 ° C
- Mijenjajte histerezu u rasponu od 0 do 10 ° C s korakom od 0,25 ° C
Web sučelje je dizajnirano za prilagođavanje većih i manjih ekrana. Odzivan je, podržava ekrane visoke definicije širokog ekrana, ali i mobilne uređaje. Sučelje koristi uvezene CSS stilove Bootstrap okvira s vanjskog CDN servera, koji učitava uređaj na strani klijenta pri otvaranju stranice koja se izvodi na Arduinu. Budući da je Arduino Uno ograničen memorijom, može pokretati samo stranice veličine nekoliko kB. Uvozom CSS stilova s vanjskog poslužitelja smanjit će se performanse i opterećenje memorije Arduina. Softverska implementacija (za Arduine Uno) koristi 70% flash memorije (32kB - 4kB Bootloader) i 44% RAM memorije (2kB).
Statični dijelovi web stranice (zaglavlje i podnožje HTML dokumenta, Bootstrap CSS povezivanje, meta oznake, zaglavlje HTTP odgovora, vrsta sadržaja, obrazac i drugo) pohranjuju se izravno u Arduino flash memoriju, što može značajno smanjiti količinu RAM -a koju koristi korisnik -generirani sadržaj. Web poslužitelj je stoga stabilniji i može se nositi s višestrukim povezivanjem više uređaja u mreži istovremeno.
Kako bi se zadržale zadane vrijednosti čak i nakon nestanka struje, pohranjuju se u EEPROM memoriju Arduina. Referentna temperatura za pomak 10, histereza za pomak 100. Svaka od vrijednosti zauzima najviše 5B u memoriji EEPROM -a. Ograničenje transkripcije EEPROM -a je na nivou od 100 000 transkripata. Podaci se prepisuju samo kada se pošalje HTML obrazac. U slučaju da uređaj nema ništa pohranjeno na spomenutim EEPROM pomacima pri prvom pokretanju, izvršit će se automatsko pisanje sa zadanim vrijednostima - referenca: 20,25, histereza 0,25 ° C
Metaoznaka Refresh osvježava cijelu Arduino stranicu svakih 10 sekundi. Do tog trenutka potrebno je napisati promjenu za termostat, inače će se prozori za unos vratiti na zadano kada se stranica osvježi. Budući da Ethernet biblioteka ne uključuje upotrebu asinhronog web servera, cijela stranica mora biti prepisana. Dinamički podaci koji se uglavnom mijenjaju su trenutne vrijednosti izlaza - Uključeno / Isključeno.
Korak 3: HTML stranice rade na web serveru, sheme, izvorni kod
HTML stranice na Arduinu:
- / - korijenska stranica koja sadrži obrazac, trenutni popis logičkih izlaza za relej, temperaturu
- /action.html - obrađuje vrijednosti iz obrasca, zapisuje ih u EEPROM memoriju, preusmjerava korisnika natrag na početnu stranicu
- / get_data/ - distribuira podatke o trenutnoj temperaturi, referentnoj temperaturi i histerezi trećoj strani (računar, mikrokontroler, drugi klijent …) u JSON formatu
Postoji i proširena verzija ovog termostata koja uključuje:
- Ručni način rada za releje (neograničeno vrijeme, teško uključivanje / isključivanje)
- Mjerač vremena čuvara
- Dostupno više senzora, na primjer: SHT21, SHT31, DHT22, BME280, BMP280 i drugi
- Način hlađenja
- Upravljanje i konfiguracija putem RS232 / UART neovisno o Ethernetu
- PID regulacija temperature za termostat
- Mogućnost korištenja ESP8266, ESP32 platformi za termostat
Implementacija programa za projekat može se pronaći na: https://github.com/martinius96/termostat-ethernet/ Implementacija sadrži programe za statičku/dinamičku IPv4 adresu dodijeljenu Ethernet štitu.
Termostat je namijenjen samo za sobne temperature! (iznad 0 ° C), na šta je sistemska logika prilagođena. Moguće je zamijeniti postojeći sobni termostat termostatom, moguće je privremeno zamijeniti termostat u hladnjaku, održavati konstantnu temperaturu u terarijumu i slično.
Preporučuje se:
Postavljanje Raspberry Pi 4 preko prijenosnog računara/računara pomoću Ethernet kabela (bez monitora, bez Wi-Fi-ja): 8 koraka
Postavljanje Raspberry Pi 4 preko prijenosnog računara/računara pomoću Ethernet kabela (bez monitora, bez Wi-Fi-ja): U ovom radu radićemo sa Raspberry Pi 4 Model-B od 1 GB RAM-a za postavljanje. Raspberry-Pi je jednokrilni računar koji se koristi u obrazovne svrhe i uradi sam projekti po pristupačnoj cijeni, zahtijeva napajanje od 5V 3A
Kako napraviti Ethernet kabel: 5 koraka
Kako napraviti Ethernet kabel: Zdravo! Danas ćemo učiti kako napraviti vlastiti Ethernet kabel industrijskog standarda! Što će vam uštedjeti novac kada su vam potrebni kablovi! Pa zašto sam onda kvalificiran da vas podučavam? Pa, ja sam IT stručnjak koji sam proveo posljednja 2
DIY 10/100M Ethernet PoE injektor: 6 koraka
DIY 10/100M Ethernet PoE Injector: Ovdje ćemo napraviti jednostavan PoE inektor pogodan za 10/100M Ethernet, koji se također može napajati izravno s baterijama
Čitanje vlažnosti sa Ethernet senzorom: 3 koraka
Čitanje vlažnosti s Ethernet senzorom: Svrha projekta bila je mogućnost očitavanja očitanja vlažnosti i temperature putem ethernet mreže, tako da se rezultati mogu koristiti za kućnu automatizaciju (kućni pomoćnik itd.). T9602 senzor je imao najbolji faktor oblika, sa odličnim nastup na ar
Raspberry Pi Ethernet na Wifi Bridge: 7 koraka
Raspberry Pi Ethernet na Wifi Bridge: Imam testnu mrežu različitih Raspberry Piesa, uređaja i drugih računara i mrežne opreme, svima njima upravlja Ubiquity firewall/usmjerivač i želim ga povezati s internetom kako bih mogao povlačenje ažuriranja, softver itd. Nažalost