#include <Wire.h>
#include <PCF8574.h>
#include<WiFi.h>
#include <HTTPClient.h>
HTTPClient http;
const String firebaseHost = "https://esp32-8a3cd-default-rtdb.firebaseio.com" ;
const String firebaseAuth = "";
String firebasePath = "/relays/relay_";
#define ssid "Wokwi-GUEST"
#define pass ""
PCF8574 pcf[8] = {
PCF8574(0x20),
PCF8574(0x21),
PCF8574(0x22),
PCF8574(0x23),
PCF8574(0x24),
PCF8574(0x25),
PCF8574(0x26),
PCF8574(0x27),
};
void setup() {
Serial.begin(115200);
Wire.begin(21, 22);
WiFi.begin(ssid,pass);
while(WiFi.status() != WL_CONNECTED)
{
Serial.print(".");
delay(300);
}
Serial.println("Wifi connected");
for(int i=0;i<=8;i++)
{
pcf[0].write(i, 0);
pcf[1].write(i, 0);
pcf[2].write(i, 0);
pcf[3].write(i, 0);
pcf[4].write(i, 0);
pcf[5].write(i, 0);
pcf[6].write(i, 0);
pcf[7].write(i, 0);
}
}
void loop()
{
for(int i=0;i<=63;i++)
{
String url = firebaseHost + firebasePath + i + ".json";
Serial.println(url);
http.begin(url);
int select=i/8;
int k=i%8;
int code = http.GET();
if (code > 0)
{
int payload = http.getSize();
// int count=payload.toInt();
Serial.println(payload);
//Serial.println(count);
if (payload==6)
{
pcf[select].write(k,1);
}
else if (payload==7)
{
pcf[select].write(k,0);
}
}
http.end();
}
}