WebSocket untuk Pemula: Manfaat dan Penerapannya di IoT
Eko Susilo Harjo October 2, 2024

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
- 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.
- 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.
- 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.
- 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:
- 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.
- 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.
- 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.
- 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.
- 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.
- 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.