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
- Bisa mengubah token dan url firebase
- Bisa mengubah nama dari setiap data sensor dan juga nama tombolnya
- Kontrol relay dengan komponen tombol
- Kontrol relay dengan suara
- Monitoring empat data sensor analog atau digital
- Untuk selebihnya silahkan instal sendiri aplikasi android yang sudah saya buat untuk kalian secara gratis.
Penerapan Aplikasi Tutorial ESP32 Kontrol Empat Chanel Relay
- Modul Kontroler hidroponik
- Sistem Monitoring dan kontrol Aquaponik
- Sistem Monitoring Kualitas Air
- Sistem Monitoring Air Kolam
- Sistem Kontrol Kolam Ikan
Tutorial langkah membuat program ESP32 Kontrol empat relay dengan aplikasi android dan firebase
- Rangkai ESP32 dan modul relay atau bisa langsung membeli produknya di tokopedia anakkendali.com
- Download library Firebase untuk ESP32 disini!
- Buat project di firebase, kemudian catat url dan tokenya dan masukan keduanya kedalam program arduino ide
- Berikut adalah code program arduino ide untuk ESP32 firebase dan kontrol relay
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
- ESP32 to Firebase,
- Tutorial ESP32 Firebase,
- Tutorial ESP32 Android Studio,
- Tutorial ESP32 Aplikasi Android Firebase,
- Tutorial Kontrol Relay Aplikasi Android ESP32,
- ESP32 Firebase Relay,
- ESP32 Monitoring Data,
- Membuat Sistem Kualitas Air IOT,
- Membuat Alat Hidroponik Berbasis IoT,