Acara 03: Dashboard IoT pada Node-RED
BKPM – Internet of Things
| Informasi Praktikum | Keterangan |
|---|---|
| Acara Praktikum | Acara 03: Implementasi Rangkaian & Visualisasi Dashboard IoT |
| Pokok Bahasan | Dashboard IoT pada Node-RED |
| Tempat | Laboratorium Elektronika Instrumentasi |
| Alokasi Waktu | 1 × 2 × 50 menit (100 Menit) |
a. Capaian Pembelajaran Mata Kuliah (CPMK)
- Mahasiswa mampu memahami konsep, konfigurasi, dan implementasi visualisasi dashboard berbasis IoT pada Node-RED serta integrasi protokol komunikasi MQTT untuk pemantauan data sensor/aktuator secara real-time.
b. Indikator Penilaian
- Keberhasilan Instalasi: Mampu menginstal modul dashboard pada Node-RED (
@flowfuse/node-red-dashboard). - Keberhasilan Kustomisasi UI: Mampu mengonfigurasi tema, tata letak (layout), UI Base, UI Page, dan UI Group.
- Keberhasilan Implementasi Rangkaian Node: Mampu merangkai dan mengintegrasikan node-node dashboard (
ui-text,ui-gauge,inject,mqtt in,mqtt out).
c. Penilaian Bertahap Skill Passport
- Penilaian kompetensi konfigurasi IoT Gateway, integrasi broker MQTT publik, serta perancangan dashboard interaktif sesuai standar kompetensi industri IoT.
d. Dasar Teori
1. Node-RED & Flow-Based Programming
Node-RED adalah flow-based development tool berbasis Node.js yang dirancang untuk menghubungkan perangkat keras, API, dan layanan daring. Setiap fungsi direpresentasikan sebagai node yang saling terhubung melalui aliran pesan (message flow dengan objek msg.payload).
2. Hierarki Struktur Node-RED Dashboard 2.0 (FlowFuse Dashboard)
Dashboard pada Node-RED Dashboard 2.0 menerapkan konsep hierarki bertingkat (Parent-Child Architecture) yang terstruktur secara ketat: ui-base ui-page ui-group Widget (Node UI).
┌─────────────────────────────────────────────────────────────┐
│ 1. ui-base (Root / Fondasi Global: Path '/dashboard') │
│ │ │
│ └──► 2. ui-page (Halaman Spesifik: Path '/main', Icon) │
│ │ │
│ ├──► 3. ui-group (Kontainer/Panel: 'Group 1') │
│ │ └──► 4. Widget: ui-text │
│ │ │
│ └──► 3. ui-group (Kontainer/Panel: 'Group 2') │
│ └──► 4. Widget: ui-gauge │
└─────────────────────────────────────────────────────────────┘| Tingkatan Hierarki | Deskripsi & Peran Utama | Contoh Properti |
|---|---|---|
1. ui-base (Root) | Fondasi tertinggi yang mengatur seluruh aplikasi dashboard secara global. Menentukan URL root path, tema warna (light/dark), font, dan notifikasi. | Name: Main, Path: /dashboard |
2. ui-page (Page) | Halaman navigasi di dalam ui-base. Satu ui-base dapat memiliki banyak halaman (misal: Main, Kontrol, Laporan). Mengatur layout grid, rute sub-path, dan ikon navbar. | Name: Main page, Path: /main, Icon: home |
3. ui-group (Container) | Panel kontainer/kartu di dalam ui-page untuk mengelompokkan widget visual secara logis. Mengatur lebar (width) dan tinggi (height) grid. | Name: Group 1, Width: 6 |
| 4. Widgets (Leaf Element) | Komponen visual interaktif konkret yang menampilkan atau menginput data. Wajib menginduk ke suatu ui-group. | ui-text, ui-gauge, ui-chart, ui-button |
3. Protokol Komunikasi MQTT (Message Queuing Telemetry Transport)
MQTT adalah protokol perpesanan ringan berbasis publish/subscribe yang sangat efisien untuk perangkat IoT dengan keterbatasan bandwidth.
- Broker: Server perantara pesan (contoh:
test.mosquitto.org:1883). - Publisher: Pengirim pesan ke suatu Topic tertentu.
- Subscriber: Penerima pesan yang berlangganan pada Topic tertentu.
e. Alat dan Bahan
- Perangkat Komputer / Laptop: Terpasang OS Linux/Windows/macOS.
- Node-RED Runtime: Berjalan pada
http://localhost:1880. - Modul Node-RED Dashboard:
@flowfuse/node-red-dashboardversi 1.31+. - Broker MQTT Publik:
test.mosquitto.org(Port 1883). - Web Browser: Google Chrome / Firefox / Brave.
f. Prosedur Kerja
Langkah 1: Instalasi Modul Dashboard Node-RED
Buka antarmuka Node-RED pada browser (
http://localhost:1880).Klik tombol menu di pojok kanan atas, lalu pilih Manage palette.

Masuk ke tab Install, ketik
@flowfuse/node-red-dashboardpada kolom pencarian, kemudian klik Install.
Setelah instalasi selesai, node dashboard akan muncul pada bilah palet sebelah kiri.

Langkah 2: Membangun Rantai Hierarki (ui-base > ui-page > ui-group)
Struktur Pembuatan & Konfigurasi Hierarki:
- Langkah 2 – 5 (Penelusuran Hierarki / Bottom-Up): Saat pertama kali menambahkan widget (node
text), kita menelusuri dan membuka rantai pembuatan configuration node dari level terbawah hingga puncak: - Langkah 6 – 8 (Pengisian Konfigurasi & Penyimpanan / Top-Down): Setelah mencapai puncak, kita mengisi parameter konfigurasi dan menyimpannya secara berurutan:
- Langkah 6: Konfigurasi & simpan UI Base (Root path
/dashboard& tema). - Langkah 7: Konfigurasi & simpan UI Page (Sub-path
/main& iconhome). - Langkah 8: Konfigurasi & simpan UI Group (Nama kontainer
Group 1& lebar grid6).
- Langkah 6: Konfigurasi & simpan UI Base (Root path
- Langkah 9: Mengaitkan widget ke group yang telah selesai dikonfigurasi.
Tarik node text dari palet
dashboardke area kerja (workspace).
Klik ganda pada node
textuntuk membuka jendela konfigurasi properti.
Mulai rantai hierarki (Level Group): Pada kolom Group, pilih Add new ui-group… lalu klik ikon pensil untuk membuat kontainer grup baru.

Lanjutkan rantai hierarki (Level Page): Pada jendela Add new ui-group, kolom Page belum memiliki halaman. Pilih Add new ui-page… lalu klik ikon pensil.

Puncak rantai hierarki (Level Base): Pada jendela Add new ui-page, kolom UI belum memiliki root base. Pilih Add new ui-base… lalu klik ikon pensil.

Konfigurasi UI Base (Root Level):
- Name:
Main - Path:
/dashboard - Klik Add untuk menyimpan konfigurasi
ui-base.

- Name:
Konfigurasi UI Page (Page Level):
- Name:
Main page - Path:
/main - Icon:
home - Pastikan field UI mengarah ke
Main [/dashboard]yang baru dibuat. - Klik Add untuk menyimpan konfigurasi
ui-page.

- Name:
Konfigurasi UI Group (Group/Container Level):
- Name:
Group 1 - Page:
Main page [/dashboard/main] - Width:
6 - Klik Add untuk menyimpan konfigurasi
ui-group.

- Name:
Selesaikan Konfigurasi Widget Text:
- Pastikan Group telah terpilih:
[Main page] Group 1. - Klik Done.

- Pastikan Group telah terpilih:
Klik tombol Deploy di kanan atas Node-RED, kemudian buka browser dan akses URL dashboard:
http://localhost:1880/dashboard/main
Langkah 3: Konfigurasi Widget Gauge dan Group 2
Tarik node gauge ke area kerja dan buka pengaturannya.
Tambahkan grup baru bernama Group 2 dengan Page
Main pagedan Width6.
Atur properti node gauge:
- Group:
[Main page] Group 2 - Type:
Half Gauge - Style:
Needle - Min:
0, Max:10 - Color Segments:
0(Hijau),4(Kuning),7(Merah). - Klik Done.

- Group:
Langkah 4: Pengujian Input Data Lokal (Dashboard Testing)
Uji Coba Input Text (Timestamp):
- Hubungkan node
inject(timestamp) langsung ke nodeui-text. - Klik Deploy dan tekan tombol trigger pada node
inject.

- Periksa perubahan nilai timestamp pada halaman dashboard:

- Hubungkan node
Uji Coba Input Gauge:
- Tambahkan dua node inject:
Input 0dengan payload tipe number:0.Input 5dengan payload tipe number:5.
- Hubungkan kedua node
injectke input nodeui-gauge.

- Tambahkan dua node inject:
Tampilan Flow Pengujian Dasar:
- Pastikan seluruh rangkaian node pengujian lokal telah terhubung seperti berikut:

g. Tugas Praktikum, Hasil, dan Pembahasan
1. Instruksi Tugas Integrasi MQTT
- Konfigurasi Subscriber (MQTT In):
- Tambahkan node mqtt in dengan Broker
test.mosquitto.org:1883, Topicmicroteaching/trm5xx, dan QoS2. - Hubungkan output
mqtt inke input widgetui-text.
- Tambahkan node mqtt in dengan Broker
- Konfigurasi Publisher (MQTT Out & Inject):
- Tambahkan node inject dengan payload bertipe string yang berisi nama anda, contoh:
"Faruq is here". - Hubungkan output node inject langsung ke input node mqtt out (Broker
test.mosquitto.org:1883, Topicmicroteaching/trm5xx).
- Tambahkan node inject dengan payload bertipe string yang berisi nama anda, contoh:
- Deploy & Verifikasi:
- Klik Deploy dan pastikan kedua node MQTT berstatus connected (indikator hijau).
2. Target Rangkaian Flow Lengkap Mahasiswa
Berikut adalah target diagram alur lengkap (flow) yang harus berhasil disusun dan dijalankan oleh mahasiswa:

3. Target Tampilan Dashboard Akhir
Setelah memicu pesan MQTT dan input Gauge, verifikasi hasil tampilan antarmuka pada URL http://localhost:1880/dashboard/main:

4. Analisis Aliran Data (Data Flow Analysis)
- Group 1 (Text Display via MQTT): Ketika node inject ditekan, pesan string
"Faruq is here"dipublikasikan langsung ke broker MQTTtest.mosquitto.orgpada topikmicroteaching/trm5xx. Nodemqtt inyang berlangganan pada topik yang sama menerima pesan tersebut dan langsung memperbarui tampilan teks di dashboard secara real-time. - Group 2 (Gauge Display): Menampilkan posisi jarum (needle) sesuai dengan nilai numerik input (0 sampai 10). Saat
Input 0di-trigger, jarum menunjuk angka 0 pada zona hijau. SaatInput 5di-trigger, jarum bergerak dinamis ke zona kuning (nilai 5).
h. Rubrik Penilaian
| No | Indikator Kinerja | Bobot (%) | Kriteria Penilaian | Nilai Akhir |
|---|---|---|---|---|
| 1 | Keberhasilan Instalasi Dashboard Node-RED | 20% | Modul dashboard terpasang tanpa error dan palet node UI tersedia lengkap di panel kiri. | |
| 2 | Keberhasilan Kustomisasi UI Base, Page, Group & Layout | 20% | Struktur UI Base, UI Page (/main), Group 1 & Group 2 terkonfigurasi dengan rapi, ukuran grid sesuai, dan responsive. | |
| 3 | Keberhasilan Rangkaian Node Dashboard & Integrasi MQTT | 60% | Node ui-text, ui-gauge, inject, serta mqtt in & mqtt out terhubung sempurna, broker berstatus connected, dan data ter-update secara real-time. | |
| Total Nilai | 100% |