Sabtu, 14 Juni 2025

Langkah-langkah untuk membuat saklar ON/OFF NodeMCU ESP8266 yang dapat dikontrol dari jarak jauh secara online

 

Alat dan Bahan yang Dibutuhkan:

  1. NodeMCU ESP8266

  2. Relay module (misalnya 1-channel relay)

  3. Kabel jumper

  4. Power supply (USB atau adaptor)

  5. Perangkat elektronik yang ingin dikontrol (lampu, kipas, dll.)

  6. Smartphone/PC untuk kontrol

1. Rangkaian Hardware

Hubungkan komponen sebagai berikut:

  • Pin D1 (GPIO5) NodeMCU  Input Relay (IN)

  • VIN NodeMCU  VCC Relay (5V)

  • GND NodeMCU  GND Relay

  • Output Relay  Perangkat Elektronik (Lampu/Kipas)

2. Platform Online untuk Kontrol (Pilih Salah Satu)

Berikut beberapa opsi platform yang bisa digunakan:

A. Menggunakan Blynk (Sederhana & User-friendly)

  1. Instal Blynk App di smartphone (iOS/Android).

  2. Buat proyek baru, pilih ESP8266 dan dapatkan Auth Token.

  3. Tambahkan Button Widget dan atur ke mode Switch.

  4. Hubungkan ke Virtual Pin (misal V0).

B. Menggunakan Firebase (Lebih Fleksibel)

  1. Buat proyek di Firebase Console.

  2. Tambahkan Realtime Database dan atur rules menjadi:

    json

    {
      "rules": {
        ".read": true,
        ".write": true
      }
    }
  3. Catat Database URL dan Secret Key (jika perlu).

C. Menggunakan MQTT (Broker seperti Adafruit IO/RabbitMQ)

  1. Daftar di Adafruit IO atau gunakan broker MQTT lain.

  2. Buah Feed baru (misal: onoff_switch).

3. Program NodeMCU (Contoh menggunakan Blynk)

cpp

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// Ganti dengan kredensial WiFi dan Auth Token Blynk
char auth[] = "YourAuthToken";
char ssid[] = "YourWiFiSSID";
char pass[] = "YourWiFiPassword";

// Relay terhubung ke GPIO5 (D1)
const int relayPin = D1;

void setup() {
  Serial.begin(115200);
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW); // Matikan relay saat awal
  
  Blynk.begin(auth, ssid, pass);
}

// Fungsi untuk kontrol dari Blynk (Virtual Pin V0)
BLYNK_WRITE(V0) {
  int value = param.asInt();
  digitalWrite(relayPin, value);
}

void loop() {
  Blynk.run();
}

4. Upload Program & Uji Coba

  1. Upload kode ke NodeMCU via Arduino IDE.

  2. Buka Blynk App, tekan tombol untuk mengontrol relay.

Alternatif Kode Firebase

Jika menggunakan Firebase, contoh kodenya:

cpp

#include <ESP8266WiFi.h>
#include <FirebaseArduino.h>

#define FIREBASE_HOST "your-project.firebaseio.com"
#define FIREBASE_AUTH "your-secret-key"
#define WIFI_SSID "YourWiFi"
#define WIFI_PASSWORD "YourPassword"

const int relayPin = D1;

void setup() {
  pinMode(relayPin, OUTPUT);
  digitalWrite(relayPin, LOW);
  
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) delay(500);
  
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  Firebase.set("switch", 0); // Nilai awal
}

void loop() {
  int state = Firebase.getInt("switch");
  digitalWrite(relayPin, state ? HIGH : LOW);
  delay(100);
}

Kontrol dengan mengubah nilai switch di Firebase Realtime Database.

5. Keamanan & Optimasi

  • Gunakan Auth Token/Password yang kuat.

  • Jika memakai Firebase, batasi akses dengan Security Rules.

  • Tambahkan LED indicator untuk status koneksi.

Dengan ini, Anda sudah bisa mengontrol perangkat dari mana saja selama NodeMCU terhubung ke internet! 

Tidak ada komentar:

Posting Komentar

Cara Mengkonversi File Python (.py) ke Executable (.exe) di Linux

  Berikut adalah panduan lengkap untuk mengkonversi script Python ke file .exe yang bisa dijalankan di Windows, meskipun Anda menggunakan Li...