Elektronika & Robotika Dasar

Pertemuan 8

Koneksi WiFi dengan ESP32 (Opsional, untuk Project Berbasis IoT)

Tujuan Pembelajaran

  • Memahami dasar koneksi WiFi menggunakan ESP32.
  • Mampu menghubungkan ESP32 ke jaringan WiFi.
  • Memahami konsep dasar mengirim data sederhana lewat jaringan (opsional lanjutan).

Penjelasan Konsep

Kapan pertemuan ini relevan?

Pertemuan ini opsional - hanya relevan jika project-mu memakai ESP32 dan membutuhkan fitur IoT (Internet of Things), misalnya mengirim data sensor ke internet atau dikendalikan lewat jaringan. Jika project-mu berbasis Arduino Uno tanpa WiFi, gunakan pertemuan ini untuk memperdalam integrasi sensor/aktuator project-mu sebagai gantinya.

Menghubungkan ESP32 ke WiFi

ESP32 punya library bawaan WiFi.h untuk menyambung ke jaringan WiFi rumah/sekolah menggunakan SSID dan password.

Konsep lanjutan (opsional)

Setelah tersambung WiFi, ESP32 bisa:

  • Menjalankan web server sederhana untuk menampilkan data sensor lewat browser di jaringan yang sama.
  • Mengirim data ke layanan lain lewat HTTP request.
    Untuk kelas ini, cukup fokus pada berhasil tersambung ke WiFi dan menampilkan status koneksi - pengembangan lebih lanjut opsional sesuai kebutuhan project dan waktu yang tersedia.

Kesalahan umum

  • Menyambungkan ESP32 ke jaringan WiFi 5GHz - chip WiFi ESP32 hanya mendukung frekuensi 2.4GHz; jika jaringan rumah/sekolah menyiarkan SSID yang sama untuk 2.4GHz dan 5GHz, ESP32 tidak akan pernah berhasil connect ke pita 5GHz walau SSID/password benar.
  • Salah ketik SSID/password - kesalahan ini sepele tapi paling sering terjadi; program akan terus mengulang while (WiFi.status() != WL_CONNECTED) tanpa pernah berhenti tanpa pesan error yang jelas.
  • Loop while menyambung WiFi tanpa batas waktu - jika WiFi tidak pernah tersambung (jaringan mati, password salah), program bisa macet menunggu selamanya; sebaiknya tambahkan batas jumlah percobaan sebelum program melanjutkan ke mode lain.
  • Memakai fitur WiFi hanya karena "keren" - jika project tidak benar-benar butuh koneksi internet/jaringan, menambahkan WiFi hanya menambah kompleksitas dan potensi bug tanpa manfaat nyata bagi tujuan project.

Komponen yang Dibutuhkan

  • 1x Board ESP32
  • Akses ke jaringan WiFi (SSID & password)
  • Komputer dengan Arduino IDE (sudah terpasang board manager ESP32)

Diagram / Skema Pengkabelan

Tidak ada wiring tambahan - koneksi WiFi murni dilakukan lewat kode program pada chip WiFi bawaan ESP32.

Contoh Kode Program

// Menghubungkan ESP32 ke jaringan WiFi

#include <WiFi.h>

const char* ssid = "NAMA_WIFI";
const char* password = "PASSWORD_WIFI";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);

  Serial.print("Menyambungkan ke WiFi");
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println();
  Serial.print("Terhubung! Alamat IP ESP32: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  // TODO (opsional): kirim data sensor lewat jaringan, atau jalankan web server sederhana
}

Tugas / Latihan

  1. (Jika project berbasis IoT) Sambungkan ESP32 ke jaringan WiFi sekolah/rumah, pastikan alamat IP muncul di Serial Monitor.
  2. (Jika project tidak memakai WiFi) Gunakan waktu pertemuan ini untuk menyempurnakan integrasi sensor-aktuator dari pertemuan 4-7.
  3. Diskusikan dengan pengajar apakah fitur WiFi relevan dan realistis untuk ditambahkan ke project-mu mengingat sisa waktu semester.
  4. (Tantangan, jika project berbasis IoT) Tambahkan batas jumlah percobaan pada loop penyambungan WiFi (misalnya maksimal 20 kali percobaan dengan jeda 500ms), lalu tampilkan pesan "Gagal tersambung, lanjut mode offline" jika batas tercapai, alih-alih membiarkan program menunggu tanpa batas.