Categories: BELAJAR ESP32

Tutorial ESP32 Kontrol 4 Chanel Relay dengan Aplikasi Android + Firebase

Firebase merupakan database realtime milik perusahaan besar google yang dapat kita manfaatkan untuk keperluan membuat sistem IoT. Pada tutorial kali ini saya akan membuat program ESP32 mengontrol empat buah chanel relay dengan aplikasi android yang dibuat dengan kodular dimana penyimpanan datanya disimpan pada firebase google.

Tutorial kali ini tidak hanya untuk mengontrol relay dari android, namun bisa juga membuat sistem monitoring sensor dari esp32 kemudian ditampilkan ke aplikasi android yang saya buat.

Fitur dari aplikasi android yang saya buat antara lain

  1. Bisa mengubah token dan url firebase
  2. Bisa mengubah nama dari setiap data sensor dan juga nama tombolnya
  3. Kontrol relay dengan komponen tombol
  4. Kontrol relay dengan suara
  5. Monitoring empat data sensor analog atau digital
  6. Untuk selebihnya silahkan instal sendiri aplikasi android yang sudah saya buat untuk kalian secara gratis.

Download Aplikasi Android

Penerapan Aplikasi Tutorial ESP32 Kontrol Empat Chanel Relay

  1. Modul Kontroler hidroponik
  2. Sistem Monitoring dan kontrol Aquaponik
  3. Sistem Monitoring Kualitas Air
  4. Sistem Monitoring Air Kolam
  5. Sistem Kontrol Kolam Ikan

Tutorial langkah membuat program ESP32 Kontrol empat relay dengan aplikasi android dan firebase

  1. Rangkai ESP32 dan modul relay atau bisa langsung membeli produknya di tokopedia anakkendali.com
  2. Download library Firebase untuk ESP32 disini!
  3. Buat project di firebase, kemudian catat url dan tokenya dan masukan keduanya kedalam program arduino ide
  4. Berikut adalah code program arduino ide untuk ESP32 firebase dan kontrol relay
Modul ESP32 4 Chanel Relay Output DC 12V dan 4 Chanel ADC / GPIO
Modul ESP32 4 Chanel Relay Output 220 VAC dan 2 Chanel Input GPIO

Program Arduino IDE ESP32 Kontrol Relay dengan Firebase Google dan Aplikasi Android

#define pinrlA 32
#define pinrlB 14
#define pinrlC 27
#define pinrlD 33

#include <WiFi.h>
#include <FirebaseESP32.h>

//1. Change the following info
#define WIFI_SSID "Private_Wifi_"
#define WIFI_PASSWORD "zelwata202010"
#define FIREBASE_HOST "klinik-tanaman-default-rtdb.firebaseio.com"
#define FIREBASE_AUTH "Kxd2b6VoqKnjOwrL4bTIwVIVnmLYKa6ffHqGRV1o"

FirebaseData fbdo;

void setup()
{
  pinMode(pinrlA, OUTPUT);
  pinMode(pinrlB, OUTPUT);
  pinMode(pinrlC, OUTPUT);
  pinMode(pinrlD, OUTPUT);
  digitalWrite(pinrlA, 1);
  digitalWrite(pinrlB, 1);
  digitalWrite(pinrlC, 1);
  digitalWrite(pinrlD, 1);
  
  Serial.begin(9600);
  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 loop()
{
  if(Firebase.getString(fbdo, "/relay1"))
  {
    Serial.print("Get int data A success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlA, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay2"))
  {
    Serial.print("Get int data B success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlB, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay3"))
  {
    Serial.print("Get int data C success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlC, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay4"))
  {
    Serial.print("Get int data D success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlD, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }
}

Penejelasan sedikit program arduino IDE untuk ESP32 kontrol relay dengan aplikasi android

Berikut adalah program untuk mengenalkan variable dan alamat pin gpio esp32

#define pinrlA 32
#define pinrlB 14
#define pinrlC 27
#define pinrlD 33

Berikut adalah inti dari program kontrol relay esp32 dengan firebase

if(Firebase.getString(fbdo, "/relay1"))
  {
    Serial.print("Get int data A success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlA, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay2"))
  {
    Serial.print("Get int data B success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlB, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay3"))
  {
    Serial.print("Get int data C success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlC, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

  if(Firebase.getString(fbdo, "/relay4"))
  {
    Serial.print("Get int data D success, str = ");
    Serial.println(fbdo.stringData());
    digitalWrite(pinrlD, fbdo.stringData().toInt());
  }else{
    Serial.print("Error in getString, ");
    Serial.println(fbdo.errorReason());
  }

program diatas adalah proses permintaan esp32 kepada server firebase dengan parameter tertentu seperti “relay1” dan seterusnya, jika tidak ada parameternya maka nilai default yang akan ditampilkan adalah 0.

Mungkin cukup sekian apa yang bisa saya sampaikan, jika artikel ini belum memiliki video silahkan ditunggu, saya akan membuat video untuk lebih menjelaskan proses instalasi esp32 kontrol relay dengan firebase

Keyword

  1. ESP32 to Firebase,
  2. Tutorial ESP32 Firebase,
  3. Tutorial ESP32 Android Studio,
  4. Tutorial ESP32 Aplikasi Android Firebase,
  5. Tutorial Kontrol Relay Aplikasi Android ESP32,
  6. ESP32 Firebase Relay,
  7. ESP32 Monitoring Data,
  8. Membuat Sistem Kualitas Air IOT,
  9. Membuat Alat Hidroponik Berbasis IoT,
chaerul

Recent Posts

Panduan Lengkap: Cara Menyiapkan Klaster Kubernetes pada Ubuntu 22.04 LTS

Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…

2 weeks ago

AplikasiAkademik.com: Solusi Terbaik untuk Manajemen Sekolah yang Efisien

Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…

7 months ago

Cara Mudah Menginstal OpenVPN Server di Ubuntu 20.04 di Huaweicloud Panduan Langkah demi Langkah

Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…

12 months ago

Install Docker Portainer dan Nginx Proxy Manager Ubuntu Server

Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…

1 year ago

Tutorial led blinking lengkap, Wiring & Code

Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…

1 year ago

Tutorial LCD Display Lengkap dengan wiring & code untuk pemula

Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…

1 year ago