Isi kandungan:
- Langkah 1: Penerangan Termostat Ethernet
- Langkah 2: Antara Muka Web
- Langkah 3: Halaman HTML Berjalan di Pelayan Web, Skema, Kod Sumber
Video: Termostat Bilik - Arduino + Ethernet: 3 Langkah
2024 Pengarang: John Day | [email protected]. Diubah suai terakhir: 2024-01-30 11:07
Dari segi perkakasan, projek ini menggunakan:
- Arduino Uno / Mega 2560
- Ethernet perisai Wiznet W5100 / Ethernet modul Wiznet W5200-W5500
- Sensor suhu DS18B20 pada bas OneWire
- Relay SRD-5VDC-SL-C digunakan untuk pertukaran dandang
Langkah 1: Penerangan Termostat Ethernet
Arduino adalah platform penyematan yang berguna yang boleh digunakan, misalnya, untuk membina termostat bilik, yang akan kami tunjukkan hari ini. Termostat dapat diakses dari rangkaian LAN di mana ia berada, sementara dilengkapi dengan antara muka web yang digunakan untuk mengkonfigurasi semua elemen termostat. Antara muka web berjalan terus di Arduino dalam mod pelayan web. Pelayan web membenarkan menjalankan beberapa halaman HTML bebas, yang boleh menjadi maklumat atau berfungsi. Pelayan web berjalan di port 80 -
Relay elektromagnetik SRD-5VDC-SL-C, yang digunakan dalam projek, membolehkan beralih hingga 10A pada 230V - kuasa 2300W. Sekiranya menukar litar DC (beban) adalah mungkin untuk menukar 300W (10A pada 30V DC). Sebagai alternatif, geganti SSR OMRON G3MB-202P sepenuhnya sesuai untuk rajah pendawaian, yang hanya sesuai untuk beban bukan induktif dan eksklusif untuk litar AC. Kuasa pensuisan maksimum 460W (230V, 2A). Penggunaan Arduino dengan perisai Ethernet dan periferal lain berada pada tahap 100-120mA dengan relay terbuka. Apabila ditutup, di bawah 200mA pada bekalan 5V.
Langkah 2: Antara Muka Web
Antara muka web untuk termostat membolehkan:
- Lihat suhu masa nyata dari sensor DS18B20
- Lihat status relay masa nyata dengan perubahan output dinamik di halaman
- Ubah suhu sasaran (rujukan) dalam lingkungan 5 hingga 50 ° C dengan langkah 0,25 ° C
- Ubah histeresis dalam lingkungan 0 hingga 10 ° C dengan langkah 0,25 ° C
Antara muka web dirancang untuk menampung skrin yang lebih besar dan lebih kecil. Ia responsif, menyokong skrin definisi tinggi skrin lebar, tetapi juga peranti mudah alih. Antaramuka menggunakan gaya CSS yang diimport dari rangka Bootstrap dari pelayan CDN luaran, yang memuatkan peranti sisi klien ketika membuka halaman yang berjalan di Arduino. Kerana Arduino Uno terhad memori, ia hanya dapat menjalankan halaman dengan ukuran beberapa kB. Dengan mengimport gaya CSS dari pelayan luaran, ia akan mengurangkan prestasi dan beban memori Arduino. Pelaksanaan perisian (untuk Arduine Uno) menggunakan 70% memori flash (32kB - 4kB Bootloader) dan 44% memori RAM (2kB).
Bahagian statik halaman web (header dan footer dokumen HTML, pautan Bootstrap CSS, tag meta, header respons HTTP, Jenis Kandungan, bentuk dan banyak lagi) disimpan secara langsung dalam memori kilat Arduino, yang dapat mengurangkan jumlah RAM yang digunakan untuk pengguna dengan ketara -menyusun kandungan. Oleh itu, pelayan web lebih stabil dan dapat menangani pelbagai sambungan beberapa peranti dalam rangkaian pada masa yang sama.
Untuk mengekalkan nilai-nilai yang ditetapkan walaupun setelah gangguan kuasa, ia disimpan dalam memori EEPROM Arduino. Suhu rujukan untuk mengimbangi 10, histeresis untuk mengimbangi 100. Setiap nilai menempati maksimum 5B dalam memori EEPROM. Had transkripsi EEPROM adalah pada tahap 100, 000 transkrip. Data ditimpa hanya apabila borang HTML dihantar. Sekiranya peranti tidak menyimpan apa-apa pada offset EEPROM yang disebutkan pada permulaan pertama, penulisan automatik akan dilakukan dengan nilai lalai - rujukan: 20.25, histeresis 0.25 ° C
Tag Refresh meta menyegarkan keseluruhan halaman Arduino setiap 10 saat. Pada masa ini adalah perlu untuk menulis perubahan untuk termostat, jika tidak, tetingkap input akan diset semula apabila halaman dimuat semula. Kerana perpustakaan Ethernet tidak termasuk penggunaan pelayan web tak segerak, keseluruhan halaman mesti ditulis semula. Data dinamik yang terutama berubah adalah nilai keluaran semasa - Hidup / Mati.
Langkah 3: Halaman HTML Berjalan di Pelayan Web, Skema, Kod Sumber
Halaman HTML yang berjalan di Arduino:
- / - halaman root yang mengandungi borang, senarai output logik semasa untuk relay, suhu
- /action.html - memproses nilai dari borang, menuliskannya ke memori EEPROM, mengarahkan pengguna kembali ke halaman root
- / get_data / - menyebarkan data mengenai suhu semasa, suhu rujukan dan histeresis kepada pihak ketiga (komputer, mikrokontroler, pelanggan lain …) dalam format JSON
Terdapat juga versi termostat yang diperluas yang merangkumi:
- Mod manual untuk relay (masa tidak terhad, ON / OFF keras)
- Pemasa pengawas
- Terdapat lebih banyak sensor, contohnya: SHT21, SHT31, DHT22, BME280, BMP280 dan lain-lain
- Mod penyejukan
- Kawalan dan konfigurasi melalui RS232 / UART bebas daripada Ethernet
- Kawalan suhu PID untuk termostat
- Kemungkinan menggunakan platform ESP8266, ESP32 untuk termostat
Pelaksanaan program untuk projek ini dapat dilihat di: https://github.com/martinius96/termostat-ethernet/ Pelaksanaannya berisi program untuk alamat IPv4 statis / dinamis yang diberikan pada perisai Ethernet.
Termostat hanya bertujuan untuk suhu dalaman! (di atas 0 ° C), yang mana logik sistem disesuaikan. Adalah mungkin untuk mengganti termostat bilik yang ada dengan termostat, mungkin untuk sementara waktu mengganti termostat di dalam peti sejuk, mengekalkan suhu tetap di terarium dan sejenisnya.
Disyorkan:
Sediakan Raspberry Pi 4 Melalui Laptop / pc Menggunakan Kabel Ethernet (Tanpa Monitor, Tanpa Wi-Fi): 8 Langkah
Siapkan Raspberry Pi 4 Melalui Laptop / pc Menggunakan Kabel Ethernet (Tanpa Monitor, Tanpa Wi-Fi): Dalam ini kita akan bekerjasama dengan Raspberry Pi 4 Model-B RAM 1Gb untuk penyediaannya. Raspberry-Pi adalah komputer papan tunggal yang digunakan untuk tujuan pendidikan dan projek DIY dengan kos yang berpatutan, memerlukan bekalan kuasa 5V 3A. Sistem Operasi seperti
Cara Membuat Kabel Ethernet: 5 Langkah
Cara Membuat Kabel Ethernet: Helo! Hari ini kita akan belajar bagaimana membuat kabel ethernet standard industri anda sendiri! Mana yang dapat menjimatkan wang anda apabila memerlukan kabel! Jadi mengapa saya layak mengajar anda? Baiklah, saya seorang profesional IT yang telah saya habiskan selama 2
DIY 10 / 100M Ethernet PoE Injector: 6 Langkah
DIY 10 / 100M Ethernet PoE Injector: Di sini kita akan membuat inector PoE sederhana yang sesuai untuk ethernet 10 / 100M, juga boleh dihidupkan terus dengan bateri
MCP23017 GPIO Control Melalui Ethernet: 5 Langkah
MCP23017 GPIO Control Via Ethernet: Control MCP23017 IO-extender melalui ethernet menggunakan Sensor Bridge dan MCP23017 breakout board. Perintah yang dihantar oleh skrip Python, URL penyemak imbas atau sistem yang mampu komunikasi HTTP. Boleh diintegrasikan ke Pembantu Rumah untuk automasi rumah. Kawat adalah
Kelembapan Membaca Dengan Sensor Ethernet: 3 Langkah
Membaca Kelembapan Dengan Sensor Ethernet: Tujuan projek ini adalah untuk dapat membaca kelembapan dan pembacaan suhu melalui rangkaian ethernet, sehingga hasilnya dapat digunakan untuk automasi rumah (Pembantu Rumah dll). Sensor T9602 mempunyai faktor bentuk terbaik, dengan hebat prestasi di ar