Project 8 | ESP32 - Menyalakan LED melalui Wifi - Asyrofi

Sabtu, 20 Maret 2021

Project 8 | ESP32 - Menyalakan LED melalui Wifi

Tugas Sistem Embedded
Penulis: 
Asyrofi


Halo semua. Pada tulisan kali ini, saya akan menjelaskan percobaan tentang bagaimana membuat project dengan ESP32 yaitu menyalakan LED melalui Wifi

Pada project ini, kita akan memberikan perintah untuk menyalakan dan mematikan LED menggunakan smartphone yang telah terkoneksi dengan ESP32 melalui WIFI. Oke, sebelum memulai, persiapkan dahulu komponen dan perangkat yang akan digunakan.


    Daftar Komponen

    Berikut adalah daftar komponen dan perangkat yang akan digunakan:

    1. Mikrokontroller ESP32 (1 buah)

    2. Breadboard (1 buah)

    3. Kabel Micro-USB (1 buah)

    4. Kabel jumper male - male (2 buah)

    5. LED (1 buah)

    6. Resistor 10K ohm (1 buah)


    Alur Kerja Project

    Saat ESP dinyalakan, maka ESP32 akan mencoba terhubung dengan wifi yang telah diisi sebelumnya di dalam kode. Ketika berhasil terhubung dengan wifi, ketika button on pada web server di klik maka LED akan menyala. Sebaliknya ketika button off pada web server di klik maka akan LED akan mati.


    Kode Program beserta Penjelasannya

    sumber kode: adaptasi dari randomnerdtutorials.com


    Pertama kita import library Wifi.h kemudian masukkan SSID dan Password Wifi yang akan kita hubungkan dengan ESP32. Kemudian kita set port number web server dengan 80 melalui WifiServer server(80) dan String header untuk HTTP request. Kemudian untuk state LED gunakan variabel output26state dan pin untuk led dengan variabel output26. Setelah itu, currentTime untuk menghitung waktu saat ini dan previousTime diinisialisasi dengan nilai 0.

 

    Pada void setup(), Tampilkan ke layar serial dengan Serial.begin(115200) dan pinMode(output26, OUTPUT) untuk mengatur pin output26 sebagai output. Wifi.begin untuk mengkoneksikan ESP32 dengan Wifi sesuai dengan SSID dan PASSWORD yang telah diisi sebelumnya. Jika berhasil maka akan menampilkan WiFi connected dan IP addresnya serta server dibuat melalui server.begin

    Pada void loop, client menyimpan nilai dari server.available(). Jika tersedia maka currentTime diassign dengan milis() dan previousTime diisi dengan currentTime. Selama client masih terhubung dan currentTime – previousTime masih kurang dari sama dengan 2000 (2 detik) maka currentTime diassign dengan milis(). Char c menyimpan nilai dari client.read(). Jika dalam karakter tidak terdapat nilai “/n” maka mengecek handshaking berhasil dengan currentLine.length() == 0. Jika "GET /26/on" maka state dari LED output26state menjadi on dan LED menyala digitalWrite(output26, HIGH). Jika "GET /26/off" maka state dari LED output26state menjadi off dan LED mati digitalWrite(output26, LOW).


    Kemudian client.println untuk menuliskan kode html pada web server untuk mengendalikan LED. Jika output26state sama dengan “OFF” maka yang ditambilkan adalah button bertuliskan “ON” yang akan meneruskan ke web server dengan link berakhiran /26/on sedangkan jika sebaliknya maka yang ditampilkan adalah button bertuliskan “OFF” yang akan meneruskan ke web serer dengan link berakhiran /26/off

Gambar Percobaan

    Gambar 1. Rangkaian pada Breadboard



      Gambar 2. Web Server saat button OFF diklik



Video Percobaan



    Analisis

    Pada project kali ini, terdapat berbagai pengalaman baru selama pengerjaan project ini. Saya belajar bagaimana caranya untuk mengakses web server milik ESP32 yaitu dengan menuliskan ip address ESP32 pada web browser. Kemudian untuk membuat tampilan web-nya dapat menyisipkan kode HTML pada ESP32 memlalui client.println. Mungkin yang ingin saya eksplor lebih jauh lagi adalah mengenai cara mengatur SSID dan PASSWORD wifi tanpa harus hardcoded sehingga saat dibawa kemanapun dapat menyesuaikan Wifinya tanpa harus upload melalui arduino uno 

Tidak ada komentar:

Posting Komentar

Post Bottom Ad