Kembali ke Katalog Modul
MODUL 13 DEEP DIVE

WebSockets untuk Real-time Telemetry tanpa Polling

MODUL 13 (SPESIALIS IOT): WEBSOCKETS REAL-TIME TELEMETRY


📌 META MODUL & PRASYARAT

  • Bidang Spesialisasi: Bi-directional Full-Duplex Web Streaming.
  • Target Pembaca: Pembelajar yang sudah memahami Arsitektur Broker (Modul 12).
  • Learning Outcome:
  • Memahami perbedaan HTTP Polling vs WebSockets Full-Duplex Connection.
  • Mampu membuat WebSockets Server di ESP32 (WebSocketsServer.h).
  • Mampu membuat Web Client JS (new WebSocket('ws://...')) untuk menerima data tanpa refresh halaman.
  • Memahami penghematan overhead bandwidth pada WebSockets.
  • Estimasi Waktu Belajar: 120 Menit.
  • Tingkat Kesulitan: 🟡 Menengah (Level 13 / 40).
  • Prasyarat: Modul 12 (Arsitektur MQTT Broker).

📋 TABEL PERBANDINGAN HTTP POLLING VS WEBSOCKETS

KarakteristikHTTP Polling (Klasik)WebSockets (Modern Real-time)
Arah Komunikasi1 Arah per Request (Half-Duplex)2 Arah Bebas Kapan Saja (Full-Duplex)
Overhead Header500 Byte - 2 KB per RequestHanya 2 - 14 Byte per Frame Data
Latensi Umpan BalikTinggi (Terbata-bata tergantung interval)Sangat Rendah (< 10 ms Real-time)
Beban ServerTinggi (Koneksi buka-tutup berulang)Low/Medium (Satu koneksi tetap terbuka)
Penggunaan TerbaikFormulir Web, Pembacaan Halaman BeritaGame Online, Dashboard Sensor Live, Chat

⚡ CHEAT SHEET KODE WEBSOCKETS CLIENT JAVASCRIPT

// Menghubungkan Browser JS ke ESP32 WebSocket Server
const socket = new WebSocket('ws://192.168.1.105:81/');

socket.onopen = function(event) {
console.log('Terhubung ke WebSockets ESP32!');
socket.send('PING_FROM_BROWSER');
};

socket.onmessage = function(event) {
console.log('Data Sensor Real-time Diterima:', event.data);
const data = JSON.parse(event.data);
document.getElementById('temp-display').innerText = data.temp + ' °C';
};

socket.onclose = function(event) {
console.warn('Koneksi WebSockets terputus. Mencoba reconnect...');
};



Latihan & Quiz Evaluasi Modul

Progres Quiz: 0 / 2 Soal
SOAL #1
Mengapa WebSockets sangat efisien untuk streaming data grafik sensor 50 milidetik sekali dibanding HTTP GET Polling?
SOAL #2
Manakah skema URL (URI Scheme) yang benar digunakan untuk koneksi WebSockets terenkripsi aman (*Secure*)?

Kunci Jawaban & Pembahasan

Kunci Jawaban: 1. b. Pipa TCP Full-Duplex tanpa overhead header, 2. d. wss://.


Apakah Anda siap lanjut ke Modul 14: Jaringan Dasar untuk IoT (IP Address, Subnetting, Gateway)?