Talaan ng mga Nilalaman:
- Hakbang 1: Paglalarawan ng Ethernet Therostat
- Hakbang 2: Web Interface
- Hakbang 3: Tumatakbo ang Mga Pahina ng HTML sa Webserver, Schematics, Source Code
Video: Room Therostat - Arduino + Ethernet: 3 Hakbang
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:10
Sa mga tuntunin ng hardware, gumagamit ang proyekto ng:
- Arduino Uno / Mega 2560
- Ethernet kalasag Wiznet W5100 / Ethernet module Wiznet W5200-W5500
- Ang sensor ng temperatura ng DS18B20 sa OneWire bus
- Relay SRD-5VDC-SL-C na ginagamit para sa paglipat ng boiler
Hakbang 1: Paglalarawan ng Ethernet Therostat
Ang Arduino ay isang madaling gamiting platform na maaaring magamit, halimbawa, upang bumuo ng isang termostat sa silid, na ipapakita namin ngayon. Ang termostat ay naa-access mula sa LAN network kung saan ito matatagpuan, habang ito ay nilagyan ng isang web interface na ginagamit upang i-configure ang lahat ng mga elemento ng termostat. Direkta na tumatakbo ang web interface sa Arduino sa mode ng web server. Pinapayagan ng web server ang pagpapatakbo ng maraming mga independiyenteng pahina ng HTML, na maaaring maging kaalaman o kahit na gumagana. Tumatakbo ang web server sa port 80 -
Ang electromagnetic relay SRD-5VDC-SL-C, na ginagamit sa proyekto, ay nagbibigay-daan sa paglipat ng hanggang sa 10A sa 230V - lakas 2300W. Sa kaso ng paglipat ng isang DC circuit (load) posible na lumipat 300W (10A sa 30V DC). Bilang kahalili, ang OMRON G3MB-202P SSR relay ay ganap na katugma para sa diagram ng mga kable, na angkop lamang para sa mga hindi nagpapahiwatig na pag-load at eksklusibo para sa mga AC circuit. Maximum na switching power 460W (230V, 2A). Ang pagkonsumo ng Arduino na may Ethernet shield at iba pang mga peripheral ay nasa antas na 100-120mA na bukas ang relay. Kapag sarado, sa ibaba 200mA sa 5V supply.
Hakbang 2: Web Interface
Pinapayagan ng web interface para sa termostat ang:
- Tingnan ang real-time na temperatura mula sa sensor ng DS18B20
- Tingnan ang katayuan ng relay na real-time na may pagbabago ng pagbabago ng output sa pahina
- Baguhin ang target (sanggunian) na temperatura sa saklaw na 5 hanggang 50 ° C na may hakbang na 0.25 ° C
- Baguhin ang hysteresis sa saklaw na 0 hanggang 10 ° C na may hakbang na 0.25 ° C
Ang web interface ay dinisenyo upang mapaunlakan ang mas malaki at mas maliit na mga screen. Ito ay tumutugon, sinusuportahan ang mga screen ng mataas na kahulugan ng widescreen, ngunit pati na rin mga mobile device. Gumagamit ang interface ng na-import na mga estilo ng CSS ng balangkas ng Bootstrap mula sa isang panlabas na server ng CDN, na naglo-load ng aparato sa panig ng client kapag binubuksan ang isang pahina na tumatakbo sa Arduino. Dahil ang Arduino Uno ay limitado sa memorya, maaari lamang itong magpatakbo ng mga pahina ng ilang kB sa laki. Sa pamamagitan ng pag-import ng mga estilo ng CSS mula sa isang panlabas na server, babawasan nito ang pagganap at pag-load ng memorya ng Arduino. Ang pagpapatupad ng software (para sa Arduine Uno) ay gumagamit ng 70% ng flash memory (32kB - 4kB Bootloader) at 44% ng memorya ng RAM (2kB).
Ang mga static na bahagi ng isang web page (header at footer ng dokumento ng HTML, pag-link ng Bootstrap CSS, mga meta tag, HTTP na header ng pagtugon, Uri ng Nilalaman, form at higit pa) ay nakaimbak nang direkta sa memorya ng flash ng Arduino, na maaaring makabuluhang mabawasan ang dami ng ginamit na RAM para sa gumagamit -nilikha ng nilalaman. Sa gayon ang web server ay mas matatag at maaaring hawakan ang multi-koneksyon ng maraming mga aparato sa network nang sabay.
Upang mapanatili ang mga itinakdang halaga kahit na pagkatapos ng pagkabigo sa kuryente, nakaimbak ang mga ito sa memorya ng EEPROM ng Arduino. Ang temperatura ng sanggunian upang mabawi ang 10, hysteresis upang mabawi ang 100. Ang bawat isa sa mga halagang sumasakop sa maximum na 5B sa memorya ng EEPROM. Ang limitasyon ng transkripsyon ng EEPROM ay nasa antas ng 100, 000 na mga transcript. Ang data ay nai-o-overtake lamang kapag ang form na HTML ay isinumite. Kung sakaling ang aparato ay walang nakaimbak sa nabanggit na mga EEPROM na offset sa unang pagsisimula, ang awtomatikong pagsulat ay isasagawa na may mga default na halaga - sanggunian: 20.25, hysteresis 0.25 ° C
Ang Refresh meta tag ay nagre-refresh ng buong pahina ng Arduino bawat 10 segundo. Sa oras na ito kinakailangan na isulat ang pagbabago para sa termostat, kung hindi man ang mga input windows ay mai-reset kapag ang pahina ay nai-refresh. Dahil ang Ethernet library ay hindi kasama ang paggamit ng isang asynchronous web server, ang buong pahina ay dapat na muling isulat. Ang pabago-bagong data na pangunahing nagbabago ay ang kasalukuyang halaga ng output - On / Off.
Hakbang 3: Tumatakbo ang Mga Pahina ng HTML sa Webserver, Schematics, Source Code
Mga pahina ng HTML na tumatakbo sa Arduino:
- / - root page na naglalaman ng form, kasalukuyang listahan ng output ng lohika para sa relay, temperatura
- /action.html - pinoproseso ang mga halaga mula sa form, isinusulat ang mga ito sa memorya ng EEPROM, nai-redirect ang gumagamit pabalik sa root page
- / get_data / - namamahagi ng data sa kasalukuyang temperatura, temperatura ng sanggunian at hysteresis sa isang third party (computer, microcontroller, iba pang kliyente…) sa format na JSON
Mayroon ding pinalawig na bersyon ng termostat na ito na may kasamang:
- Manu-manong mode para sa mga relay (walang limitasyong oras, mahirap ON / OFF)
- Watchdog timer
- Magagamit na higit pang mga sensor, halimbawa: SHT21, SHT31, DHT22, BME280, BMP280 at iba pa
- Mode ng paglamig
- Kontrolin at pagsasaayos sa pamamagitan ng RS232 / UART na independyente sa Ethernet
- Pagkontrol sa temperatura ng PID para sa termostat
- Posibilidad na gumamit ng mga platform ng ESP8266, ESP32 para sa termostat
Ang pagpapatupad ng programa para sa proyekto ay maaaring matagpuan sa: https://github.com/martinius96/termostat-ethernet/ Naglalaman ang pagpapatupad ng mga programa para sa static / dynamic IPv4 address na nakatalaga sa kalasag ng Ethernet.
Ang termostat ay inilaan lamang para sa mga panloob na temperatura! (sa itaas 0 ° C), kung saan ang system logic ay inangkop. Posibleng palitan ang isang mayroon nang termostat sa silid na may termostat, posible na pansamantalang palitan ang isang termostat sa isang ref, panatilihin ang isang pare-pareho na temperatura sa isang terrarium at mga katulad nito.
Inirerekumendang:
I-set up ang Raspberry Pi 4 Sa pamamagitan ng Laptop / pc Paggamit ng Ethernet Cable (Walang Monitor, Walang Wi-Fi): 8 Hakbang
I-set up ang Raspberry Pi 4 Sa pamamagitan ng Laptop / pc Gamit ang Ethernet Cable (Walang Monitor, Walang Wi-Fi): Sa ito ay gagana kami sa Raspberry Pi 4 Model-B ng 1Gb RAM para sa pag-set up. Ang Raspberry-Pi ay isang solong board computer na ginamit para sa mga layuning pang-edukasyon at mga proyekto sa DIY na may abot-kayang gastos, nangangailangan ng isang supply ng kuryente na 5V 3A.Operating Systems lik
Paano Gumawa ng isang Ethernet Cable: 5 Hakbang
Paano Gumawa ng isang Ethernet Cable: Kumusta! Ngayon ay matututunan namin kung paano gumawa ng iyong sariling industriya-standard na ethernet cable! Alin ang makakapagtipid sa iyo ng pera pagdating sa mga nangangailangan ng mga kable! Kaya't bakit ako karapat-dapat turuan ka? Sa gayon, ako ay isang propesyonal sa IT na ginugol ko sa huling 2
DIY 10 / 100M Ethernet PoE Injector: 6 na Hakbang
DIY 10 / 100M Ethernet PoE Injector: Makakagawa kami ng isang simpleng inektor na PoE na angkop para sa 10 / 100M ethernet, maaari ding direktang mapalakas ng mga baterya
MCP23017 GPIO Control Via Ethernet: 5 Hakbang
MCP23017 GPIO Control Via Ethernet: Kontrolin ang MCP23017 IO-extender sa pamamagitan ng ethernet gamit ang Sensor Bridge at MCP23017 break out board. Ang mga utos na ipinadala ng mga script ng Python, mga URL ng browser o anumang system na may kakayahang komunikasyon sa HTTP. Maaaring isama sa Home Assistant para sa pag-automate ng bahay. Ang mga wire ay
Pagbasa ng Humidity Sa Ethernet Sensor: 3 Hakbang
Pagbasa ng Humidity With Ethernet Sensor: Layunin ng proyekto na mabasa ang halumigmig at pagbabasa ng temperatura sa pamamagitan ng ethernet network, upang magamit ang mga resulta para sa home automation (Home Assistant atbp). Ang sensor ng9602 ay may pinakamahusay na form factor, na may mahusay pagganap sa ar