Kazalo:
- 1. korak: Opis termostata Ethernet
- Korak: Spletni vmesnik
- 3. korak: strani HTML, ki se izvajajo na spletnem strežniku, sheme, izvorna koda
Video: Sobni termostat - Arduino + Ethernet: 3 koraki
2024 Avtor: John Day | [email protected]. Nazadnje spremenjeno: 2024-01-30 12:03
Kar zadeva strojno opremo, projekt uporablja:
- Arduino Uno / Mega 2560
- Ethernetni ščit Wiznet W5100 / Ethernetni modul Wiznet W5200-W5500
- Temperaturni senzor DS18B20 na vodilu OneWire
- Rele SRD-5VDC-SL-C se uporablja za preklapljanje kotla
1. korak: Opis termostata Ethernet
Arduino je priročna vdelana platforma, ki jo lahko na primer uporabimo za izdelavo sobnega termostata, kar bomo danes pokazali. Termostat je dostopen iz omrežja LAN, v katerem se nahaja, medtem ko je opremljen s spletnim vmesnikom, ki se uporablja za konfiguracijo vseh elementov termostata. Spletni vmesnik deluje neposredno na Arduinu v načinu spletnega strežnika. Spletni strežnik omogoča izvajanje več neodvisnih strani HTML, ki so lahko informativne ali celo funkcionalne. Spletni strežnik deluje na vratih 80 -
Elektromagnetni rele SRD-5VDC-SL-C, ki se uporablja v projektu, omogoča preklop do 10A pri 230V-moč 2300W. V primeru preklopa enosmernega tokokroga (obremenitev) je možno preklopiti 300 W (10A pri 30 V DC). Druga možnost je, da je rele OMRON G3MB-202P SSR popolnoma združljiv s shemo ožičenja, ki je primerna samo za neinduktivne obremenitve in izključno za vezja AC. Največja preklopna moč 460W (230V, 2A). Poraba Arduina z Ethernet ščitom in drugimi zunanjimi napravami je pri odprtem releju na ravni 100-120 mA. Ko je zaprt, pod 200mA pri 5V napajanju.
Korak: Spletni vmesnik
Spletni vmesnik za termostat omogoča:
- Oglejte si temperaturo v realnem času s senzorja DS18B20
- Oglejte si stanje releja v realnem času z dinamično spremembo izhoda na strani
- Ciljno (referenčno) temperaturo spremenite v območju od 5 do 50 ° C s korakom po 0,25 ° C
- Histerezo spremenite v območju od 0 do 10 ° C s korakom 0,25 ° C
Spletni vmesnik je zasnovan za večje in manjše zaslone. Odziven je, podpira širokozaslonske zaslone visoke ločljivosti, pa tudi mobilne naprave. Vmesnik uporablja uvožene sloge CSS ogrodja Bootstrap iz zunanjega strežnika CDN, ki naloži strankino stran, ko odpre stran, ki se izvaja v Arduinu. Ker je Arduino Uno omejen s pomnilnikom, lahko izvaja le strani velikosti nekaj kB. Z uvozom slogov CSS iz zunanjega strežnika bo zmanjšala zmogljivost in obremenitev pomnilnika Arduina. Programska oprema (za Arduine Uno) uporablja 70% pomnilnika flash (32kB - 4kB Bootloader) in 44% pomnilnika RAM (2kB).
Statični deli spletne strani (glava in noga dokumenta HTML, povezovanje Bootstrap CSS, metaoznake, glava odziva HTTP, vrsta vsebine, obrazec in drugo) so shranjeni neposredno v pomnilniku Arduino, kar lahko znatno zmanjša količino RAM -a, uporabljenega za uporabnika. -ustvarjena vsebina. Spletni strežnik je tako bolj stabilen in lahko hkrati upravlja več povezav več naprav v omrežju.
Da bi ohranili nastavljene vrednosti tudi po izpadu napajanja, so shranjene v pomnilniku EEPROM Arduina. Referenčna temperatura za odmik 10, histereza za odmik 100. Vsaka od vrednosti zavzame največ 5B v pomnilniku EEPROM. Omejitev prepisa EEPROM je na ravni 100 000 prepisov. Podatki se prepišejo le, ko je predložen obrazec HTML. V primeru, da naprava pri prvem zagonu nima shranjenih nič na omenjenih odmikih EEPROM, bo izvedeno samodejno pisanje s privzetimi vrednostmi - sklic: 20,25, histereza 0,25 ° C
Metaoznaka Refresh osveži celotno stran Arduino vsakih 10 sekund. Do takrat je treba zapisati spremembo termostata, sicer se vnosna okna ponastavijo, ko se stran osveži. Ker knjižnica Ethernet ne vključuje uporabe asinhronega spletnega strežnika, je treba celotno stran prepisati. Dinamični podatki, ki se večinoma spreminjajo, so trenutna vrednost izhoda - Vklop / Izklop.
3. korak: strani HTML, ki se izvajajo na spletnem strežniku, sheme, izvorna koda
Strani HTML, ki se izvajajo na Arduinu:
- / - korenska stran, ki vsebuje obrazec, seznam trenutnih logičnih izhodov za rele, temperaturo
- /action.html - procesira vrednosti iz obrazca, jih zapiše v pomnilnik EEPROM, uporabnika preusmeri nazaj na korensko stran
- / get_data/ - posreduje podatke o trenutni temperaturi, referenčni temperaturi in histerezi tretji osebi (računalnik, mikrokrmilnik, drug odjemalec …) v formatu JSON
Obstaja tudi razširjena različica tega termostata, ki vključuje:
- Ročni način za releje (neomejen čas, močno vklop / izklop)
- Časovnik čuvaj
- Na voljo več senzorjev, na primer: SHT21, SHT31, DHT22, BME280, BMP280 in drugi
- Način hlajenja
- Nadzor in konfiguracija prek RS232 / UART neodvisno od Etherneta
- PID regulacija temperature za termostat
- Možnost uporabe platform ESP8266, ESP32 za termostat
Izvedbo programa za projekt najdete na: https://github.com/martinius96/termostat-ethernet/ Izvedba vsebuje programe za statični/dinamični naslov IPv4, dodeljen Ethernetnemu ščitu.
Termostat je namenjen samo notranjim temperaturam! (nad 0 ° C), ki mu je sistemska logika prilagojena. Možno je zamenjati obstoječi sobni termostat s termostatom, možno je začasno zamenjati termostat v hladilniku, vzdrževati konstantno temperaturo v terariju in podobno.
Priporočena:
DIY 10/100M Ethernet PoE injektor: 6 korakov
DIY 10/100M Ethernet PoE Injector: Tukaj bomo naredili preprost PoE inektor, primeren za 10/100M ethernet, lahko se napaja tudi neposredno z baterijami
Branje vlažnosti s senzorjem Ethernet: 3 koraki
Branje vlažnosti s senzorjem Ethernet: Namen projekta je bil prebrati odčitke vlažnosti in temperature prek ethernetnega omrežja, tako da se lahko rezultati uporabijo za avtomatizacijo doma (pomočnik za dom itd.). nastop na ar
Raspberry Pi Ethernet do Wifi Bridge: 7 korakov
Raspberry Pi Ethernet do Wifi Bridge: Imam preskusno mrežo različnih Raspberry Pies, naprav in drugih računalnikov ter omrežne opreme, vse jih upravlja požarni zid/usmerjevalnik Ubiquity in želim, da je povezan z internetom, da lahko potegnite posodobitve, programsko opremo itd
Domača avtomatizacija z glasovnim nadzorom (na primer Alexa ali Google Home, brez povezave Wi -Fi ali Ethernet): 4 koraki
Avtomatizacija doma z glasovnim nadzorom (na primer Alexa ali Google Home, brez povezave Wi -Fi ali Ethernet): v bistvu gre za arduino upravljane releje, ki temeljijo na SMS -u z nastavitvijo Googlovega pomočnika za pošiljanje sporočil na glasovna navodila. Je zelo enostaven in poceni in deluje kot oglasi Alexa z vašim obstoječe električne naprave (če imate Moto -X smartp
Pretvorba usmerjevalnika Power Over Ethernet: 4 koraki (s slikami)
Pretvorba usmerjevalnika Power Over Ethernet: Ideja, ki vodi ta projekt, je pretvoriti kateri koli standardni usmerjevalni usmerjevalnik v enoto, ki podpira Power Over Ethernet (PoE) (opis Wikipedije) [], ne da bi kupili adapterje ali dodatno strojno opremo. nekaj precej pogostega v številnih podjetjih/izven