News, Arduino, IoT, Robotics, Tutorial

WebSocket untuk Pemula: Manfaat dan Penerapannya di IoT

Eko Susilo Harjo October 2, 2024
kafka
kafka

WebSocket adalah protokol komunikasi yang memungkinkan koneksi dua arah (bi-directional) antara server dan client secara real-time. Jika Anda pernah mendengar tentang WebSocket dan bertanya-tanya bagaimana cara kerjanya, terutama dalam dunia Internet of Things (IoT), artikel ini akan menjelaskan konsepnya dengan cara sederhana dan praktis.

Apa itu WebSocket?

WebSocket adalah protokol yang memungkinkan pertukaran data antara server dan client secara berkelanjutan, tanpa perlu terus-menerus membuka dan menutup koneksi. Protokol ini diinisiasi oleh client (biasanya browser), dan setelah koneksi dibuka, kedua belah pihak bisa mengirim data kapan saja.

WebSocket menggunakan TCP (Transmission Control Protocol) dan biasanya diawali melalui HTTP. Begitu koneksi terbentuk, WebSocket akan mempertahankan koneksi tersebut sehingga pertukaran data bisa berlangsung tanpa jeda.

Manfaat WebSocket

  1. Real-time Communication: WebSocket memungkinkan komunikasi real-time antara client dan server. Ini sangat bermanfaat untuk aplikasi seperti obrolan (chat), pelacakan GPS, atau notifikasi langsung.
  2. Koneksi Efisien: Tidak seperti protokol HTTP biasa yang memerlukan pembukaan dan penutupan koneksi untuk setiap permintaan (request), WebSocket hanya perlu satu koneksi yang terus-menerus terbuka, sehingga lebih efisien.
  3. Latency Rendah: Karena WebSocket mempertahankan koneksi terbuka, data dapat dipertukarkan secara instan. Ini menghasilkan latensi yang lebih rendah, penting untuk aplikasi yang memerlukan respons cepat.
  4. Interaktif dan Responsif: WebSocket memungkinkan aplikasi menjadi lebih interaktif dan responsif karena server dapat mendorong data ke client secara langsung tanpa menunggu permintaan dari client.

WebSocket dalam IoT

Dalam dunia IoT (Internet of Things), perangkat sering kali memerlukan komunikasi real-time dengan server untuk bertukar data seperti suhu, lokasi, atau status perangkat. WebSocket menawarkan cara yang sangat efisien untuk melakukannya karena kecepatan dan kemampuannya untuk mempertahankan koneksi yang selalu terbuka.

Contoh Penerapan WebSocket di IoT:

  1. Pelacakan GPS Secara Real-time: Misalkan Anda memiliki perangkat pelacak GPS yang mengirimkan lokasi secara langsung ke server. Dengan WebSocket, data lokasi ini dapat dikirimkan secara terus-menerus ke aplikasi client, misalnya aplikasi di smartphone, tanpa harus melakukan polling server secara berkala. Hal ini meningkatkan efisiensi, mengurangi beban jaringan, dan mempercepat pembaruan data lokasi.
  2. Monitoring Suhu di Smart Home: Pada perangkat IoT yang berfungsi untuk mengontrol suhu di rumah pintar, sensor suhu dapat mengirimkan data ke server melalui WebSocket. Saat suhu berubah, server dapat langsung mengirim notifikasi atau perintah ke perangkat lain, seperti AC atau pemanas ruangan, secara real-time.
  3. Notifikasi Langsung di Perangkat IoT: WebSocket juga digunakan untuk mengirim notifikasi langsung ke perangkat IoT. Misalnya, dalam sistem alarm rumah pintar, jika sensor mendeteksi gerakan, notifikasi bisa langsung dikirimkan ke ponsel Anda menggunakan WebSocket tanpa ada jeda.

Bagaimana WebSocket Bekerja di IoT?

Untuk memahami lebih lanjut, mari kita lihat bagaimana WebSocket dapat digunakan dalam proyek IoT sederhana. Sebagai contoh, Anda memiliki sensor suhu yang ingin mengirimkan data ke server dan langsung diteruskan ke aplikasi mobile yang mengontrol AC rumah.

  1. Server WebSocket: Pertama, Anda akan membuat server WebSocket di backend (misalnya, menggunakan Node.js). Server ini akan terus aktif menunggu pesan dari client, dalam hal ini adalah perangkat IoT Anda.
  2. Client (Perangkat IoT): Perangkat IoT, seperti sensor suhu, akan mengirimkan data suhu secara real-time ke server WebSocket setelah koneksi berhasil dibuka. Karena koneksi tetap terbuka, perangkat dapat mengirim pembaruan kapan saja.
  3. Client (Aplikasi Mobile): Di sisi client (misalnya, aplikasi mobile), Anda juga menginisiasi koneksi ke server WebSocket. Ketika data baru (misalnya, perubahan suhu) dikirim oleh perangkat IoT, server langsung meneruskan informasi tersebut ke aplikasi mobile tanpa perlu menunggu permintaan dari client.

Dengan cara ini, aplikasi mobile dapat langsung menerima dan merespons perubahan suhu di rumah secara real-time.

Implementasi WebSocket dengan Node.js dan IoT

Berikut contoh sederhana bagaimana Anda bisa mengimplementasikan WebSocket di Node.js untuk proyek IoT.\

1.Install WebSocket Package: Pertama, Anda perlu menginstal package WebSocket di Node.js dengan perintah beriku

npm install ws


2. Berikut adalah contoh server WebSocket sederhana di

wss.on('connection', ws => {
console.log('Client connected');
ws.on('message', message => {
console.log(Received message: ${message});
// Kirim pesan balik ke client
ws.send(Server received: ${message});
});
});

Server ini mendengarkan koneksi WebSocket pada port 8080 dan mencetak setiap pesan yang diterima dari client.

Client WebSocket di Perangkat IoT: Misalkan Anda memiliki sensor yang mengirimkan data suhu, berikut cara client di perangkat IoT bisa mengirimkan data ke server WebSocket:

const WebSocket = require('ws');
const ws = new WebSocket('ws://localhost:8080');

ws.on('open', () => {
  // Mengirim data suhu ke server
  ws.send('Suhu: 25°C');
});

ws.on('message', message => {
  console.log(`Received from server: ${message}`);
});

Dengan contoh ini, sensor suhu mengirimkan data suhu ke server dan server dapat langsung merespons atau meneruskan ke client lain.

Kesimpulan

WebSocket adalah solusi yang sangat efektif untuk komunikasi real-time di IoT. Dengan latensi rendah, efisiensi koneksi, dan kemampuan dua arah, WebSocket cocok digunakan untuk berbagai aplikasi IoT seperti pelacakan GPS, sensor rumah pintar, hingga notifikasi langsung. Jika Anda baru mengenal WebSocket, semoga artikel ini bisa menjadi panduan awal yang mudah dipahami dan dapat membantu Anda memulai proyek IoT dengan WebSocket.


Discover more from teknologi now

Subscribe to get the latest posts sent to your email.

Pengenalan Go 1.25 baru saja rilis dan bawa banyak peningkatan yang bikin hidup developer lebih gampang. Di artikel ini, kita bakal bahas tiga fitur paling menonjol: DWARF v5 untuk debugging yang lebih ringan, go doc -http yang menyiapkan server dokumentasi lokal dalam hitungan detik, serta interface XOF untuk hash yang output‑nya bisa diperpanjang. Semua dijelaskan dengan […]

News

Change Data Capture (CDC)

Eko Susilo Harjo

28 August 2025

Di era digital, sistem ERP (Enterprise Resource Planning) menjadi tulang punggung perusahaan. Semua proses – mulai dari keuangan, HR, inventori, hingga produksi – bertumpu pada data yang terus berubah setiap detik.Tantangannya: bagaimana cara menampilkan data yang selalu up-to-date tanpa membebani server? Jawabannya ada pada teknologi Change Data Capture (CDC). Apa itu CDC? Change Data Capture […]

Pengantar MLOps (Machine Learning Operations) adalah gabungan praktik DevOps yang diterapkan pada seluruh siklus hidup model AI. Dengan MLOps, tim dapat memindahkan model dari notebook eksperimen ke produksi secara reliable, terukur, dan otomatis. Artikel ini bakal ngasih blueprint praktis untuk developer, data scientist, dan platform engineer yang mau membangun sistem ML produksi. Siklus Hidup MLOps […]

Discover more from teknologi now

Subscribe now to keep reading and get access to the full archive.

Continue reading