Pertemuan 12: Konektivitas WiFi dan Konsep Dasar Cloud pada ESP32

Mata Kuliah: MKK.10.01.005 — Kecerdasan Buatan & Internet of Things (TW1). Durasi: 120 menit (Tatap Muka). Penyusun: Irfan Yusin Syahrullah.

Tujuan Pembelajaran

  • Menghubungkan ESP32 ke jaringan WiFi
  • Memahami konsep IP address, server, dan klien
  • Melakukan pembacaan sensor dan mengirim data ke layanan cloud
  • Memahami istilah HTTP/HTTPS dan peran API dalam IoT

Capaian Pembelajaran

Mahasiswa mampu menghubungkan ESP32 ke WiFi dan mengirim data sensor ke platform cloud melalui protokol HTTP.

Konsep Materi

ESP32 unggul karena memiliki WiFi onboard, sehingga dapat langsung terhubung ke jaringan internet. Koneksi dilakukan dengan library WiFi.h dan kredensial SSID serta kata sandi jaringan.

Dalam model klien-server, ESP32 berperan sebagai klien yang mengirim permintaan ke server cloud. Server merespons dengan data atau status. Komunikasi umum memakai protokol HTTP/HTTPS di mana data dapat dikirim lewat URL termasuk query parameter.

Alamat IP adalah identitas unik perangkat di jaringan; untuk menghubungi server kita memakai nama domain yang diterjemahkan oleh DNS. Platform cloud menyediakan endpoint API untuk menerima data sensor.

Data dapat dikirim dengan HTTP GET pada URL tertentu, misalnya ke layanan pencatat data seperti ThingSpeak, dengan menempelkan kunci (API key) dan nilai pada query string. Fungsi HTTPClient pada Arduino memudahkan pemanggilan tersebut.

Memahami dasar HTTP dan koneksi cloud sangat penting karena seluruh fase konektivitas (TM12-18) dibangun di atasnya, mulai dari pengiriman data sederhana hingga kendali relay via MQTT.

Langkah Praktik

  1. Buat akun di platform cloud (misal ThingSpeak) dan buat channel baru untuk menyimpan data sensor.
  2. Catat Write API Key dan field yang akan digunakan untuk data suhu dan kelembaban.
  3. Tulis program yang menghubungkan ESP32 ke WiFi dengan WiFi.begin(ssid, pass).
  4. Baca data DHT11 dan kirim ke ThingSpeak menggunakan HTTPClient dengan URL sesuai format.
  5. Pantau pembaruan data pada dashboard channel untuk memastikan data berhasil dikirim.

Kode Contoh

#include 
#include 
#include 

const char* ssid = "NamaWiFi";
const char* pass = "PasswordWiFi";
const char* server = "http://api.thingspeak.com/update?api_key=KUNCI";
const char* apiKey = "KUNCI_ANDA";

DHT dht(13, DHT11);

void setup() {
  Serial.begin(115200);
  dht.begin();
  WiFi.begin(ssid, pass);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println(" Terhubung WiFi");
}

void loop() {
  if (WiFi.status() == WL_CONNECTED) {
    HTTPClient http;
    String url = String(server) + "&field1=" + String(dht.readTemperature());
    http.begin(url);
    int kode = http.GET();
    Serial.print("HTTP: "); Serial.println(kode);
    http.end();
  }
  delay(15000);
}

Latihan / Proyek

  • Kirim dua field sekaligus (suhu dan kelembaban) ke satu channel.
  • Amati interval pengiriman dan jelaskan keterbatasan API gratis pada platform yang dipakai.
  • Ganti dengan endpoint HTTPS dan jelaskan peran enkripsi pada keamanan data.

Rekap & Tindak Lanjut

Mahasiswa berhasil menghubungkan ESP32 ke internet dan mengirim data sensor ke cloud. Ini membuka jalan untuk pemantauan jarak jauh serta kendali perangkat berbasis internet.

No Comment! Be the first one.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *