Tugas Sistem Embedded
Penulis: Asyrofi
Halo semua. Pada tulisan kali ini, saya akan menjelaskan percobaan tentang bagaimana membuat project dengan ESP32 yaitu Web Server Sensor
Pada project ini, kita akan memberikan perintah untuk menampilkan pembacaan nilai sensor yaitu persentase level air melalui server ESP32. Oke, sebelum memulai, persiapkan dahulu komponen dan perangkat yang akan digunakan.
Berikut adalah daftar komponen dan perangkat yang akan digunakan:
1. Mikrokontroller ESP32 (1 buah)
2. Kabel Micro-USB (1 buah)
3. Kabel jumper female - female (3 buah)
4. Sensor water level (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, hasil pembacaan oleh water level sensor akan ditampilkan pada web server.
Kode Program beserta Penjelasannya
sumber kode: adaptasi dari randomnerdtutorials.com
Pada void setup(), Tampilkan ke layar serial dengan Serial.begin(115200) dan pinMode(waterLevelPin, INPUT) 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.
client.println("<!DOCTYPE html><html>") untuk mengidentifikasi bahwa kode yang ditulis adalah kode html. Kemudian dilengkapi dengan CSS untuk mengatur style / desain tampilan dari website. Pada bagian heading website, beri judul "ESP32 with Water Level Sensor" dan buat tabel untuk menampilkan pembacaan sensor. <tr> digunakan untuk membuat row(baris) sedangkan <td> digunakan untuk membuat kolom. client.println(readSensor()) untuk menampilkan pembacaan sensor water level melalui fungsi readSensor().
Pada bagian ini, koneksi ditutup dengan menggunakan client.stop() dan menampilkan pesan pada serial monitor dengan Serial.println("Client disconnected"). Fungsi yang digunakan pada bagian sebelumnya yaitu readSensor() yaitu dengan menyimpan pembacaan sensor water level pada suatu variabel val bertipe integer. Kemudian mengembalikan nilai val dibagi 25. Pembagian tergantung kondisi nilai yang diinginkan.
Tidak ada komentar:
Posting Komentar