8. Integrasi IoT dengan Firebase untuk Data Logging
Integrasi IoT dengan Firebase untuk Data Logging
Panduan lengkap menghubungkan ESP32 dengan Firebase Realtime Database untuk menyimpan dan memantau data sensor secara real-time dari mana saja.
Baca Selengkapnya🎯 Apa itu Firebase dan Mengapa Penting untuk IoT?
Firebase adalah platform cloud yang dikembangkan oleh Google, menyediakan berbagai layanan backend seperti database real-time, authentication, cloud storage, dan hosting. Untuk project IoT, Firebase Realtime Database menjadi pilihan populer karena kemampuannya menyinkronkan data secara instant ke semua client yang terhubung.
Berbeda dengan database tradisional yang perlu polling untuk update, Firebase menggunakan WebSocket yang memungkinkan push notification real-time. Ketika sensor mengirim data baru, dashboard web/mobile Anda langsung terupdate tanpa refresh!
Real-time Sync
Data tersinkronisasi instant ke semua device
Security Rules
Kontrol akses data dengan rules yang flexible
Scalable
Handle ribuan request per detik dengan mudah
Free Tier
Gratis untuk project kecil dan pembelajaran
🛠️ Persiapan: Yang Anda Butuhkan
Hardware:
- ESP32 DevKit (Rp 50.000 - 80.000)
- Sensor DHT11 atau DHT22 untuk temperature & humidity (Rp 15.000 - 40.000)
- Kabel USB Micro untuk programming
- Breadboard & Jumper Wire (optional, untuk prototyping)
Software & Akun:
- Arduino IDE (atau PlatformIO)
- ESP32 Board Package terinstall
- Library Firebase ESP Client by Mobizt
- Library DHT Sensor by Adafruit
- Akun Google untuk Firebase Console
- Koneksi WiFi yang stabil
📋 Step-by-Step Tutorial
Langkah 1: Setup Firebase Project
-
Buka Firebase Console
Kunjungiconsole.firebase.google.comdan login dengan akun Google Anda. -
Create New Project
Klik "Add project" atau "Tambah project", beri nama (contoh: "IoT-DataLogger"), lanjutkan setup (bisa disable Google Analytics jika tidak perlu). -
Aktifkan Realtime Database
Di sidebar, pilih "Build" → "Realtime Database" → "Create Database". Pilih location terdekat (Asia Southeast1 - Singapore), lalu pilih mode "Test mode" untuk awal (data public untuk 30 hari). -
Catat Database URL
Setelah dibuat, Anda akan melihat URL database seperti:
https://iot-datalogger-xxxxx.firebaseio.com/
Simpan URL ini! -
Generate API Key
Pergi ke Project Settings (icon gear) → "Service accounts" → "Database secrets" → "Show" atau langsung ke "Project settings" → bagian "Web API Key". Copy API Key yang ditampilkan.
Test mode membuat database public selama 30 hari. Untuk production, Anda harus setup security rules yang proper. Contoh basic rules:
{ "rules": { ".read": "auth != null", ".write": "auth != null" } }
Langkah 2: Wiring Hardware
Hubungkan sensor DHT11 ke ESP32 dengan skema berikut:
- DHT11 VCC → ESP32 3.3V
- DHT11 GND → ESP32 GND
- DHT11 DATA → ESP32 GPIO 4 (atau pin lain yang Anda pilih)
- Tambahkan resistor pull-up 10kΩ antara VCC dan DATA pin (optional tapi recommended)
Jika DHT11 Anda memiliki 3 pin (bukan 4), biasanya sudah include resistor pull-up internal. Cek datasheet module Anda untuk memastikan.
Langkah 3: Install Library Arduino
Di Arduino IDE:
-
Buka Library Manager
Sketch → Include Library → Manage Libraries -
Install Firebase ESP Client
Search "Firebase ESP Client" by Mobizt → Install (pilih yang versi terbaru) -
Install DHT Sensor Library
Search "DHT sensor library" by Adafruit → Install (akan otomatis install dependency "Adafruit Unified Sensor")
Langkah 4: Upload Code ke ESP32
Copy dan paste code berikut ke Arduino IDE. PENTING: Ganti nilai WiFi credentials, API Key, dan Database URL dengan milik Anda!
Langkah 5: Upload dan Monitor
-
Pastikan Setting Board Benar
Tools → Board → ESP32 Dev Module (atau sesuai board Anda)
Tools → Port → Pilih port COM yang sesuai -
Upload Code
Klik tombol Upload (ikon panah kanan) dan tunggu hingga selesai -
Buka Serial Monitor
Tools → Serial Monitor (atau Ctrl+Shift+M)
Set baud rate ke 115200 -
Lihat Output
Anda akan melihat ESP32 connect ke WiFi, kemudian mulai mengirim data sensor setiap 10 detik -
Cek Firebase Console
Buka Realtime Database di Firebase Console, Anda akan melihat data muncul di path "/SensorData" dan "/History"
Jika Anda melihat data temperature dan humidity muncul di Firebase Console, berarti integrasi berhasil! ESP32 Anda sekarang sudah bisa logging data sensor ke cloud secara real-time.
📊 Struktur Data di Firebase
Dengan code di atas, data akan tersimpan dengan struktur seperti ini:
Penjelasan:
- /SensorData - Menyimpan data sensor terkini (current value), selalu terupdate
- /History - Menyimpan log historical data dengan timestamp sebagai key, untuk analisis data nanti
🎨 Membuat Dashboard Web Sederhana
Setelah data masuk ke Firebase, Anda bisa membuat dashboard web untuk memvisualisasikan data. Berikut contoh HTML sederhana:
1. Copy code HTML di atas ke file baru (dashboard.html)
2. Ganti firebaseConfig dengan API Key dan Database URL Anda
3. Buka file HTML di browser (Chrome/Firefox)
4. Dashboard akan otomatis update setiap kali ESP32 kirim data baru!
🚀 Pengembangan Lanjutan
1. Menambah Sensor Lain
Komentar
Posting Komentar