#include <WiFi.h>
#include <WiFiClient.h>
#include <BluetoothSerial.h>
#include "esp_bt_device.h"
#include <ESP32_Supabase.h>
String supabase_url = "https://hgvtezihyptgxjkhzaap.supabase.co";
String anon_key = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6ImhndnRlemloeXB0Z3hqa2h6YWFwIiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDc5NDAwNTYsImV4cCI6MjAyMzUxNjA1Nn0.OK5WoTK8Q55KhZqPnSpOmFhEwvRWYOWGKKZCTkw1O88";
Supabase db;
#define WIFI_SSID "Wokwi-GUEST"
#define WIFI_PASSWORD ""
#define WIFI_CHANNEL 6
#define WIFI_TIMEOUT 30000
// BluetoothSerial SerialBT;
#define RED_LED 26
#define GREEN_LED 27
// bool useLed = true;
// void signalLED(int ledId) {
// if (useLed) {
// digitalWrite(ledId, true);
// delay(1500);
// digitalWrite(ledId, false);
// }
// }
String getDeviceAddress() {
String id = "";
const uint8_t* point = esp_bt_dev_get_address();
for (int i = 0;i<6;i++) {
char str[3];
sprintf(str, "%02", (int)point[i]);
id = id + str;
if (i<5) {
id= id +":";
}
}
}
void connectToWiFi() {
WiFi.mode(WIFI_STA);
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print(F("Connecting to WiFi "));
Serial.print(WIFI_SSID);
while (WiFi.status() != WL_CONNECTED) {
Serial.print(F("."));
delay(1000);
}
Serial.print(F("Connected! IP address: "));
Serial.println(WiFi.localIP());
}
// --------------------------------------------------------------------------------
// MAIN ---------------------------------------------------------------------------
// --------------------------------------------------------------------------------
void setup(void) {
Serial.begin(115200);
pinMode(GREEN_LED, OUTPUT);
pinMode(RED_LED, OUTPUT);
connectToWiFi();
// SerialBT.begin("ESP32");
db.begin(supabase_url, anon_key);
int code = db.update("student").eq("bluetooth_id", "2").doUpdate("{\"is_present\": true}");
Serial.println(code);
db.urlQuery_reset();
}
void loop(void) {
// if (SerialBT.available()) {
// String deviceID = getDeviceAddress();
// Serial.print(deviceID);
// int code = db.update("student").eq("bluetooth_id", deviceID).doUpdate("{\"is_present\": \"true\"}");
// Serial.println(code);
// db.urlQuery_reset();
// delay(2000);
// }
}