добавил меню подключение

This commit is contained in:
Dmitry Borisenko
2022-02-02 23:39:41 +01:00
parent bd1d25d79a
commit 0540ea5b04
8 changed files with 74 additions and 110 deletions

View File

@@ -20,4 +20,52 @@ void saveSettingsFlashJson() {
void saveParamsFlashJson() {
writeFile(F("params.json"), paramsFlashJson);
}
const String getChipId() {
return String(ESP_getChipId()) + "-" + String(ESP_getFlashChipId());
}
void setChipId() {
chipId = getChipId();
SerialPrint("I", "System", "id: " + chipId);
}
const String getUniqueId(const char* name) {
return String(name) + getMacAddress();
}
uint32_t ESP_getChipId(void) {
#ifdef ESP32
uint32_t id = 0;
for (uint32_t i = 0; i < 17; i = i + 8) {
id |= ((ESP.getEfuseMac() >> (40 - i)) & 0xff) << i;
}
return id;
#else
return ESP.getChipId();
#endif
}
uint32_t ESP_getFlashChipId(void) {
#ifdef ESP32
// Нет аналогичной (без доп.кода) функций в 32
// надо использовать другой id - варианты есть
return ESP_getChipId();
#else
return ESP.getFlashChipId();
#endif
}
const String getMacAddress() {
uint8_t mac[6];
char buf[13] = {0};
#if defined(ESP8266)
WiFi.macAddress(mac);
sprintf(buf, MACSTR, MAC2STR(mac));
#else
esp_read_mac(mac, ESP_MAC_WIFI_STA);
sprintf(buf, MACSTR, mac[0], mac[1], mac[2], mac[3], mac[4], mac[5]);
#endif
return String(buf);
}

View File

@@ -12,6 +12,9 @@ void setup() {
//инициализация файловой системы
fileSystemInit();
//получение chip id
setChipId();
//синхронизация глобальных переменных с flash
globalVarsSync();

View File

@@ -29,23 +29,28 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
for (size_t i = 0; i < headerLenth; i++) {
headerStr += (char)payload[i];
}
// dashboard===================================================================
if (headerStr == "/") {
sendFileToWs5("/layout.json", num, 1024);
}
if (headerStr == "/tuoyal") {
writeFileUint8tByFrames("layout.json", payload, length, headerLenth, 256);
}
// configutation===============================================================
if (headerStr == "/config") {
sendFileToWs5("/items.json", num, 1024);
sendFileToWs5("/widgets.json", num, 1024);
sendFileToWs5("/config.json", num, 1024);
}
if (headerStr == "/gifnoc") {
writeFileUint8tByFrames("config.json", payload, length, headerLenth, 256);
}
if (headerStr == "/tuoyal") {
writeFileUint8tByFrames("layout.json", payload, length, headerLenth, 256);
// connection===================================================================
if (headerStr == "/connec") {
sendFileToWs5("/settings.json", num, 1024);
}
if (headerStr == "/cennoc") {
writeFileUint8tByFrames("settings.json", payload, length, headerLenth, 256);
}
} break;