
Sisällysluettelo:
2025 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2025-01-23 14:41

Laitteiston osalta projekti käyttää:
- Arduino Uno / Mega 2560
- Ethernet-suoja Wiznet W5100 / Ethernet-moduuli Wiznet W5200-W5500
- DS18B20 -lämpötila -anturi OneWire -väylässä
- Rele SRD-5VDC-SL-C, jota käytetään kattilan kytkemiseen
Vaihe 1: Ethernet -termostaatin kuvaus

Arduino on kätevä embeeded -alusta, jota voidaan käyttää esimerkiksi huonetermostaatin rakentamiseen, jonka esittelemme tänään. Termostaattiin pääsee LAN -verkosta, jossa se sijaitsee, ja se on varustettu verkkoliitännällä, jota käytetään kaikkien termostaatin elementtien konfigurointiin. Verkkokäyttöliittymä toimii suoraan Arduinolla verkkopalvelintilassa. Verkkopalvelin mahdollistaa useiden itsenäisten HTML -sivujen käytön, jotka voivat olla informatiivisia tai jopa toimivia. Verkkopalvelin toimii portilla 80 -
Projektissa käytettävä sähkömagneettinen rele SRD-5VDC-SL-C mahdollistaa kytkennän jopa 10 A 230 V: n teholla-2300 W: n teholla. Jos vaihdat tasavirtapiiriä (kuormaa), on mahdollista vaihtaa 300 W (10 A 30 V DC). Vaihtoehtoisesti OMRON G3MB-202P SSR -rele on täysin yhteensopiva kytkentäkaavion kanssa, joka soveltuu vain ei-induktiivisille kuormille ja yksinomaan vaihtovirtapiireille. Suurin kytkentäteho 460W (230V, 2A). Arduinon kulutus Ethernet-suojauksella ja muilla oheislaitteilla on 100-120 mA: n tasolla, kun rele on auki. Suljettuna alle 200mA 5V jännitteellä.
Vaihe 2: Web -käyttöliittymä

Termostaatin verkkokäyttöliittymä mahdollistaa:
- Tarkastele reaaliaikaista lämpötilaa DS18B20-anturista
- Tarkastele reaaliaikaisen releen tilaa dynaamisen lähdön muutoksen avulla sivulla
- Muuta tavoitelämpötilaa (vertailulämpötila) alueella 5 - 50 ° C 0,25 ° C: n portaalla
- Muuta hystereesiä välillä 0-10 ° C 0,25 ° C: n portaalla
Verkkokäyttöliittymä on suunniteltu isommille ja pienemmille näytöille. Se on responsiivinen, tukee laajakuvanäyttöjä, mutta myös mobiililaitteita. Käyttöliittymä käyttää Bootstrap-kehyksen tuettuja CSS-tyylejä ulkoiselta CDN-palvelimelta, joka lataa asiakaspuolen laitteen avattaessa Arduinolla suoritettavaa sivua. Koska Arduino Uno on muistirajoitettu, se voi ajaa vain muutaman kB: n kokoisia sivuja. Tuomalla CSS -tyylejä ulkoiselta palvelimelta se vähentää Arduinon suorituskykyä ja muistikuormitusta. Ohjelmistototeutus (Arduine Unolle) käyttää 70% flash -muistista (32 kB - 4 kb Bootloader) ja 44% RAM -muistista (2 kb).
Verkkosivun staattiset osat (HTML -asiakirjan ylätunniste ja alatunniste, Bootstrap CSS -linkitys, sisällönkuvauskentät, HTTP -vastausotsikko, sisältötyyppi, lomake ja paljon muuta) tallennetaan suoraan Arduinon flash -muistiin, mikä voi vähentää merkittävästi käyttäjän käyttämän RAM -muistin määrää. -luoma sisältö. Verkkopalvelin on siten vakaampi ja pystyy käsittelemään useiden verkon laitteiden yhdistämistä samanaikaisesti.
Jotta asetetut arvot säilyisivät myös sähkökatkon jälkeen, ne tallennetaan Arduinon EEPROM -muistiin. Vertailulämpötila siirtymään 10, hystereesi 100. EEPROM -transkriptioraja on 100 000 transkription tasolla. Tiedot korvataan vain, kun HTML -lomake lähetetään. Jos laitteeseen ei ole tallennettu mitään mainittuihin EEPROM -siirtoihin ensimmäisen käynnistyksen yhteydessä, automaattinen kirjoitus suoritetaan oletusarvoilla - viite: 20,25, hysterees 0,25 ° C
Päivitä -sisällönkuvauskenttä päivittää koko Arduino -sivun 10 sekunnin välein. Tähän mennessä sinun on kirjoitettava termostaatin muutos, muuten syöttöikkunat nollataan, kun sivu päivitetään. Koska Ethernet -kirjasto ei sisällä asynkronisen verkkopalvelimen käyttöä, koko sivu on kirjoitettava uudelleen. Pääasiassa muuttuva dynaaminen data on lähdön nykyinen arvo - Päällä / Pois.
Vaihe 3: HTML -sivut, jotka toimivat verkkopalvelimessa, kaaviot, lähdekoodi

Arduinolla toimivat HTML -sivut:
- / - juurisivu, joka sisältää lomakkeen, releen nykyisen logiikan lähtöluettelon, lämpötilan
- /action.html - käsittelee lomakkeen arvot, kirjoittaa ne EEPROM -muistiin, ohjaa käyttäjän takaisin juurisivulle
- / get_data/ - jakaa tietoja nykyisestä lämpötilasta, vertailulämpötilasta ja hystereesistä kolmannelle osapuolelle (tietokone, mikro -ohjain, muu asiakas…) JSON -muodossa
Tästä termostaatista on myös laajennettu versio, joka sisältää:
- Manuaalinen tila releille (rajoittamaton aika, kova ON / OFF)
- Vahtikoiran ajastin
- Saatavilla lisää antureita, esimerkiksi: SHT21, SHT31, DHT22, BME280, BMP280 ja muita
- Jäähdytystila
- Ohjaus ja kokoonpano RS232 / UART -liitännän kautta Ethernetistä riippumatta
- PID -lämpötilan säätö termostaatille
- Mahdollisuus käyttää ESP8266, ESP32 -alustoja termostaatille
Projektin ohjelman toteutus löytyy osoitteesta: https://github.com/martinius96/termostat-ethernet/ Toteutus sisältää ohjelmia Ethernet-suojalle määritetylle staattiselle/dynaamiselle IPv4-osoitteelle.
Termostaatti on tarkoitettu vain sisäilman lämpötiloihin! (yli 0 ° C), johon järjestelmälogiikka on sovitettu. On mahdollista korvata olemassa oleva huonetermostaatti termostaatilla, on mahdollista vaihtaa tilapäisesti jääkaapin termostaatti, ylläpitää vakiolämpötila terraariossa ja vastaavat.
Suositeltava:
Aseta Raspberry Pi 4 läppäriin/tietokoneeseen Ethernet-kaapelilla (ei näyttöä, ei Wi-Fi-yhteyttä): 8 vaihetta

Asenna Raspberry Pi 4 kannettavan tietokoneen/tietokoneen kautta Ethernet-kaapelilla (ei näyttöä, ei Wi-Fi-yhteyttä): Tässä työskentelemme Raspberry Pi 4 Model-B: n kanssa 1 Gt RAM-muistia asennuksen aikana. Raspberry-Pi on yksi piirilevy, jota käytetään opetustarkoituksiin ja DIY-projekteihin edulliseen hintaan, vaatii 5V 3A virtalähteen
Ethernet -kaapelin tekeminen: 5 vaihetta

Ethernet -kaapelin tekeminen: Hei! Tänään opimme tekemään oman teollisuusstandardin mukaisen Ethernet-kaapelin! Mikä voi säästää rahaa kaapeleiden tarpeessa! Miksi siis olen pätevä opettamaan sinua? Olen IT -ammattilainen, jonka olen viettänyt viimeiset 2
DIY 10/100M Ethernet PoE -injektori: 6 vaihetta

DIY 10/100M Ethernet PoE -injektori: Täällä teemme yksinkertaisen PoE -inektorin, joka soveltuu 10/100M -ethernetille, ja se voidaan myös käyttää suoraan paristoilla
Kosteuden lukeminen Ethernet -anturin avulla: 3 vaihetta

Kosteuden lukeminen Ethernet -anturilla: Hankkeen tarkoituksena oli pystyä lukemaan kosteus- ja lämpötilalukemat ethernet -verkon kautta, jotta tuloksia voitaisiin käyttää kodin automatisointiin (Home Assistant jne.). T9602 -anturilla oli paras muoto esitys ar
Raspberry Pi Ethernet Wifi -siltaan: 7 vaihetta

Raspberry Pi Ethernet Wifi -siltaan: Minulla on testiverkko eri vadelmapiirakoista, laitteista ja muista tietokoneista ja verkkolaitteista, niitä kaikkia hallinnoi Ubiquity -palomuuri/-reititin ja haluan yhdistää sen Internetiin, jotta voin päivityksiä, ohjelmistoja jne