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
| Karakteristik | HTTP Polling (Klasik) | WebSockets (Modern Real-time) |
| Arah Komunikasi | 1 Arah per Request (Half-Duplex) | 2 Arah Bebas Kapan Saja (Full-Duplex) |
| Overhead Header | 500 Byte - 2 KB per Request | Hanya 2 - 14 Byte per Frame Data |
| Latensi Umpan Balik | Tinggi (Terbata-bata tergantung interval) | Sangat Rendah (< 10 ms Real-time) |
| Beban Server | Tinggi (Koneksi buka-tutup berulang) | Low/Medium (Satu koneksi tetap terbuka) |
| Penggunaan Terbaik | Formulir Web, Pembacaan Halaman Berita | Game 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)?
Apakah Anda siap lanjut ke Modul 14: Jaringan Dasar untuk IoT (IP Address, Subnetting, Gateway)?