Tutorial ini mencakup cara menghubungkan ESP8266 ke google Firebase dengan mengontrol subjek modul led RGB dimanapun kapanpun kita berada. Ini merupakan proyek yang menarik dengan memanfaatkan fitur gratis dari Firebase untuk implementasi IoT secara sederhana maupun pengembangan proyek.
Dalam proyek IoT ini, digunakan fasilitas dari Google Firebase dalam skenario IoT, mengintegrasikan Firebase dengan ESP8266 untuk mengontrol modul LED RGB . Secara singkat, Google Firebase cloud adalah platform yang menyediakan beberapa layanan seperti Otentikasi, basis data realtime dan sebagainya. Untuk membangun proyek IoT ini kami akan menggunakan database realtime.
Sebenarnya hal ini sudah dibahas di artikel tutorial iot kendali relay dengan google firebase.
Untuk mengontrol LED menggunakan basis data waktu nyata Firebase , kita harus mengikuti dua langkah ini:
- Konfigurasi modul ESP8266 terhubung ke database real-time Google Firebase
- Konfigurasi pengaksesan modul led RGB ke modul ESP8266
- Trial and Error
Menghubungkan Modul LED RGB ESP8266 ke Database Firebase
Pada langkah pertama ini, penting untuk menghubungkan ESP8266 ke database Firebase sehingga perangkat ini dapat menerima pembaharuan dari database setelah terjadinya adanya perubahan nilai.
Setelah itu pengaksesan ke firebase sukses, fokus terhadap pemrograman hardware menggunakan led strip RGB.
Bahan yang dibutuhkan antara lain :
- Wemos D1 mini ESP8266
- Modul led rgb strip 1×8
- Akun Gmail id
Setting Google Firebase
Jika ini merupakan pertama kali dalam penggunaannya perlu mengikuti langkah – langkah berikut ini :
- Buka firebase.google.com di website
- Klik sign in di pojok atas bagian kanan
- Gunakan id Gmail untuk login
- klik “tambahkan project”
- Ketikan nama project sesuai dengan project yang akan kalian buat misalnya “RGB-WEMOS”
- Klik lanjutkan sampai terdapat waiting “membuat project anda” ->lihat gambar
- Setelah itu klik project overview -> setelan proyek
- Klik pada bagian “akun layanan” dan klik pada rahasia database, dan disitu terdapat Firebase auth verifikasi kode, tampilkan dan copy kan misalnya ke notepad windows
- Selanjutnya klik pada “database” dan scroll pilih pada “realtime database”, dan buat database
- Muncul pop up dan klik “mode dalam pengujian test”
- Kemudian terdapat link dan itulah firebase host link nya, klik dan copy paste kan ke notepad windows bebarengan dengan firebase auth verifikasi tadi -> lihat gambar
- Dan google Firebase siap digunakan
Wiring komponen secara sederhana
Library eksternal yang digunakan
Instalasi libraries
Langkah – langkah yang perlu dilakukan untuk installing library Wemos ESP8266 :
- Download dan install software IDE Arduino (sesuai dengan Operation System)
- Kemudian buka software tersebut
- Pilih dan klik menu file -> preferences
- Pada bagian “Additional Boards Manager URL’s” masukan link dibawah berikut ini :
http://arduino.esp8266.com/stable/package_esp8266com_index.json
- Dan klik “OK”
- Setelah itu, klik “Boards Manager” pada menu tools -> board -> boards manager
- Ketikan pada “filter your search” -> esp8266 by ESP8266 community
- Kemudian klik install, dan tunggu beberapa detik sampai proses selesai
- Terakhir pilih close
- Dan untuk installing library NodeMCU ESP8266 sudah selesai dilakukan
Langkah terakhir installing library Firebase dengan catatan terhubung internet dan instalasi libraries khusus led strip dari adafruit :
- Buka Software arduino uno IDE
- Pilih dan klik menu sketch -> include libraries -> manage libraries
- Ketikan Firebase ESP8266 Client by Mobizt untuk Firebase dan AdaFruit_Neopixel untuk Led strip RGB
- Klik install and closed
Dalam proyek ini, tidak harus menggunakan LED strip Neopixels , tetapi kita dapat menggunakan jenis LED strip RGB lainnya dengan input DIN (Data input).
Komponen yang harus diperhatikan dalam mengontrol led strip RGB yaitu warna default untuk Red (Merah), Green(Hijau), dan Blue (Biru). Karena ketiga warna tersebut merupakan warna dasar untuk dikombinasikan menjadi warna lainnya.
Kode Program
[sociallocker id=”1344″]
#include <ESP8266WiFi.h> #include "FirebaseESP8266.h" #include <Adafruit_NeoPixel.h> #define PIN D1 #define NUM_LEDS 8 //jumlah Led strip misalnya isinya 8 led const char* ssid = "Blok21no12"; //nama wifi target const char* password = "Komponen08"; //pass wifi target FirebaseData firebaseData; Adafruit_NeoPixel leds(NUM_LEDS, PIN, NEO_GRB + NEO_KHZ800); // Current color values int ValueRED = 00; int ValueGREEN = 00; int ValueBLUE = 00; void setup() { Serial.begin(9600); connectWifi(); leds.begin(); Firebase.begin("https://rgb-wemos.firebaseio.com/", "s9hsPLIWVZYUmJINMbirgNCpW0qEdiezxrAi93PM"); } void loop() { //baca data di firebase pada database "red" if (Firebase.getInt(firebaseData, "/red")) { //mengecek nilainya apakah integer if (firebaseData.dataType() == "int") { int val = firebaseData.intData(); if (val != ValueRED) { ValueRED = val; setLedColor(); //Set nilai perubahan } } } //baca data di firebase pada database "green" if (Firebase.getInt(firebaseData, "/green")) { if (firebaseData.dataType() == "int") { int val = firebaseData.intData(); if (val != ValueGREEN) { ValueGREEN = val; setLedColor(); } } } //baca data di firebase pada database "blue" if (Firebase.getInt(firebaseData, "/blue")) { if (firebaseData.dataType() == "int") { int val = firebaseData.intData(); if (val != ValueBLUE) { ValueBLUE = val; setLedColor(); } } } } void connectWifi() { WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println("......."); Serial.println("WiFi Connected....IP Address:"); Serial.println(WiFi.localIP()); } void setLedColor() { for (int i=00; i < NUM_LEDS; i++) leds.setPixelColor(i, leds.Color(ValueRED, ValueGREEN, ValueBLUE)); leds.show(); }
[/sociallocker] Trial and Error
Maka inilah saatnya untuk membuat database Firebase. Basis data ini akan memuat tiga komponen warna yang digunakan untuk mengontrol RGB Led yang terhubung ke ESP8266. Setelah kami menghubungkan ESP8266 ke Google Firebase, setiap perubahan nilai dalam basis data akan mencerminkan sisi ESP8266.
Kemudian ketika semua langkah ini selesai, pilih database realtime dan mulai menambahkan bidang seperti yang ditunjukkan di bawah ini:
Ubahlah nilai RGB tersebut dari range 0 -255 dan amati warna apa yang muncul. Misal ingin warna merah, set (255,0,0), jika hijau (0,255,0), dan biru (0,0,255).
Ringkasan
Tutorial ini telah menunjukkan cara menghubungkan ESP8266 ke database real-time Google Firebase untuk mengontrol LED RGB. Proyek ini menunjukkan cara menggunakan Firebase di IoT.
Pilihan lain yang menarik untuk mengontrol ESP8266 adalah menggunakan Telegram Bot . Seperti yang Anda lihat, sangat mudah dan dengan beberapa baris kode, Anda dapat mengontrol LED RGB dari jarak jauh.