Teknologi

ESP32 untuk IoT: 5 Proyek Praktis yang Menggantikan Sistem Mahal

ESP32 untuk IoT: 5 Proyek Praktis yang Menggantikan Sistem Mahal

ESP32 adalah microcontroller seharga $3-5 yang memiliki WiFi, Bluetooth, dual-core processor, dan cukup powerful untuk membangun sistem IoT production-ready. Microcontroller ini telah dipakai di banyak proyek DIY yang menggantikan sistem komersial senilai ratusan dolar — dengan hasil yang setara, bahkan lebih baik dari sistem yang digantikan.

Artikel ini membahas 5 proyek paling praktis yang bisa dimulai akhir pekan ini. Semua proyek memakai komponen yang tersedia di Tokopedia/Shopee dengan total budget di bawah Rp 200.000 per proyek.

Kenapa ESP32?

Sebelum masuk ke proyek, kenali dulu mengapa ESP32 lebih baik dari Arduino Uno atau Raspberry Pi untuk IoT:

  • Harga — $3-5 vs $25 (RPi) vs $10 (Arduino + WiFi shield)
  • WiFi + Bluetooth — built-in, tidak perlu module tambahan
  • Dual-core 240MHz — cukup powerful untuk multiple task
  • Low power — deep sleep hanya 10μA, cocok untuk battery-powered
  • GPIO banyak — 34 pins, support ADC, I2C, SPI, UART
  • Community besar — Arduino IDE + MicroPython + ESP-IDF

Proyek 1: Sensor Suhu & Kelembaban Multi-Ruangan

Sistem sensor ruangan komersial (Honeywell, Siemens) bisa digantikan dengan ESP32 + DHT22. Biaya total: sekitar Rp 50.000 per titik.

// Arduino IDE — ESP32 + DHT22
#include <WiFi.h>
#include <DHT.h>
#include <HTTPClient.h>

#define DHTPIN 4
#define DHTTYPE DHT22

DHT dht(DHTPIN, DHTTYPE);
const char* ssid = "WiFi-Name";
const char* password = "WiFi-Password";
const char* server = "http://192.168.1.100:8080/api/sensors";

void setup() {
  Serial.begin(115200);
  WiFi.begin(ssid, password);
  dht.begin();
}

void loop() {
  float temp = dht.readTemperature();
  float humid = dht.readHumidity();

  if (!isnan(temp) && !isnan(humid)) {
    HTTPClient http;
    http.begin(server);
    http.addHeader("Content-Type", "application/json");

    String payload = "{\"temp\":" + String(temp) +
                    ",\"humid\":" + String(humid) +
                    ",\"node\":\"ruang-tamu\"}";
    http.POST(payload);
    http.end();
  }
  delay(30000); // Kirim data setiap 30 detik
}

Data dikirim ke Home Assistant atau Node-RED di VPS/Raspberry Pi. Dashboard real-time bisa didapatkan secara gratis.

Proyek 2: Smart Lock dengan Fingerprint

Sistem kunci pintar fingerprint bisa dibangun sekitar Rp 150.000 (vs komersial Rp 1-5 juta).

Komponen:

  • ESP32 (~Rp 35.000)
  • R307 Fingerprint Module (~Rp 45.000)
  • Solenoid Lock 12V (~Rp 35.000)
  • Relay Module (~Rp 10.000)
  • Power supply 12V (~Rp 25.000)
// Enroll fingerprint via serial, lalu match di loop
#include <Adafruit_Fingerprint.h>

// Setup fingerprint sensor
SoftwareSerial mySerial(16, 17);
Adafruit_Fingerprint finger(&mySerial);

void checkAccess() {
  int fingerID = finger.getImage();
  if (fingerID == FINGERPRINT_OK) {
    fingerID = finger.image2Tz();
    fingerID = finger.fingerFastSearch();
    if (fingerID == FINGERPRINT_OK) {
      // Buka lock — trigger relay
      digitalWrite(RELAY_PIN, HIGH);
      delay(3000); // 3 detik
      digitalWrite(RELAY_PIN, LOW);
      sendNotification("Pintu dibuka: " + String(fingerID));
    }
  }
}

Proyek 3: Energy Monitor untuk Listrik Rumah

Pantau konsumsi listrik real-time. Sistem komersial: Rp 500.000+. Dengan ESP32: sekitar Rp 80.000.

// ESP32 + SCT-013 Current Sensor
// Baca arus AC via ADC
float readCurrent() {
  float sum = 0;
  for (int i = 0; i < 1000; i++) {
    float current = analogRead(CURRENT_PIN) * 3.3 / 4095.0;
    current = (current - 2.5) / 0.185; // SCT-013 sensitivity
    sum += current * current;
    delayMicroseconds(200);
  }
  return sqrt(sum / 1000.0); // RMS current
}

// Hitung daya dan kirim ke dashboard
float power = readCurrent() * 220.0; // Watt
sendToInfluxDB("power_consumption", power);

Integrasikan dengan InfluxDB + Grafana untuk visualisasi historis konsumsi listrik per jam/hari/bulan. Pola pipeline MQTT → InfluxDB → Grafana ini adalah arsitektur standar untuk logging data sensor jangka panjang.

Proyek 4: Smart Garden Automation

Otomasi penyiraman tanaman berdasarkan kelembaban tanah. Hemat air hingga 60% dan tanaman tetap sehat.

  • Sensor kelembaban tanah capacitive (~Rp 15.000)
  • Relay + pompa air (~Rp 30.000)
  • Solenoid valve (optional, untuk irrigation line)
// Auto-irrigation berdasarkan soil moisture
int soilMoisture = analogRead(SOIL_PIN);
int moisturePercent = map(soilMoisture, 4095, 0, 0, 100);

if (moisturePercent < 30) { // Kering
  digitalWrite(PUMP_PIN, HIGH);
  delay(10000); // Siram 10 detik
  digitalWrite(PUMP_PIN, LOW);
}

// Kirim data ke dashboard
sendSensorData("soil_moisture", moisturePercent);

Proyek 5: Home Security dengan PIR + Kamera

Sistem alarm rumah dengan PIR motion sensor + ESP32-CAM. Notifikasi dikirim ke Telegram saat ada gerakan terdeteksi.

// ESP32-CAM + PIR Sensor
#include "esp_camera.h"
#include <WiFiClientSecure.h>

// PIR detect motion
if (digitalRead(PIR_PIN) == HIGH) {
  // Ambil foto
  camera_fb_t *fb = esp_camera_fb_get();

  // Kirim ke Telegram Bot
  sendTelegramPhoto(fb->buf, fb->len, "⚠️ Motion detected!");

  esp_camera_fb_return(fb);
  delay(30000); // Cooldown 30 detik
}

Tools dan Framework yang Direkomendasikan

ToolKegunaanHarga
Arduino IDE 2.0Programming ESP32Gratis
PlatformIOVS Code extension, lebih organizedGratis
ESPHomeNo-code ESP32 untuk Home AssistantGratis
MicroPythonPython di microcontrollerGratis
Node-REDVisual automation flowGratis

Kesimpulan

ESP32 adalah game-changer untuk DIY IoT. Dengan harga $3-5, sistem dengan performa setara (atau lebih baik dari) sistem komersial senilai ratusan dolar bisa dibangun. Mulai dari sensor suhu sederhana sampai home security system — semuanya achievable dengan budget di bawah Rp 200.000.

Untuk panduan networking rumah, baca Setup MikroTik Home Router. Dan untuk memonitor semua sensor ESP32 dari satu tempat, baca Monitoring dengan Grafana + Prometheus.

Sumber & Validasi

Artikel ini disusun dengan merujuk pada dokumentasi dan praktik terbaik dari sumber berikut:

💬 Komentar (0)

Belum ada komentar. Jadilah yang pertama! 💬

Komentar akan muncul setelah moderasi.