#include <WiFi.h>
#include <Firebase_ESP_Client.h>
/* 1. Define the WiFi credentials */
#define WIFI_SSID "ALHN-141E"
#define WIFI_PASSWORD "A5cNt3UnKX"
/* 2. Define the API Key */
#define API_KEY "AIzaSyA-wGe7dkPYmPMDxw4KzT5qPrWksU7QvTQ"
/* 3. Define the RTDB URL */
#define DATABASE_URL "https://testproject1-172ba-default-rtdb.firebaseio.com/"
/* 4. Define the user Email and password that already registered or added in your project */
#define USER_EMAIL "khaled.benhadouga@univ-bba.dz"
#define USER_PASSWORD "12345678"
// Define Firebase Data object
FirebaseData fbdo;
FirebaseAuth auth;
FirebaseConfig config;
unsigned long sendDataPrevMillis = 0;
// Define LED pin and channel
const int ledPin = 25;
const int pwmChannel = 0; // PWM Channel for LED
const int pwmFrequency = 5000; // Frequency for PWM
const int pwmResolution = 8; // Resolution for PWM (0-255 for 8 bits)
void setup()
{
// Configure LED PWM functionality
ledcSetup(pwmChannel, pwmFrequency, pwmResolution);
ledcAttachPin(ledPin, pwmChannel);
Serial.begin(115200);
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();
/* Assign the api key (required) */
config.api_key = API_KEY;
/* Assign the user sign-in credentials */
auth.user.email = USER_EMAIL;
auth.user.password = USER_PASSWORD;
/* Assign the RTDB URL (required) */
config.database_url = DATABASE_URL;
Firebase.reconnectNetwork(true);
fbdo.setBSSLBufferSize(4096, 1024);
fbdo.setResponseSize(2048);
Firebase.begin(&config, &auth);
Firebase.setDoubleDigits(5);
config.timeout.serverResponse = 10 * 1000;
}
void loop()
{
if (Firebase.ready() && (millis() - sendDataPrevMillis > 1000 || sendDataPrevMillis == 0))
{
sendDataPrevMillis = millis();
int brightness;
if (Firebase.RTDB.getInt(&fbdo, "/led/brightness", &brightness))
{
// Map brightness value to PWM range (0-255)
brightness = constrain(brightness, 0, 255);
ledcWrite(pwmChannel, brightness);
Serial.print("Brightness set to: ");
Serial.println(brightness);
}
else
{
Serial.print("Error reading brightness: ");
Serial.println(fbdo.errorReason().c_str());
}
}
}
C:\Users\Administrator\AppData\Local\Temp.arduinoIDE-unsaved20241124-8868-1azfnha.0les\sketch_dec24b\sketch_dec24b.ino: In function 'void setup()':
C:\Users\Administrator\AppData\Local\Temp.arduinoIDE-unsaved20241124-8868-1azfnha.0les\sketch_dec24b\sketch_dec24b.ino:35:3: error: 'ledcSetup' was not declared in this scope
35 | ledcSetup(pwmChannel, pwmFrequency, pwmResolution);
| ^~~~~~~~~
C:\Users\Administrator\AppData\Local\Temp.arduinoIDE-unsaved20241124-8868-1azfnha.0les\sketch_dec24b\sketch_dec24b.ino:36:3: error: 'ledcAttachPin' was not declared in this scope; did you mean 'ledcAttach'?
36 | ledcAttachPin(ledPin, pwmChannel);
| ^~~~~~~~~~~~~
| ledcAttach
Multiple libraries were found for "SD.h"
Used: C:\Users\Administrator\AppData\Local\Arduino15\packages\esp32\hardware\esp32\3.0.7\libraries\SD
Not used: C:\Users\Administrator\AppData\Local\Arduino15\libraries\SD
Not used: C:\Users\Administrator\Documents\Arduino\libraries\SD
exit status 1
Compilation error: 'ledcSetup' was not declared in this scope
