diff --git a/data/js/settings.js b/data/js/settings.js index 6c1d9a39e19844568902e3c276a8591dee95cfa7..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 100644 --- a/data/js/settings.js +++ b/data/js/settings.js @@ -1,3 +0,0 @@ -ssid="smartpower2"; -ipaddr="192.168.4.1"; -passwd="12345678"; diff --git a/data/txt/settings.txt b/data/txt/settings.txt index e94e0f50d2b65a2cfe96bc6a9d13bc5fa3b6d074..d3c82da70c9fa27d06baeb219a476fe81046063e 100644 --- a/data/txt/settings.txt +++ b/data/txt/settings.txt @@ -1,2 +1,3 @@ autorun=0 voltage=5.00 +firstboot=1 diff --git a/src/smartpower2.ino b/src/smartpower2.ino index 5756ab913458d2ab9e540ed916258a4470f7b2bd..d4283c76cb9c392436756fc4f7e68405c7178dc3 100644 --- a/src/smartpower2.ino +++ b/src/smartpower2.ino @@ -338,8 +338,10 @@ void handleClientData(uint8_t num, String data) void fs_init(void) { + String ssidTemp = "ssid=\"SmartPower2_" + String(ESP.getChipId(), HEX) + "\""; + File f = SPIFFS.open("/js/settings.js", "w"); - f.println("ssid=\"sp2\""); + f.println(ssidTemp.c_str()); f.println("ipaddr=\"192.168.4.1\""); f.println("passwd=\"12345678\""); f.flush(); @@ -348,7 +350,8 @@ void fs_init(void) File f2 = SPIFFS.open("/txt/settings.txt", "w"); f2.println("autorun=0"); - f2.print("voltage=5.00"); + f2.println("voltage=5.00"); + f2.println("firstboot=0"); f2.flush(); f2.close(); readHWSettings(); @@ -421,11 +424,44 @@ void readNetworkConfig(void) f.close(); } +bool isFirstBoot() +{ + File f = SPIFFS.open("/txt/settings.txt", "r"); + + f.seek(0, SeekSet); + f.findUntil("firstboot", "\n\r"); + f.seek(1, SeekCur); + int value = f.readStringUntil('\n').toInt(); + + bool result; + if (value) + { + result = true; + } + else + { + result = false; + } + + f.close(); + + return result; +} + void initSmartPower(void) { - readHWSettings(); + if (isFirstBoot()) + { + fs_init(); + } + else + { + readHWSettings(); + readNetworkConfig(); + } + onoff = !autorun; - readNetworkConfig(); + mcp4652_write(WRITE_WIPER0, quadraticRegression(setVoltage)); pinMode(POWER, OUTPUT);