#include <WiFi.h>
#include <ESP32Firebase.h>  // Make sure you use the correct Firebase library

#define _SSID "Professor Moriarty" // Your WiFi SSID
#define _PASSWORD "who are you?" // Your WiFi Password
#define REFERENCE_URL "https://smart-energymeter-01-default-rtdb.firebaseio.com/" // Your Firebase database URL


Firebase firebase(REFERENCE_URL);
#define LED_PIN 13
#define LED_PIN1 12

void setup() {
  pinMode(LED_PIN, OUTPUT);
  pinMode(LED_PIN1, OUTPUT);
  Serial.begin(9600);

  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(1000);

  // Connect to WiFi
  Serial.println();
  Serial.println();
  Serial.print("Connecting to: ");
  Serial.println(_SSID);
  //WiFi.begin(_SSID, _PASSWORD);
  WiFi.begin("Wokwi-GUEST", "", 6); // Uncomment this if you are using Wokwi-GUEST

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print("-");
  }

  Serial.println("\nWiFi Connected");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());
}

void loop() {
  int voltage = random(0, 50);
  int current = random(0, 5);
  int power = voltage * current;

  Serial.print(voltage);
  Serial.print(" "); // Print a space between values
  Serial.print(current);
  Serial.print(" "); // Print a space between values
  Serial.println(power); // Print power followed by a newline

  if (firebase.setInt("voltage", voltage) &&
      firebase.setInt("current", current) &&
      firebase.setInt("power", power)) {
         digitalWrite(LED_PIN1, LOW);
         digitalWrite(LED_PIN, HIGH);
        Serial.println("Successfully wrote values");
  } else {
     digitalWrite(LED_PIN, LOW);
     digitalWrite(LED_PIN1, HIGH);
    Serial.print("Failed to write values, reason: ");
  }
  delay(100);
}
esp:0
esp:1
esp:2
esp:3
esp:4
esp:5
esp:6
esp:7
esp:8
esp:9
esp:10
esp:11
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:20
esp:21
esp:26
esp:33
esp:34
esp:35
esp:36
esp:37
esp:38
esp:39
esp:40
esp:41
esp:42
esp:45
esp:46
esp:3V3
esp:5V
esp:GND.1
esp:TX
esp:RX
esp:RST
esp:GND.2
led1:A
led1:C
led2:A
led2:C