diff --git a/microcontroller/sketch_apr22a/data/wifimanager.html b/microcontroller/sketch_apr22a/data/wifimanager.html new file mode 100644 index 0000000..dd9d303 --- /dev/null +++ b/microcontroller/sketch_apr22a/data/wifimanager.html @@ -0,0 +1,73 @@ + + + + Fermonitor Wi-Fi Manager + + + + +
+
+
+

WiFi Manager

+
+
+
+

+ + + + + +

+
+
+
+
+ + diff --git a/microcontroller/sketch_apr22a/sketch_apr22a.ino b/microcontroller/sketch_apr22a/sketch_apr22a.ino index 67d7659..32c16d8 100644 --- a/microcontroller/sketch_apr22a/sketch_apr22a.ino +++ b/microcontroller/sketch_apr22a/sketch_apr22a.ino @@ -1,6 +1,6 @@ -#include #include #include +#include #include #include #include @@ -8,6 +8,9 @@ #include #include #include +// #include +// #include +// #include "SPIFFS.h" #define BOARD "ESP-32" #define MQPIN 34 @@ -20,19 +23,26 @@ #define SUPABASE_ANON_KEY "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJzdXBhYmFzZSIsInJlZiI6Im94bWZib2J4bXFsZGd0aGV0aGx6Iiwicm9sZSI6ImFub24iLCJpYXQiOjE3MDgwNjQ1NDksImV4cCI6MjAyMzY0MDU0OX0.pTDI9CsiN8wthOWhHjM1dONrRP_Hd7BcbwfKgeKGhtU" #define WIFI_SSID "Vivo Y21c" -#define WIFI_PASSWORD "12346789" +#define WIFI_PASS "12346789" #define SMTP_HOST "sandbox.smtp.mailtrap.io" #define SMTP_PORT 2525 #define AUTHOR_EMAIL "16d58b0c89cba1" #define AUTHOR_PASSWORD "f077a3dc3e2f84" -Supabase db; LiquidCrystal_I2C lcd(0x27, 16, 2); DHT dht(DHTPIN, 22); +Supabase db; WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP, "pool.ntp.org", 3600 * 7, 60000); // GMT +7 SMTPSession smtp; +// AsyncWebServer server(80); + +// String WIFI_SSID; +// String WIFI_PASS; + +const char* ssidPath = "/ssid.txt"; +const char* passPath = "/pass.txt"; float suhu; float kelembaban; @@ -45,6 +55,37 @@ JSONVar pengaturan; void smtpCallback(SMTP_Status status); +// void initSPIFFS() { +// if (!SPIFFS.begin(true)) { +// Serial.println("An error has occurred while mounting SPIFFS"); +// } +// Serial.println("SPIFFS mounted successfully"); +// } + +// String readFile(fs::FS &fs, const char * path){ +// File file = fs.open(path); +// if(!file || file.isDirectory()){ +// return String(); +// } + +// String fileContent; +// while(file.available()){ +// fileContent = file.readStringUntil('\n'); +// break; +// } +// return fileContent; +// } + +// void writeFile(fs::FS &fs, const char * path, const char * message){ +// File file = fs.open(path, FILE_WRITE); + +// if(file.print(message)){ +// Serial.println("- file written"); +// } else { +// Serial.println("- write failed"); +// } +// } + void setup(){ pinMode(MQPIN, INPUT); pinMode(LAMPPIN, OUTPUT); @@ -57,6 +98,11 @@ void setup(){ Serial.begin(115200); + // initSPIFFS(); + + // WIFI_SSID = readFile(SPIFFS, ssidPath); + // WIFI_PASS = readFile(SPIFFS, passPath); + // inisialisasi LCD lcd.init(); lcd.backlight(); @@ -68,7 +114,41 @@ void setup(){ dht.begin(); // inisialisasi WiFi - WiFi.begin(WIFI_SSID, WIFI_PASSWORD); + WiFi.begin(WIFI_SSID, WIFI_PASS); + + // if (WiFi.status() != WL_CONNECTED) { + // WiFi.softAP("Fermonitor V1", NULL); + // IPAddress IP = WiFi.softAPIP(); + + // server.on("/", HTTP_GET, [](AsyncWebServerRequest *request){ + // request->send(SPIFFS, "/wifimanager.html", "text/html"); + // }); + + // server.serveStatic("/", SPIFFS, "/"); + + // server.on("/", HTTP_POST, [](AsyncWebServerRequest *request) { + // int params = request->params(); + // for(int i=0;igetParam(i); + // if(p->isPost()){ + // if (p->name() == "ssid") { + // WIFI_SSID = p->value().c_str(); + // writeFile(SPIFFS, ssidPath, WIFI_SSID.c_str()); + // } + // if (p->name() == "pass") { + // WIFI_PASS = p->value().c_str(); + // writeFile(SPIFFS, ssidPath, WIFI_PASS.c_str()); + // } + // } + // } + // request->send(200, "text/plain", "Berhasil. Pengaturan WiFi berhasil di simpan, sistem akan melakukan restart."); + + // delay(3000); + // ESP.restart(); + // }); + + // server.begin(); + // } delay(20000);