Belajar Internet of Things (IoT) : Kontrol Relay Dengan Smartphone Menggunakan Firebase - SAMBI ONLINE >

iklN JAJAl

Belajar Internet of Things (IoT) : Kontrol Relay Dengan Smartphone Menggunakan Firebase

Kontrol Relay Dengan Smartphone Menggunakan Firebase – Halo sobat sambi, kembali lagi di SAMBI ONLINE. Nah pada artikel kali ini saya akan membahas tentang Cara Kontrol Relay dengan Smartphone menggunakan Database Firebase. 

Lalu Apasih manfaat dari kontrol relay menggunakan Smartphone ini? Untuk manfaat dan tujuan kita mengontrol Relay dengan smartphone ini bisa kita manfaatkan untuk Kontrol Lampu menggunakan Smartphone ataupun kontrol lainnya sesuai yang sobat sambi inginkan. Pada tutorial kali ini sobat sambi dapat menggunakan ESP8266 atau ESP32. Oke langsung saja kita bahas bagaimana cara Kontrol Relay Dengan Smartphone Menggunakan Firebase.

Alat dan Bahan yang diperlukan :

  1. Board ESP8266 (NodeMCU, dll) atau ESP32
  2. Arduino IDE
  3. Relay

Gambar Rangkaian 

ESP8266

Kontrol Relay Dengan Smartphone Menggunakan Firebase


ESP32

Kontrol Relay Dengan Smartphone Menggunakan Firebase


Pada rangkaian diatas untuk Signal untuk melakukan trigger pada Relay pada ESP8266 menggunakan Pin D4, Sedangkan untuk ESP32 menggunakan D15. Untuk Output pada gambar diatas silahkan ganti dengan Output yang sobat inginkan semisal lampu. Untuk Power Supply untuk Output sesuaikan dengan Output yang sobat inginkan. Jika Output yang sobat gunakan adalah lampu Rumahan gunakan tegangan 220 VAC.

Membuat Database Firebase

Bagi sobat sambi yang belum bagaimana cara membuat database firebase silahkan simak artikel Sambi Online sebelumnya.

Baca Juga : Cara Membuat Database Firebase untuk Projek Internet of Things (IoT)

Silahkan Simpan dan perhatikan alamat url dan secret code yang ada pada firebase sobat. Alamat url dan secrets code tersebut yang akan kita tambahkan pada program untuk menghubungkan ESP sobat dengan Firebase agar dapat berkomunikasi.

Program untuk ESP32 atau ESP8266

Sebelum Sobat Sambi melakukan upload program pada Arduino IDE, sobat sambi harus terlebih dalahu menambahkan library untuk board ESP8266 ataupun ESP32 sesuai yang dengan board yang sobat sambi gunakan saat ini. Untuk sobat sambi yang belum menambahkan library board ESP32 ataupun ESP8266 dan belum tau bagaimana cara menambahkan library tersebut, silahkan simak artikel Sambi Online berikut.

Baca Juga : Cara Menambahkan Library ESP8266 dan ESP32 Pada Arduino IDE

Nah Setelah Arduino IDE sobat sambi telah terinstall board ESP, kemudian tambahkan library Wifi dan juga Firebase. 

Kontrol Relay Dengan Smartphone Menggunakan Firebase

Kontrol Relay Dengan Smartphone Menggunakan Firebase


Setelah itu Silahkan upload program berikut:

Program untuk ESP8266

#include <ESP8266WiFi.h>


#ifndef STASSID

#define STASSID "SAMBI WIFI" // "SAMBI WIFI" Gantikan dengan SSID WIFI SOBAT

#define STAPSK  "@QWERTY" // GANTI DENGAN PASSWORD WIFI SOBAT

#endif


const char* ssid     = STASSID;

const char* password = STAPSK;


#include "FirebaseESP8266.h"

#define FIREBASE_HOST "uji-coba-firebase-be90b-default-rtdb.firebaseio.com" //Ganti dengan Url Firebase Sobat (TANPA HTTP/HTTPS)

#define FIREBASE_AUTH "iPJsMBfqGWn6o5mPUOTbgvgV34yJdBE6......." // Ganti Secret Code Firebase Sobat


FirebaseData firebaseData;


String status_relay1 = "";


void setup() {

  Serial.begin(115200);

  Serial.println();

  Serial.print("Connecting to ");

  Serial.println(ssid);


  WiFi.mode(WIFI_STA);

  WiFi.begin(ssid, password);


  const long timeout = 15000;

  long _start = millis();

  while ((WiFi.status() != WL_CONNECTED) && (millis() - _start < timeout)) {

    Serial.print(".");

    delay(500);

  }


  Serial.println();


  if (WiFi.status() == WL_CONNECTED) {

    Serial.println("CONNECTED");

    Serial.println("IP: " + WiFi.localIP().toString());

    delay(500);

  } else {

    Serial.println("WiFi Tidak Terhubung");

    delay(500);

  }

  

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

 

  pinMode(D4, OUTPUT);

}


void RLY1() {

  if (Firebase.getString(firebaseData, "relay1")) { // "relay1" adalah tag yang digunakan untuk mengenali relay antara ESP dengan Aplikasi 

    if (firebaseData.dataType() == "string") {

      status_relay1 = firebaseData.stringData();

      Serial.print("Stat Relay 1:"); Serial.print(status_relay1); Serial.print("  ");

      if (status_relay1 == "1") {

        digitalWrite (D4, 1);

        Serial.println("RELAY ON");

      } else if (status_relay1 == "0") {

        digitalWrite (D4, 0);

        Serial.println("RELAY OFF");

      }

    }

  }

}


void loop() {

  RLY1();

  delay(800);

}


Program untuk ESP32 

#include <WiFi.h>

#include <FirebaseESP32.h>

#define FIREBASE_HOST "uji-coba-firebase-be90b-default-rtdb.firebaseio.com" //Ganti dengan Url Firebase Sobat (TANPA HTTP/HTTPS)

#define FIREBASE_AUTH "iPJsMBfqGWn6o5mPUOTbgvgV34yJdBE6......." // Ganti Secret Code Firebase Sobat

#define WIFI_SSID "SAMBI WIFI"               // sesuaikan dengan ssid wifi

#define WIFI_PASSWORD "PASWORDWIFISAMBI"    // masukkan password wifi


FirebaseData firebaseData;


String status_relay1 = "";


int pinRELAY1 = 15;


void setup() {

  Serial.begin(115200);

  pinMode(pinRELAY1, OUTPUT);

  

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);

  Serial.print("Connecting to Wi-Fi");

  

  while (WiFi.status() != WL_CONNECTED) {

    Serial.print(".");  delay(300);

  }

  

  Serial.println();

  Serial.print("Connected with IP: ");

  Serial.println(WiFi.localIP());

  Serial.println();

  

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);

  

  Firebase.reconnectWiFi(true);

}


void RLY1() {

  if (Firebase.getString(firebaseData, "relay1")) { // "relay1" adalah tag yang digunakan untuk mengenali relay antara ESP dengan Aplikasi 

    if (firebaseData.dataType() == "string") {

      status_relay1 = firebaseData.stringData();

      Serial.print("Stat Relay 1:"); Serial.print(status_relay1); Serial.print("  ");

      if (status_relay1 == "1") {

        digitalWrite (pinRELAY1, 1);

        Serial.println("RELAY ON");

      } else if (status_relay1 == "0") {

        digitalWrite (pinRELAY1, 0);

        Serial.println("RELAY OFF");

      }

    }

  }

}


void loop() {

  RLY1();

  delay(800);

}


Aplikasi Android dengan MIT App Inventor

Silahkan build aplikasi menggunakan MIT App Inventor. Ini adalah contoh sederhana dari aplikasi yang saya buat untuk sobat sambi yang bisa digunakan sebagai referensi.

Kontrol Relay Dengan Smartphone Menggunakan Firebase

Kontrol Relay Dengan Smartphone Menggunakan Firebase
Kontrol Relay Dengan Smartphone Menggunakan Firebase
Program Aplikasi MIT

Kontrol Relay Dengan Smartphone Menggunakan Firebase

Silahkan Sobat Build Aplikasi tersebut. Silahkan Install Aplikasi tersebut pada smartphone sobat.

Jika Aplikasi Smartphone sobat sudah terhubung dengan firebase maka pada monitoring Firebase, pada tab Realtime database akan muncul tampilan berikut jika sobat Tekan Tombol "ON" pada Aplikasi

Kontrol Relay Dengan Smartphone Menggunakan Firebase

Jika Tobol "OFF" sobat tekan maka angka "1" pada tag relay1 akan berganti menjadi angka "0"

Nah, itu tadi adalah penjelasan tentang Kontrol Relay Dengan Smartphone Menggunakan Firebase, Untuk sobat sambi yang belum jelas atau ada yang ingin ditanyakan silahkan tulis dikolom komentar. 


Berlangganan update artikel terbaru via email:

5 Responses to "Belajar Internet of Things (IoT) : Kontrol Relay Dengan Smartphone Menggunakan Firebase"

  1. Kak klo misal otomatis ditampilkan pada mit app inventor kondisi kipasnya aktif caranya gimana kak?

    BalasHapus
    Balasan
    1. Kalau semisal kipas on / off ada indikatornya diaplikasi gitu kak maksudnya? Kalau iya di MIT nya ditambahin label / gambar, nah itu nanti blok program MITnya juga ditambahin program buat baca nilai tag relay nya dari firebase kakak, setelah itu sesuaikan aja output dari hasil pembacaan firebasenya

      Hapus
    2. oh iya terima kasih kak.ada tutor untuk programnya buat baca nilai tag relaynya? :)

      Hapus
    3. Sepertinya kalau cari di google banyak kak, tapi kalau semisal darurat bisa DM ig saya kak @dimaswahyu50

      Hapus

Iklan Atas Artikel

Iklan Tengah Artikel 1

Iklan Tengah Artikel 2

Iklan Bawah Artikel