Daftar Isi:

ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah: 9 Langkah (dengan Gambar)
ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah: 9 Langkah (dengan Gambar)

Video: ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah: 9 Langkah (dengan Gambar)

Video: ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah: 9 Langkah (dengan Gambar)
Video: OK GOOGLE || KONTROL RUMAH VIA GOOGLE ASISTANT MENGGUNAKAN ESP8266 DAN BLYNK #belajar 8 2024, November
Anonim
ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah
ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah
ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah
ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah
ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah
ESP8266-01 IoT Smart Timer untuk Otomatisasi Rumah

PEMBARUAN

2018-09-30: Firmware Diperbarui ke Ver 1.09. Sekarang dengan Dukungan Dasar Sonoff

2018-10-01: Uji coba Firmware Versi 1.10 tersedia untuk pengujian pada ESP8266-01 dengan masalah

Dengan kata kunci baru adalah Internet Of Things (IoT) dan Otomasi Rumah, saya memutuskan untuk melihat item saat ini di dalam dan di sekitar rumah saya yang dikendalikan melalui semacam perangkat. Hal-hal yang menonjol, adalah sebagai berikut:

  • Pompa kolam renang
  • Pengisi air kolam renang
  • Kolam renang dan lampu sekitarnya
  • Lampu kabinet sistem TV/Hiburan

Item umum yang digunakan untuk mengontrol perangkat ini, adalah timer steker dinding standar. Setiap perangkat dilengkapi dengan timernya sendiri, dan semuanya terletak di lokasi yang berbeda. Jadi mengapa saya memilih item ini untuk memulai proyek Internet of Things atau Home Automation, Anda mungkin bertanya?

Nah, tinggal di Afrika Selatan, berarti pemadaman listrik adalah kejadian biasa. Dengan statistik rumah saya, saya mengalami 35 kegagalan daya pada tahun lalu, dengan total 40 jam. Ini biasanya tidak menjadi masalah, karena semua pengatur waktu yang terpasang saat ini dilengkapi dengan baterai cadangan untuk menjaga waktu selama kegagalan daya. Tapi ada beberapa masalah:

  • Baterai cadangan ini hanya bertahan satu atau dua tahun, maka timer harus diganti. Timer dibuat sedemikian rupa sehingga timer perlu dihancurkan untuk mendapatkan akses ke baterai Ni-Cad internal.
  • Setiap kali listrik mati, pengatur waktu dengan baterai yang rusak perlu diprogram ulang, dan waktu diatur.
  • Lokasi fisik timer, ketika dicolokkan ke stopkontak, membuat hampir tidak mungkin untuk membaca layar lcd melihat timer dari atas. Ini berarti timer harus dicabut, atau saya harus berbaring di lantai untuk mengatur atau menyesuaikan timer setelah listrik mati.

Karena alasan di atas, saya memutuskan untuk menguji kemungkinan mengganti timer dengan IoT Smart Timer, yang terhubung ke jaringan rumah lokal saya.

Idenya adalah untuk merancang timer yang berdiri sendiri, yang dapat:

  • Secara otomatis menyesuaikan waktu saat ini menggunakan internet (IoT)
  • Dioperasikan tanpa tindakan pengguna (Smart)
  • Menghidupkan/mematikan output sesuai dengan waktu yang disetel (Timer)
  • Dapat diprogram dan dikontrol melalui jaringan (Home Automation)

Langkah 1: Desain ESP8266-01

Desain ESP8266-01
Desain ESP8266-01
Desain ESP8266-01
Desain ESP8266-01

Desain dilakukan menggunakan modul WiFi ESP8266-01, karena inilah yang saya miliki. Dalam bentuknya yang paling sederhana, ESP8266-01 memiliki empat pin I/O:

  • GPIO0
  • GPIO2
  • TX
  • RX

Mode Penyalaan ESP8266-01

Status logika pin I/O digunakan untuk menentukan mode mana ESP8266-01 akan boot. Langkah pertama adalah menentukan pin I/O mana yang dapat digunakan untuk menggerakkan relai keluaran.

  • Untuk power up normal, GPIO0 dan GPIO2 harus disetel ke logika HIGH. Dengan demikian jelas bahwa kedua pin ini tidak dapat digunakan sebagai output digital.
  • Pin Tx diset sebagai output saat power up, dan output diset high. Pin Tx ini juga mengirimkan beberapa data serial selama power up. Dengan demikian, pin ini juga tidak dapat digunakan sebagai output.

Satu-satunya pin yang tersisa adalah pin Rx. Pin ini diatur sebagai input saat power up, dan tidak harus ditarik tinggi selama power up. Pin ini dengan demikian paling cocok untuk digunakan sebagai pin output.

Boot-up

Untuk memastikan mode boot-up yang benar dari ESP8266-01 selama power up, pin berikut ditarik tinggi menggunakan resistor 10K:

  • GPIO0
  • GPIO2
  • RST
  • CH_PD

Ini memastikan bahwa unit melakukan booting dengan benar setiap kali.

Relai Keluaran

RX adalah satu-satunya pin yang cocok digunakan sebagai output. Pin ini dengan demikian digunakan untuk menggerakkan relai keluaran melalui transistor NPN. Dioda roda gila standar dan resistor basis transistor ditambahkan.

Tombol MODE/SET

Tombol terhubung ke GPIO2, dan dengan tombol dilepaskan, resistor 10K akan menarik GPIO2 tinggi. Dengan menekan tombol, GPIO2 ditarik ke 0V.

Tombol ini digunakan untuk dua fungsi:

  • Pengaturan awal untuk menghubungkan unit ke jaringan WiFi lokal
  • Untuk mengontrol output secara manual selama operasi normal

LED indikasi

LED terhubung ke GPIO0, dan menunjukkan hal berikut:

  • Pada penyalaan awal, berkedip CEPAT untuk menunjukkan mode Pengaturan WiFi
  • Berkedip lambat saat waktu unit tidak disetel
  • menunjukkan status Nyala/Mati relai keluaran

Langkah 2: Catu Daya

Catu Daya
Catu Daya
Catu Daya
Catu Daya
Catu Daya
Catu Daya

Saya akan menggunakan IoT Smart Timer pada level tegangan yang berbeda, oleh karena itu ada dua opsi catu daya yang tersedia:

12 - 24V DC

Konverter DC-DC yang digunakan cocok untuk suplai hingga 28V DC. Output konverter dapat disesuaikan, dan diatur ke 5V. Ini perlu dilakukan sebelum modul ESP8266 terhubung.

Sebuah dioda ditambahkan untuk melindungi terhadap polaritas terbalik pada input suplai.

220V ACUntuk opsi ini, saya dapat memperoleh catu daya mode sakelar 220V/5V kecil di eBay.

Terlepas dari tegangan input, IoT Smart Timer membutuhkan dua catu daya:

Rel 5V

Dengan kedua opsi tersebut, 5V DC diperoleh dari catu daya mode sakelar, dan bukan regulator linier. Ini berarti bahwa ada panas minimal yang dihasilkan oleh catu daya. 5V digunakan untuk menggerakkan relai keluaran

Rel 3.3V

3.3V untuk ESP8266-01 diperoleh dari regulator ASM1117 3.3. ASM1117 3.3 adalah regulator linier, dan dapat menangani hingga 500mA. Namun, panas yang dihasilkan akan ditentukan oleh tegangan input ke ASM1117. Untuk mengurangi panas, ASM1117 ditenagai dari rel 5V.

Penyaringan Kebisingan

Untuk mengurangi riak tegangan ke ESP8266-01, rel 3.3V dilengkapi dengan kapasitor 100 - 1000uf. Rel 5V dan 3.3V juga dilindungi dari interferensi frekuensi tinggi oleh kapasitor 0.1uf.

Langkah 3: Merakit Papan PC

Merakit Papan PC
Merakit Papan PC
Merakit Papan PC
Merakit Papan PC
Merakit Papan PC
Merakit Papan PC

Papan PC dirancang menggunakan versi freeware dari Eagle. Ini adalah papan satu sisi, yang dapat dengan mudah dibuat di rumah menggunakan metode transfer toner.

Setelah Papan PC dibuat, pasang Papan PC dengan urutan sebagai berikut:

  • Solder regulator ASM1117 dan tiga komponen SMD 0.1uf ke sisi solder papan
  • Tambahkan jumper tunggal ke sisi komponen papan
  • Solder resistor dan dioda pada tempatnya
  • Tambahkan header untuk modul ESP8266-01
  • Tambahkan pin header untuk LED dan tombol
  • Tambahkan terminal sekrup
  • Menggunakan pin header, sambungkan konverter DC/DC ke board.
  • Solder relai ke tempatnya
  • Lengkapi papan dengan menyolder transistor dan kapasitor 100uf.

Setelah semua komponen disolder ke papan, verifikasi semua titik solder, dan pastikan tidak ada hubungan pendek antara bantalan.

! ! ! CATATAN PENTING ! ! ! Untuk memastikan bahwa Papan PC dapat menangani arus besar pada kontak keluaran, oleskan jumlah solder yang layak ke trek antara kontak relai dan terminal sekrup

Langkah 4: Pengujian Papan PC

Pengujian Papan PC
Pengujian Papan PC

! ! ! Sebelum menerapkan kekuatan! ! !

Lepaskan modul ESP8266-01 dari unit. Hal ini untuk mencegah panas berlebih pada regulator ASM1117 sebelum suplai 5V disetel.

Tidak banyak tes yang bisa dilakukan setelah perakitan. Langkah terpenting adalah memastikan level tegangan yang benar.

  • Terapkan 12 - 24V DC ke unit.
  • Ukur tegangan keluaran konverter DC/DC
  • Sesuaikan output konverter antara 5.0 dan 5.5V.
  • Selanjutnya, ukur suplai 3.3V.
  • Jika persediaan OK, lepaskan daya dari unit

Anda sekarang dapat memasukkan modul ESP8266-01 ke dalam header yang disediakan.

! ! ! Catatan !

Setelah Anda menguji Timer IoT dan berfungsi, gunakan pernis bening untuk menutupi sisi solder Papan PC. Ini akan mencegah oksidasi trek, dan memberikan insulasi ekstra antara kontak relai dan rangkaian lainnya

Langkah 5: Kandang

Kandang
Kandang
Kandang
Kandang
Kandang
Kandang

Enklosur tidak begitu penting, selama papan PC dan semua kabel terpasang dengan rapi dan aman ke dalamnya.

Untuk membuat konstruksi lebih mudah, saya telah membuat kabel dengan LED dan tombol MODE/SETUP yang terhubung dengannya. Ini memberi saya lebih banyak fleksibilitas dalam memasang LED dan tombol ke enklosur. Kabel ini kemudian dicolokkan ke header pada PC Board.

Foto menunjukkan salah satu unit 12V yang digunakan untuk lampu LED.

Langkah 6: Memprogram ESP8266-01/NodeMCU

Memprogram ESP8266-01/NodeMCU
Memprogram ESP8266-01/NodeMCU
Memprogram ESP8266-01/NodeMCU
Memprogram ESP8266-01/NodeMCU
Memprogram ESP8266-01/NodeMCU
Memprogram ESP8266-01/NodeMCU

Untuk memprogram ESP8266-01, Anda perlu mengatur Arduino IDE terlebih dahulu. Saya tidak akan membahas detail ini, karena ada banyak Instructables hebat yang tersedia tentang topik ini. Saya telah memilih tautan berikut di Instructables untuk referensi, tanpa perintah khusus kepada penulis. Terima kasih untuk Instructables individu mereka.

Ikuti ESP8266 dan Arduino IDE ini untuk mengatur Arduino IDE untuk modul ESP8266..

Selanjutnya, Anda memerlukan seorang programmer untuk memprogram ESP8266. Berikut adalah dua tautan:

Menggunakan Arduino Uno

Papan Pemrograman DIY

Perpustakaan

Anda perlu menginstal pustaka tambahan untuk dapat mengkompilasi kode. Sekali lagi, lihat Instruksi ini:

Instal dan Gunakan Perpustakaan Arduino

Saya tidak ingat perpustakaan mana yang harus saya instal, tetapi saya tahu WiFiManager harus diunduh secara terpisah.. Saya telah menyertakan ini dalam file Libraries.zip.

Langkah 7: Pengaturan Pertama Kali

Pengaturan Pertama Kali
Pengaturan Pertama Kali
Pengaturan Pertama Kali
Pengaturan Pertama Kali
Pengaturan Pertama Kali
Pengaturan Pertama Kali

Saat digunakan pertama kali, IoT Smart Timer harus terhubung ke jaringan WiFi. Tugas ini dilakukan menggunakan perpustakaan WiFiManager, jadi tidak ada SSID atau kata sandi yang perlu diketikkan ke dalam kode.

Ikuti beberapa langkah berikut:

  • Nyalakan unitnya
  • LED akan mulai berkedip dengan cepat
  • Tekan tombol MODE/SETUP
  • Saat LED mati, lepaskan tombol
  • Tunggu beberapa detik, lalu buka koneksi WiFi smartphone atau perangkat Anda
  • Jaringan WiFi baru bernama IoT Timer akan terlihat
  • Pilih titik akses ini
  • Masuk ke IoT Timer (tidak perlu kata sandi)
  • Tunggu hingga perangkat Anda terhubung ke jaringan IoT Timer
  • Buka browser internet apa pun
  • Di bilah alamat, ketik alamat IP berikut - 192.168.4.1
  • Konsol WiFiManager akan terbuka
  • Pilih Konfigurasi WiFi
  • Daftar dengan titik jaringan WiFi yang tersedia akan ditampilkan
  • Pilih jaringan WiFi yang diperlukan, dan ketik kata sandi
  • Selanjutnya, masukkan alamat IP yang ingin Anda gunakan untuk terhubung ke Timer IoT
  • Masukkan alamat IP Gateway Default, diikuti oleh topeng
  • Setelah semua pengaturan selesai, klik tombol Simpan
  • Jendela baru akan terbuka untuk mengonfirmasi bahwa kredensial baru telah disimpan
  • Tutup browser Anda

Setelah disimpan, jaringan IoT Timer akan dimatikan, dan unit akan mencoba terhubung ke jaringan WiFi Anda.

  • Hubungkan Smartphone atau perangkat Anda ke jaringan WiFi yang sama seperti yang digunakan untuk IoT Timer.
  • Buka browser Anda
  • Di bilah alamat, ketik alamat IP Timer IoT Anda
  • Halaman konfigurasi IoT Timer akan terbuka

Timer IoT Anda sekarang siap digunakan

Langkah 8: Pengaturan Timer IoT

Pengaturan Pengatur Waktu IoT
Pengaturan Pengatur Waktu IoT
Pengaturan Pengatur Waktu IoT
Pengaturan Pengatur Waktu IoT
Pengaturan Pengatur Waktu IoT
Pengaturan Pengatur Waktu IoT
Pengaturan Pengatur Waktu IoT
Pengaturan Pengatur Waktu IoT

Halaman web bawaan dari IoT Timer terdiri dari lima bagian:

Status

Ini menunjukkan nama perangkat, serta waktu saat ini dan status keluaran penghitung waktu

Selain itu, mode pengoperasian pengatur waktu diatur di bagian ini. Ada tiga mode:

  • Otomatis - Output akan dikontrol oleh program pengatur waktu yang berbeda
  • Aktif - Output dipaksa ON, dan akan tetap menyala sampai mode diubah
  • Mati - Output dipaksa OFF, dan akan tetap mati sampai mode diubah.

Program

Bagian ini berisi waktu On dan OFF dari timer. Ada tujuh program yang tersedia, dan setiap program dapat diatur secara individual.

Sebelum mengubah program berikutnya, tekan tombol SIMPAN untuk menyimpan perubahan yang dibuat pada program saat ini.

Fungsi Tombol

Tombol MODE/SETUP dapat digunakan untuk mengontrol relai keluaran selama pengoperasian normal. Di sini, pilih apa yang harus dilakukan tombol saat ditekan.

Centang kotak "Perbarui Fungsi Tombol" sebelum menekan tombol Simpan untuk menyimpan pengaturan baru.

Konfigurasi

Di sini, Anda dapat mengubah nama Timer IoT. Hal ini memudahkan untuk mengidentifikasi antara beberapa timer.

Waktu pada unit diperoleh dari internet melalui server waktu NTP. Untuk menampilkan waktu yang benar, harap perbarui Zona Waktu ke wilayah Anda.

Jika Anda ingin menggunakan server waktu NTP yang berbeda, masukkan alamat IP baru di tempat yang disediakan.

Centang kotak "Perbarui Konfigurasi" sebelum menekan tombol Simpan untuk menyimpan pengaturan baru.

CATATAN

Saat mengubah Zona Waktu, waktu baru hanya akan disetel dengan benar selama kueri waktu berikutnya. Unit diatur untuk memperbarui waktu setiap 5 menit.

Penyesuaian Waktu

Terkadang, server waktu NTP tidak merespons setiap permintaan waktu. Jika terlalu lama untuk mengatur waktu melalui server NTP, Anda dapat memasukkan waktu dan tanggal secara manual.

Centang kotak "Perbarui Waktu" sebelum menekan tombol Simpan untuk menyimpan waktu dan tanggal baru.

Sinkronisasi Waktu

Bagian terakhir halaman menunjukkan waktu dan tanggal saat terakhir kali disinkronkan melalui server waktu NTP.

Direkomendasikan: