Cara Kontrol Relay Dengan NodeMCU ESP8266 Dan CAYENNE IoT

Kali ini saya ingin mengonrol hidup dan matinya relay, dengan akses wifi melalui platform IoT yaitu Cayenne dengan board NodeMCU ESP8266. Ini sangat mudah untuk diaplikasikan dan fungsinyapun bisa bermacam-macam dari menghidupkan lampu sampai dengan menghidupkan pompa.

1. Alat

  1. Board NodeMCU ESP8266
  2. Relay double/single 5V
  3. LED/ Lampu/ alat yang ingin dikontrol

Baca juga:

Cara Pasang NodeMCU ESP8266 Pada Arduino IDE

2. Wiring

Relay NodeMCU ESP8266
pin ground ground eksternal
pin vcc 5V eksternal
pin input 1 (relay 1) pin 14 (D5)
pin input 2 (relay 2) pin 12 (D6)

3. Programming

Pada program dibawah ini sudah dilengkapi dengan keterangan pada tanda “//”

#include <CayenneMQTTESP8266.h>
#define CAYENNE_DEBUG
#define CAYENNE_PRINT Serial

//Board: Generic ESP8266 Module
#include <ESP8266WiFi.h>

//masukkan nama wifi dan password yang akan dikoneksikan ke board
const char* ssid="HUAWEI-9FA8";
const char* Pass="27316648";

//masukkan cayenne authentication info, didapat saat membuat project di website cayenne mydevice.com
char* username = "05282900-793f-11ea-93bf-d33xxxx5544";
char* password = "6b6e398b5ae7275596dfd029c6df72xxxxb0142";
char* clientID = "4ec11820-84a1-11ea-a67f-15xxxx0bbf4";

//inisialisasi relay, disini menggunakan 2 relay yang terhubung di Pin D5 (14) dan D6 (12)
#define relayPin 14
#define relayPin1 12

void setup() {

Serial.begin(9600);
//koneksi ke platform Cayenne
Cayenne.begin(username, password, clientID, ssid, Pass);

//inisialisasi pin mode dan kondisi relay saat pertama kali di hidupkan, dalam hal ini kondisi relay semua dalam keadaan mati
 pinMode(relayPin, OUTPUT);
 digitalWrite(relayPin,HIGH);
 pinMode(relayPin1,OUTPUT);
 digitalWrite(relayPin1,HIGH);

//tampilkan pada serial monitor
Serial.println();
Serial.print("connecting");

while(WiFi.status()!=WL_CONNECTED){
  delay(500);
  Serial.print(".");
}
  Serial.println("Wifi Connected Success!");
  Serial.print("NodeMCU IP Address: ");
  Serial.println(WiFi.localIP()); 
}

void loop() {
Cayenne.loop();
}
//mengontrol relay pertama dengan channel 0
CAYENNE_IN(0){
  digitalWrite(14,!getValue.asInt());
}
//mengontrol relay kedua dengan channel 1
CAYENNE_IN(1){
  digitalWrite(12,!getValue.asInt());
}

4. Dashboard Cayenne

  1. Pilih nama device yang kalian buat
  2. Pojok kiri atas add new >> device/widget
  3. Custom widget
  4. Pilih widget Button
  5. Isi form sesuaikan channel dengan relay yang ingin kita kontrol
  6. Jika sudah pilih Add widget
  7. Widget sudah bisa digunakan

Nah sekarang kalian sudah bisa mengontrol relay dengan menekan tombol widget di dashboard kalian.