#06 ESP32 Project: IoT Monitoring Sensor dengan Node-RED
Pada laman kali saya akan membuat project yang ke-enam, yaitu mengirimkan data dari sensor ke platform Node-RED untuk bisa ditampilkan di…
#06 ESP32 Project: IoT Monitoring Sensor dengan Node-RED
Pada laman kali saya akan membuat project yang ke-enam, yaitu mengirimkan data dari sensor ke platform Node-RED untuk bisa ditampilkan di browser.
Sensor yang akan saya gunakan untuk project ini adalah dengan menggunakan BMP280 yang sudah pernah saya kerjakan pada project sebelumnya, untuk konfigurasinya kalian bisa lihat disini.
Untuk pengerjaan pada project ini saya menggunakan MacOS, sehingga jika teman-teman menggunakan windows mungkin ada yang berbeda nantinya.
Langkah Pengerjaan
Instalasi
Langkah pertama adalah dengan menginstall terlebih dahulu Node-RED, dengan menjalankan perintah di bawah ini pada terminal.
npm install -g node-red
Lalu, jalankan perintah di bawah ini pada terminal.
node-red
Flow Node-RED
Selanjutnya, setelah berhasil diinstall, kita akan menggunakan node:
- HTTP in
- Function
- HTTP Response
Sehabis itu urutannya adalah HTTP in -> Function -> HTTP Response
Pada node HTTP in, ubah bagian Method menjadi POST dan URL menjadi /bmp280
Pada node Function, isi dengan teks di bawah ini
return [
{payload: msg.payload.temperature},
{payload: msg.payload.pressure},
{payload: msg.payload.altitude},
msg
];
IP Laptop
Selanjutnya, kita harus mendapatkan ip laptop kita sendiri, dapat dilakukan dengan menuliskan ini pada terminal.
ipconfig getifaddr en0
Arduino IDE
Selanjutnya, salin kode ini untuk menghubungkan sensor kita dengan platform (sesuaikan lagi dengan wifi dan ip laptop kalian). Jangan lupa untuk mengubah upload speednya menjadi 115200
#include <WiFi.h>
#include <HTTPClient.h>
#include <Wire.h>
#include <Adafruit_Sensor.h>
#include <Adafruit_BMP280.h>
#define BMP_SDA 21
#define BMP_SCL 22
const char* ssid = "NAMA_WIFI";
const char* password = "PASSWORD_WIFI";
String server = "http://IP_LAPTOP/bmp280";
Adafruit_BMP280 bmp;
void setup() {
Serial.begin(115200);
delay(1000);
Serial.println("================================");
Serial.println("BMP280 IoT Project");
Serial.println("================================");
// Inisialisasi I2C
Wire.begin(BMP_SDA, BMP_SCL);
// Inisialisasi BMP280
if (!bmp.begin(0x76)) {
Serial.println("BMP280 tidak ditemukan!");
while (1) {
delay(1000);
}
}
Serial.println("BMP280 berhasil terdeteksi");
// Koneksi WiFi
Serial.print("Menghubungkan ke WiFi");
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println();
Serial.println("WiFi Connected!");
Serial.print("IP ESP32 : ");
Serial.println(WiFi.localIP());
Serial.println("================================");
}
void loop() {
float temperature = bmp.readTemperature();
float pressure = bmp.readPressure() / 100.0F;
float altitude = bmp.readAltitude(1013.25);
Serial.println("DATA SENSOR");
Serial.print("Temperature : ");
Serial.print(temperature);
Serial.println(" °C");
Serial.print("Pressure : ");
Serial.print(pressure);
Serial.println(" hPa");
Serial.print("Altitude : ");
Serial.print(altitude);
Serial.println(" meter");
if (WiFi.status() == WL_CONNECTED) {
HTTPClient http;
http.begin(server);
http.addHeader(
"Content-Type",
"application/json"
);
String jsonData =
"{"
"\"temperature\":" + String(temperature, 2) + ","
"\"pressure\":" + String(pressure, 2) + ","
"\"altitude\":" + String(altitude, 2) +
"}";
Serial.println("Mengirim JSON:");
Serial.println(jsonData);
int responseCode = http.POST(jsonData);
Serial.print("HTTP Response Code: ");
Serial.println(responseCode);
if (responseCode > 0) {
String response = http.getString();
Serial.print("Response Server: ");
Serial.println(response);
}
http.end();
}
else {
Serial.println("WiFi Terputus!");
}
Serial.println("--------------------------------");
delay(5000);
}
Dashboard Node-RED
Pada Node-RED, Menu (☰) -> Manage Palette -> search: node-red-dashboard -> Install.
Selanjutnya, setekah berhasil diinstall kalian akan melihat node ui_gauge, dan kita akan menggunakan itu, jadi kita akan menggunakan 3 node.
Untuk Node Gauge, kalian harus setting Group dan Tabnya terlebih dahulu, yaitu dengan membuat baru dan mengisikan
- Tab: Monitoring BMP280
- Group: Sensor
Untuk Gauge Suhu setting:
- Label: Suhu
- Min : 0
- Max: 50
- Unit: °C
Untuk Gauge Tekanan
- Label: Tekanan
- Min : 900
- Max: 1100
- Unit: hPa
Untuk Gauge Ketinggian
- Label: Ketinggian
- Min : 0
- Max: 500
- Unit: m
Lalu, untuk flownya kalian bisa ikutin seperti yang di bawah ini.

Terakhir, tinggal kita deploy.
Final
Untuk membuka dashboardnya, kalian bisa mengetikkan ini di browser masing-masing.
http://localhost:1880/ui
atau
http://IP_LAPTOP:1880/ui
Dan, tampilan finalnya akan seperti ini

Maka, project 6 kita kali ini sudah selesai, semoga teman-teman terbantu dengan adanya medium ini dalam membuat project IoT kalian. Terima kasih dan sampai jumpa!
메타데이터
- post_id
- 3a44d24f8fe8
- slug
- 06-esp32-project-iot-monitoring-sensor-dengan-node-red-3a44d24f8fe8
- url
- https://medium.com/@isisendiriya/06-esp32-project-iot-monitoring-sensor-dengan-node-red-3a44d24f8fe8
- canonical_url
- https://medium.com/@isisendiriya/06-esp32-project-iot-monitoring-sensor-dengan-node-red-3a44d24f8fe8
- author_url
- https://medium.com/@isisendiriya
- status
- ok
- fetched_at
- 2026-08-01 04:07:27