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
#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()); } }
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
Pendahuluan Dalam dunia pengembangan perangkat lunak yang terus berkembang, Kubernetes telah muncul sebagai alat kunci dalam orkestrasi…
Mengelola sebuah sekolah atau lembaga pendidikan adalah tugas yang kompleks dan penuh tantangan. Dengan berbagai…
Selamat datang di artikel kami tentang cara menginstal OpenVPN server di Ubuntu 20.04 di HuaweiCloud!…
Dalam dunia pengembangan aplikasi, salah satu hal yang menjadi penting adalah mengelola dan memonitor kontainer…
Tutorial led blinking. LED (Light Emitting Diode) merupakan salah satu komponen elektronik yang paling umum…
Tutorial LCD Display, ini merupakan salah satu komponen yang sering digunakan dalam project elektronika sebagai…