Satura rādītājs:
- 1. darbība: Ethernet termostata apraksts
- 2. darbība: tīmekļa saskarne
- 3. darbība: HTML lapas, kas darbojas tīmekļa serverī, shēmas, avota kods
Video: Telpas termostats - Arduino + Ethernet: 3 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:52
Aparatūras ziņā projekts izmanto:
- Arduino Uno / Mega 2560
- Ethernet vairogs Wiznet W5100 / Ethernet modulis Wiznet W5200-W5500
- DS18B20 temperatūras sensors OneWire kopnē
- Relejs SRD-5VDC-SL-C, ko izmanto katla pārslēgšanai
1. darbība: Ethernet termostata apraksts
Arduino ir ērta embeeded platforma, ko var izmantot, piemēram, lai izveidotu telpas termostatu, ko mēs parādīsim šodien. Termostatam var piekļūt no LAN tīkla, kurā tas atrodas, bet tas ir aprīkots ar tīmekļa saskarni, ko izmanto, lai konfigurētu visus termostata elementus. Tīmekļa saskarne darbojas tieši Arduino tīmekļa servera režīmā. Tīmekļa serveris ļauj palaist vairākas neatkarīgas HTML lapas, kas var būt informatīvas vai pat funkcionālas. Tīmekļa serveris darbojas ar portu 80 -
Projektā izmantotais elektromagnētiskais relejs SRD-5VDC-SL-C ļauj pārslēgties līdz 10A pie 230V-jauda 2300W. Līdzstrāvas ķēdes (slodzes) pārslēgšanas gadījumā ir iespējams pārslēgt 300W (10A pie 30V DC). Alternatīvi, OMRON G3MB-202P SSR relejs ir pilnībā saderīgs ar elektroinstalācijas shēmu, kas ir piemērota tikai induktīvām slodzēm un tikai maiņstrāvas ķēdēm. Maksimālā pārslēgšanas jauda 460W (230V, 2A). Arduino ar Ethernet vairogu un citām perifērijas ierīcēm patēriņš ir 100-120 mA līmenī ar atvērtu releju. Aizverot, zem 200mA pie 5V barošanas.
2. darbība: tīmekļa saskarne
Termostata tīmekļa saskarne ļauj:
- Skatiet reālā laika temperatūru no DS18B20 sensora
- Skatiet reāllaika releja statusu ar dinamiskām izvades izmaiņām lapā
- Mainiet mērķa (atsauces) temperatūru diapazonā no 5 līdz 50 ° C ar 0,25 ° C soli
- Modificējiet histerēzi diapazonā no 0 līdz 10 ° C ar 0,25 ° C soli
Tīmekļa saskarne ir paredzēta lielākiem un mazākiem ekrāniem. Tas ir atsaucīgs, atbalsta platekrāna augstas izšķirtspējas ekrānus, bet arī mobilās ierīces. Saskarne izmanto Bootstrap ietvara importētos CSS stilus no ārējā CDN servera, kas ielādē klienta puses ierīci, atverot lapu, kas darbojas Arduino. Tā kā Arduino Uno ir ierobežota atmiņa, tas var palaist tikai dažas KB lielas lapas. Importējot CSS stilus no ārēja servera, tas samazinās Arduino veiktspēju un atmiņas slodzi. Programmatūras ieviešana (Arduine Uno) izmanto 70% zibatmiņas (32 KB - 4 KB sāknēšanas ielādētājs) un 44% RAM atmiņas (2 KB).
Tīmekļa lapas statiskās daļas (HTML dokumenta galvene un kājene, Bootstrap CSS saite, metatagi, HTTP atbildes galvene, satura veids, veidlapa un citas) tiek saglabātas tieši Arduino zibatmiņā, kas var ievērojami samazināt lietotājam izmantotās RAM apjomu. -ģenerēts saturs. Tādējādi tīmekļa serveris ir stabilāks un vienlaikus var apstrādāt vairāku tīkla ierīču vairāku savienojumu savienojumu.
Lai saglabātu iestatītās vērtības pat pēc strāvas padeves pārtraukuma, tās tiek saglabātas Arduino EEPROM atmiņā. Atsauces temperatūra līdz nobīdei 10, histerēze līdz 100. EEPROM transkripcijas limits ir 100 000 transkriptu līmenī. Dati tiek pārrakstīti tikai tad, kad tiek iesniegta HTML veidlapa. Gadījumā, ja ierīces pirmajā palaišanas reizē nekas nav saglabāts minētajos EEPROM nobīdēs, tiks veikta automātiska rakstīšana ar noklusējuma vērtībām - atsauce: 20,25, histerēze 0,25 ° C
Atjaunināšanas metatags atsvaidzina visu Arduino lapu ik pēc 10 sekundēm. Līdz tam laikam ir jāraksta termostata izmaiņas, pretējā gadījumā ievades logi tiks atiestatīti, kad lapa tiks atsvaidzināta. Tā kā Ethernet bibliotēka neietver asinhronā tīmekļa servera izmantošanu, visa lapa ir jāpārraksta. Dinamiskie dati, kas galvenokārt mainās, ir izejas pašreizējā vērtība - ieslēgta / izslēgta.
3. darbība: HTML lapas, kas darbojas tīmekļa serverī, shēmas, avota kods
HTML lapas, kas darbojas Arduino:
- / - saknes lapa, kurā ir veidlapa, pašreizējais loģikas izejas saraksts relejam, temperatūra
- /action.html - apstrādā vērtības no veidlapas, ieraksta tās EEPROM atmiņā, novirza lietotāju atpakaļ uz saknes lapu
- / get_data/ - izplata datus par pašreizējo temperatūru, atsauces temperatūru un histerēzi trešajai pusei (datoram, mikrokontrolleram, citam klientam …) JSON formātā
Ir arī šī termostata paplašināta versija, kas ietver:
- Manuālais režīms relejiem (neierobežots laiks, smaga ieslēgšana / izslēgšana)
- Sargsuņa taimeris
- Pieejami vairāk sensoru, piemēram: SHT21, SHT31, DHT22, BME280, BMP280 un citi
- Dzesēšanas režīms
- Vadība un konfigurācija, izmantojot RS232 / UART, neatkarīgi no Ethernet
- PID temperatūras kontrole termostatam
- Iespēja izmantot ESP8266, ESP32 platformas termostatam
Projekta programmas ieviešanu var atrast vietnē: https://github.com/martinius96/termostat-ethernet/. Īstenojumā ir programmas statiskajai/dinamiskajai IPv4 adresei, kas piešķirta Ethernet vairogam.
Termostats ir paredzēts tikai iekštelpu temperatūrai! (virs 0 ° C), kam ir pielāgota sistēmas loģika. Ir iespējams nomainīt esošo istabas termostatu pret termostatu, ir iespējams īslaicīgi nomainīt termostatu ledusskapī, uzturēt nemainīgu temperatūru terārijā un tamlīdzīgi.
Ieteicams:
Iestatiet Raspberry Pi 4 caur klēpjdatoru/datoru, izmantojot Ethernet kabeli (bez monitora, bez Wi-Fi): 8 soļi
Iestatiet Raspberry Pi 4 caur klēpjdatoru/datoru, izmantojot Ethernet kabeli (bez monitora, bez Wi-Fi): šajā gadījumā mēs strādāsim ar Raspberry Pi 4 modeli-B ar 1 GB RAM. Raspberry-Pi ir viens borta dators, ko izmanto izglītojošiem mērķiem un DIY projektiem par pieņemamu cenu, un tam ir nepieciešams 5 V 3A barošanas avots
Kā izveidot Ethernet kabeli: 5 soļi
Kā izveidot Ethernet kabeli: Sveiki! Šodien mēs iemācīsimies izgatavot savu nozares standarta Ethernet kabeli! Kurš ļaus jums ietaupīt naudu, kad runa ir par kabeļu nepieciešamību! Kāpēc tad es esmu kvalificēts jūs mācīt? Nu, es esmu IT speciālists, pēdējos 2 esmu pavadījis
DIY 10/100M Ethernet PoE inžektors: 6 soļi
DIY 10/100M Ethernet PoE inžektors: Šeit mēs izgatavosim vienkāršu PoE inektoru, kas piemērots 10/100 M Ethernet, un to var arī darbināt tieši ar baterijām
MCP23017 GPIO vadība caur Ethernet: 5 soļi
MCP23017 GPIO vadība caur Ethernet: kontrolējiet MCP23017 IO paplašinātāju, izmantojot ethernet, izmantojot Sensor Bridge un MCP23017 sadalīšanas paneli. Komandas, ko sūta Python skripti, pārlūkprogrammas URL vai jebkura sistēma, kas spēj nodrošināt HTTP saziņu. Var integrēt mājas palīgā mājas automatizācijai. Vadi ir
Mitruma lasīšana ar Ethernet sensoru: 3 soļi
Mitruma lasīšana ar Ethernet sensoru: projekta mērķis bija nolasīt mitruma un temperatūras rādījumus, izmantojot Ethernet tīklu, lai rezultātus varētu izmantot mājas automatizācijai (mājas palīgs utt.). T9602 sensoram bija vislabākais formas koeficients ar lielisku uzstāšanās ar