6 Commits
v1.13 ... v1.15

Author SHA1 Message Date
ed42021c9b Version 1.15
Minor changes.
2023-02-12 18:42:57 +03:00
02b8326b80 Minor changes 2023-02-11 08:42:57 +03:00
0795911f7a Minor changes 2023-02-09 21:28:56 +03:00
dc9f08e82c Version 1.14
Changed FS from SPIFFS to LittleFS.
2023-02-04 10:57:34 +03:00
4d8146e64b Changed FS from SPIFFS to LittleFS 2023-02-02 20:31:16 +03:00
39a13599c3 Minor changes 2023-01-28 14:52:38 +03:00
3 changed files with 26 additions and 13 deletions

View File

@ -28,3 +28,5 @@ See [here](https://github.com/aZholtikov/ESP-NOW-Light-Led-Strip/tree/main/hardw
3. If encryption is used, the key must be set same of all another ESP-NOW devices in network.
4. Upload the "data" folder (with web interface) into the filesystem before flashing.
5. For using this firmware on Tuya/SmartLife WiFi light/led strip controllers, the WiFi module must be replaced with an ESP8266 compatible module (if necessary).
Any feedback via [e-mail](mailto:github@zh.com.ru) would be appreciated. Or... [Buy me a coffee](https://paypal.me/aZholtikov).

View File

@ -2,20 +2,24 @@
platform = espressif8266
board = esp12e
framework = arduino
board_build.filesystem = littlefs
board_build.ldscript = eagle.flash.4m2m.ld
lib_deps =
https://github.com/aZholtikov/ZHNetwork
https://github.com/aZholtikov/ZHConfig
bblanchon/ArduinoJson@^6.19.4
me-no-dev/ESP Async WebServer@^1.2.3
https://github.com/aZholtikov/Async-Web-Server
https://github.com/bblanchon/ArduinoJson
[env:ESP-12E-OTA]
platform = espressif8266
board = esp12e
framework = arduino
board_build.filesystem = littlefs
board_build.ldscript = eagle.flash.4m2m.ld
upload_port = 192.168.4.1
upload_protocol = espota
lib_deps =
https://github.com/aZholtikov/ZHNetwork
https://github.com/aZholtikov/ZHConfig
bblanchon/ArduinoJson@^6.19.4
me-no-dev/ESP Async WebServer@^1.2.3
https://github.com/aZholtikov/Async-Web-Server
https://github.com/bblanchon/ArduinoJson

View File

@ -1,6 +1,7 @@
#include "ArduinoJson.h"
#include "ArduinoOTA.h"
#include "ESPAsyncWebServer.h"
#include "ESPAsyncWebServer.h" // https://github.com/aZholtikov/Async-Web-Server
#include "LittleFS.h"
#include "Ticker.h"
#include "ZHNetwork.h"
#include "ZHConfig.h"
@ -30,7 +31,7 @@ typedef struct
std::vector<espnow_message_t> espnowMessage;
const String firmware{"1.13"};
const String firmware{"1.15"};
String espnowNetName{"DEFAULT"};
@ -83,7 +84,7 @@ void setup()
{
analogWriteRange(255);
SPIFFS.begin();
LittleFS.begin();
loadConfig();
@ -151,7 +152,11 @@ void onBroadcastReceiving(const char *data, const uint8_t *sender)
{
wasMqttAvailable = temp;
if (temp)
{
sendConfigMessage();
sendAttributesMessage();
sendStatusMessage();
}
}
gatewayAvailabilityCheckTimer.once(15, gatewayAvailabilityCheckTimerCallback);
}
@ -198,6 +203,7 @@ void onConfirmReceiving(const uint8_t *target, const uint16_t id, const bool sta
{
espnow_message_t message = espnowMessage[i];
if (message.id == id)
{
if (status)
espnowMessage.erase(espnowMessage.begin() + i);
else
@ -205,14 +211,15 @@ void onConfirmReceiving(const uint8_t *target, const uint16_t id, const bool sta
message.id = myNet.sendUnicastMessage(message.message, gatewayMAC, true);
espnowMessage.at(i) = message;
}
}
}
}
void loadConfig()
{
if (!SPIFFS.exists("/config.json"))
if (!LittleFS.exists("/config.json"))
saveConfig();
File file = SPIFFS.open("/config.json", "r");
File file = LittleFS.open("/config.json", "r");
String jsonFile = file.readString();
StaticJsonDocument<512> json;
deserializeJson(json, jsonFile);
@ -252,7 +259,7 @@ void saveConfig()
json["green"] = green;
json["blue"] = blue;
json["system"] = "empty";
File file = SPIFFS.open("/config.json", "w");
File file = LittleFS.open("/config.json", "w");
serializeJsonPretty(json, file);
file.close();
}
@ -260,7 +267,7 @@ void saveConfig()
void setupWebServer()
{
webServer.on("/", HTTP_GET, [](AsyncWebServerRequest *request)
{ request->send(SPIFFS, "/index.htm"); });
{ request->send(LittleFS, "/index.htm"); });
webServer.on("/setting", HTTP_GET, [](AsyncWebServerRequest *request)
{
@ -282,8 +289,8 @@ void setupWebServer()
webServer.onNotFound([](AsyncWebServerRequest *request)
{
if (SPIFFS.exists(request->url()))
request->send(SPIFFS, request->url());
if (LittleFS.exists(request->url()))
request->send(LittleFS, request->url());
else
{
request->send(404, "text/plain", "File Not Found");