· 6 months ago · Mar 26, 2025, 04:40 PM
1#include <Arduino.h>
2#if defined(ESP32)
3 #include <WiFi.h>
4#elif defined(ESP8266)
5 #include <ESP8266WiFi.h>
6#endif
7#include <Firebase_ESP_Client.h>
8
9// Menyediakan info tentang proses pembuatan token.
10#include "addons/TokenHelper.h"
11
12// Menyediakan info pencetakan muatan dari database dan fungsi bantuan lainnya
13#include "addons/RTDBHelper.h"
14
15// Masukkan info untuk masuk ke jaringan internet
16#define WIFI_SSID "ISIKAN_NAMA_ACCESS_POINT"
17#define WIFI_PASSWORD "ISIKAN_KATA_SANDI_ACCESS_POINT"
18
19// Masukkan Project API Key dari Firebase
20#define API_KEY "ISIKAN_PROJECT_API_KEY_DARI_FIREBASE"
21
22// Masukkan alamat email dan kata sandi untuk mengakses Firebase
23#define USER_EMAIL "ISIKAN_EMAIL_UNTUK_LOGIN"
24#define USER_PASSWORD "ISIKAN_KATA_SANDI_UNTUK_LOGIN"
25
26// Mendeklarasikan objek-objek dari Firebase
27FirebaseData fbdo;
28FirebaseAuth auth;
29FirebaseConfig config;
30
31// Variabel untuk menyimpan USER UID dari Firebase
32String uid;
33
34// Fungsi untuk koneksi ke WiFi
35void initWiFi()
36{
37 WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
38 Serial.print("Connecting to WiFi ..");
39 while (WiFi.status() != WL_CONNECTED)
40 {
41 Serial.print('.');
42 delay(1000);
43 }
44 Serial.println(WiFi.localIP());
45 Serial.println();
46}
47
48void setup()
49{
50 Serial.begin(115200);
51
52 // Inisialisasi WiFi
53 initWiFi();
54
55 // Memasukkan API KEY dari Firebase
56 config.api_key = API_KEY;
57
58 // Memasukkan info login ke Firebase
59 auth.user.email = USER_EMAIL;
60 auth.user.password = USER_PASSWORD;
61 Firebase.reconnectWiFi(true);
62 fbdo.setResponseSize(4096);
63
64 // Menjalankan fungsi pemanggil bila pembuatan token berjalan lama
65 config.token_status_callback = tokenStatusCallback; //mengakses addons/TokenHelper.h
66
67 // Mendeklarasikan jumlah pengulangan maksimal untuk pembuatan token
68 config.max_token_generation_retry = 5;
69
70 // Menjalankan proses otentikasi di Firebase
71 Firebase.begin(&config, &auth);
72
73 // Mendapatkan USER UID setelah beberapa saat
74 Serial.println("Getting User UID");
75 while ((auth.token.uid) == "")
76 {
77 Serial.print('.');
78 delay(1000);
79 }
80
81 // Menampilkan USER UID dari Firebase
82 uid = auth.token.uid.c_str();
83 Serial.print("User UID: ");
84 Serial.print(uid);
85}
86
87void loop()
88{
89}