Tutorial ESP-01: Membuat Web Server Untuk Mengontrol Relay/ Lampu

Proyek IoT (Internet of Thing) saat ini sangat mudah dibuat, terlebih lagi karena komponen hardware dan software yang digunakan bisa diperoleh di pasaran dan bersifat opensource. Proyek IoT yang paling sederhana di buat adalah alat kontrol relay atau lampu melalui jaringan Wi-Fi (internet nirkabel). Hanya dengan koneksi internet yang tersambung ke perangkat IoT, maka pengguna dapat mengontrol hidup dan mati relay atau lampu melalui smartphone atau laptop masing-masing. Tentunya proyek ini bisa diaplikasikan di rumah atau sering disebut home automation.

Pada tulisan ini akan dibahas tentang proyek IoT untuk mengontrol lampu menggunakan modul ESP-01. Modul ini digunakan karena ukuran fisiknya yang kecil. Selain itu peruntukannya hanya untuk mengontrol sebuah lampu, sehingga tidak memerlukan menggunakan modul lain seperti NodeMCU Esp8266 atau NodeMCU Esp32 yang memiliki GPIO yang banyak.

Persiapan Komponen

  • Modul ESP-01
  • USB Programmer for ESP01, ESP-01S (Flasher Firmware Downloader)
  • LED
  • Kapasitor 220 ohm

Keterangan Komponen

Modul ESP-01 yang digunakan bisa ESP-01 atau ESP-01S yang merupakan series upgrade (terbaru). Pada gambar di atas merupakan ESP-01S. Bedanya adalah ESP-01S memiliki kapasitas flash memory yang lebih besar yaitu 1 MB. Catatan penting dalam menggunakan ESP-01 adalah tegangan masuk (V in) sebesar 3,6 V. Jadi tidak diperbolehkan memberikan tegangan masuk melebihi nilai tersebut. Namun jika hanya melakukan test pada proyek kali ini, posisi ESP-01 masih bisa dihubungkan dengan komputer sekaligus LED dengan menggunakan USB Programmer, seperti penjelasan selanjutnya.

Untuk memasukkan program dari komputer ke ESP-01 diperlukan sebuah USB Programmer for ESP01, ESP-01S. Perangkat ini memang dikhususkan untuk memprogram modul ESP-01, karena terdapat juga cara lain dengan menggunakan USB to TTL. Namun jika menggunakan USB to TTL maka kita perlu memodifikasi untuk membuat tombol reset dengan cara men-jumper pin GND dengan pin RST karena tombol Resert digunakan saat meng-Upload program ke ESP-01. Oleh sebab itu lebih baik menggunakan USB programmer khusus ESP-01.

Wiring Diagram

Perlu diperhatikan saat wiring:

  • GPIO0 (pin 0) menjadi OUTPUT jadi koneksikan ke LED (melalui resistor 220 ohm)>
  • pin EN atau Ch-PD (tergantung board) harus mendapatkan tegangan (koneksikan dengan pin 3V dari ESP-01 atau pin dari USB Programmer)

Program

Sebelum memulai menuliskan kode program pastikan beberapa pengaturan berikut lebih awal.

  • Pastikan sudah meng-Install Board ESP8266 ke IDE Arduino
  • Board yang digunakan: Generic ESP8266 Module
  • Baudrate: 115200

Program ini dibuat dengan menambahkan Tab Baru untuk menampung Kode Tampilan Web. Pada Halaman Utama dituliskan Kode Program Arduino. Dibutuhkan library ESP8266WebServer.h untuk memprogram sistem ini.

Tampilan Web dibuat di Tab Baru dengan Nama: index.h (boleh apa saja) namun ekstensinya harus ".h" yang merupakan ekstensi file header atau library. Selanjutnya file header ini dipanggil ke dalam program utama dengan menuliskan #include "index.h"

Kenapa dipisah ke dalam Tab Baru adalah membuat tampilan kode program lebih rapih dan mudah di pahami, ketimbang menulisnya daa=lam satu halaman.

Upload

Setelah upload selesai, buka Serial Monitor dengan Baudrate:15200 setelah itu Reset Modul dengan menekan Tombol Reset pada USB Program. Tunggu beberapa saat ESP-01 koneksi ke jaringan Wi-Fi. Jika terkoneksi maka seperti Gambar di bawah, terdapat nama Wi-Fi dan Esp-01 mendapatkan IP Address. Selanjutnya Copy dan Paste IP Address ke Web Browser.

Maka tampilan Web akan muncul. Sekarang Lampu sudah bisa dikontrol dengan menekan Push-Button yang ada di Web dan indikator STATUS akan berubah sesuai dengan kondisi lampu.

Selain modul ESP8266-01 di atas, proyek ini juga bisa menggunakan modul NodeMCU ESP8266, hanya perlu memastikan letak pin yang digunakan sebagai OUTPUT ke Relay atau Lampu.

Posting Komentar untuk "Tutorial ESP-01: Membuat Web Server Untuk Mengontrol Relay/ Lampu"