ESP32 + Node-RED + InfluxDB: Stack Monitoring Industri Murah

📌 Artikel ini adalah bagian dari seri ESP32 di Industri: Panduan Implementasi IoT untuk Pabrik & Fasilitas Industri — Cluster 4 dari 7. Belum baca cara ESP32 mengirim data ke MQTT broker? Lihat dulu Cluster 3: Kirim Data Sensor dari ESP32 ke MQTT Broker.

Sampai artikel sebelumnya, ESP32 Anda sudah bisa membaca data sensor via Modbus RTU dan mengirimkannya ke MQTT broker. Tapi data yang cuma “lewat” tanpa disimpan tidak banyak gunanya untuk analisis tren, laporan, atau deteksi anomali jangka panjang. Solusinya adalah membangun stack ESP32 Node-RED InfluxDB yang lengkap, mulai dari pengumpulan hingga penyimpanan dan visualisasi data.

Di artikel ini kita akan melengkapi stack monitoring Anda dengan Node-RED sebagai orchestrator dan InfluxDB sebagai database time-series — kombinasi yang sangat populer di kalangan praktisi IoT industri karena murah, ringan, dan sepenuhnya open-source.

Kenapa Stack ESP32 Node-RED InfluxDB yang Dipilih?

Ada banyak cara membangun sistem monitoring industri, tapi kombinasi Node-RED, InfluxDB, dan Grafana (opsional untuk visualisasi lanjutan) punya beberapa keunggulan spesifik untuk fasilitas skala kecil-menengah:

  • Biaya nyaris nol — semua komponen open-source, bisa dijalankan di Raspberry Pi atau mini PC seharga jutaan rupiah, tanpa biaya lisensi bulanan seperti software SCADA komersial.
  • Visual programming di Node-RED — Anda tidak perlu jago coding untuk membangun alur logika data; drag-and-drop node sudah cukup untuk kebutuhan monitoring standar.
  • InfluxDB dirancang khusus untuk data time-series — jauh lebih efisien menyimpan data sensor (yang sifatnya berderet berdasarkan waktu) dibanding database relasional biasa seperti MySQL.
  • Skalabel — mulai dari satu sensor, bisa berkembang ke puluhan titik monitoring tanpa perlu ganti arsitektur dari awal.

Gambaran Arsitektur Stack

  • Sensor Industri (4-20mA)
  • ↓ Converter Modbus RTU
  • ↓ ESP32 (Modbus Master + MQTT Publisher)
  • ↓ MQTT Broker (HiveMQ/Mosquitto)
  • ↓ Node-RED (Subscribe MQTT → Proses → Simpan)
  • ↓ InfluxDB (Database Time-Series)
  • ↓ Dashboard (Node-RED Dashboard atau Grafana)

Setiap komponen punya tugas spesifik: ESP32 sebagai “pengumpul data lapangan”, MQTT sebagai “jalur transportasi”, Node-RED sebagai “otak pemroses”, dan InfluxDB sebagai “gudang penyimpanan” yang siap divisualisasikan.

Arsitektur stack ESP32 Node-RED InfluxDB Grafana untuk monitoring industri

Yang Anda Butuhkan

  • ESP32 yang sudah mengirim data ke MQTT broker (lanjutan dari artikel sebelumnya)
  • Raspberry Pi, mini PC, atau laptop bekas untuk menjalankan Node-RED dan InfluxDB
  • Node-RED (bisa diinstall lewat npm atau sebagai bagian dari Node-RED Dashboard)
  • InfluxDB versi 2.x (lebih mudah untuk pemula dibanding versi 1.x)

Instalasi Cepat (di Linux/Raspberry Pi)

# Install Node-RED
sudo npm install -g --unsafe-perm node-red

# Install InfluxDB 2.x
wget https://dl.influxdata.com/influxdb/releases/influxdb2_2.7.1_amd64.deb
sudo dpkg -i influxdb2_2.7.1_amd64.deb
sudo service influxdb start

Setelah InfluxDB terinstall, buka http://localhost:8086 untuk setup awal (buat organization, bucket, dan API token yang akan dipakai Node-RED).

Setup Alur di Node-RED

1. Install Node Tambahan

Di Node-RED, install dua node tambahan lewat menu Manage Palette. Kalau Anda belum familiar dengan dasar-dasar Node-RED, pelajari dulu integrasinya langsung dengan Modbus RTU di Integrasi Modbus RTU ke Node-RED: Step by Step sebagai referensi tambahan.

  • node-red-contrib-influxdb — untuk koneksi ke InfluxDB
  • node-red-dashboard (opsional) — kalau ingin dashboard sederhana langsung dari Node-RED tanpa Grafana

Diagram alur Node-RED menghubungkan Raspberry Pi ke berbagai perangkat

2. Susun Flow Dasar

Flow paling dasar terdiri dari tiga node yang dihubungkan berurutan:

MQTT In → Function (parsing) → InfluxDB Out

  • Node MQTT In: subscribe ke topic yang sama dengan yang dipakai ESP32 (contoh: bisaioti/sensor/suhu)
  • Node Function: mengubah payload string dari MQTT menjadi format yang bisa diterima InfluxDB

Contoh kode di node Function:

msg.payload = {
    suhu: parseFloat(msg.payload)
};
return msg;

Node InfluxDB Out: konfigurasi dengan URL InfluxDB (http://localhost:8086), organization, bucket, dan API token yang sudah dibuat sebelumnya. Measurement bisa diberi nama misalnya sensor_suhu.

3. Deploy dan Verifikasi

Klik Deploy di Node-RED, lalu cek di InfluxDB UI (http://localhost:8086) apakah data sudah masuk ke bucket yang dituju. Anda bisa menggunakan Data Explorer bawaan InfluxDB untuk melihat grafik data secara langsung tanpa setup tambahan.

Visualisasi: Node-RED Dashboard vs Grafana

Untuk kebutuhan monitoring dasar, Node-RED Dashboard sudah cukup — Anda bisa menambahkan chart, gauge, dan text widget langsung dari palette yang sama tanpa software tambahan.

Untuk kebutuhan visualisasi yang lebih kaya (multiple panel, alerting, historical comparison), Grafana adalah pilihan lebih matang. Grafana bisa langsung dikoneksikan ke InfluxDB sebagai data source, dan punya dashboard template yang sudah teruji luas di industri.

Rekomendasi untuk pemula: mulai dengan Node-RED Dashboard dulu untuk validasi sistem berjalan dengan baik, baru pindah ke Grafana kalau kebutuhan visualisasi sudah lebih kompleks. Contoh penerapannya bisa dilihat pada studi kasus Monitoring Suhu & Kelembaban 4–20 mA Menggunakan ESP32 via RS485 (Modbus RTU).

Praktik Terbaik untuk Fasilitas Industri

  • Backup InfluxDB secara berkala — data historis sensor bisa jadi krusial untuk analisis tren atau investigasi masalah produksi di kemudian hari.
  • Set retention policy yang sesuai — jangan simpan data raw selamanya kalau tidak perlu, InfluxDB mendukung downsampling otomatis untuk data lama.
  • Amankan akses Node-RED dan InfluxDB dengan username/password, terutama jika perangkat terhubung ke jaringan yang lebih luas.
  • Jalankan di perangkat yang selalu menyala — Raspberry Pi dengan power supply yang stabil adalah pilihan populer karena konsumsi daya rendah dan bisa jalan 24/7.
  • Uji ketahanan sistem dengan mematikan-menyalakan ESP32 dan broker secara acak — pastikan sistem bisa recover otomatis tanpa intervensi manual.

Langkah Selanjutnya

Stack monitoring Anda sekarang sudah lengkap dari sensor hingga dashboard. Tapi kalau device ESP32 ini akan dipasang permanen di panel industri, ada pertimbangan penting yang sering diabaikan: bagaimana melindunginya dari noise elektrik, suhu ekstrem, dan gangguan power supply. Itu yang akan kita bahas di artikel selanjutnya.

📌 Call to Action

Mulai bangun stack monitoring Anda dari titik paling dasar: Dapatkan modul konverter 4-20mA to Modbus RTU untuk sensor industri Anda → tokopedia.com/bisaioti

Ingin dipandu langkah demi langkah membangun sistem ini dari nol? Ikuti kelas “Dari Sensor Industri ke Dashboard: Baca Data 4-20mA via Modbus RTU” → bisaioti.com/lab