написал прием события кнопки из веб

This commit is contained in:
Dmitry Borisenko
2022-08-14 17:13:25 +02:00
parent 1f9f746149
commit 22433ef65d
8 changed files with 15 additions and 14 deletions

View File

@@ -378,7 +378,7 @@
"id": "btn", "id": "btn",
"widget": "toggle", "widget": "toggle",
"page": "Кнопки", "page": "Кнопки",
"descr": "", "descr": "Освещение",
"int": 0, "int": 0,
"pin": 16, "pin": 16,
"execLevel": "1", "execLevel": "1",
@@ -394,7 +394,7 @@
"id": "btn", "id": "btn",
"widget": "toggle", "widget": "toggle",
"page": "Кнопки", "page": "Кнопки",
"descr": "", "descr": "Освещение",
"int": 0, "int": 0,
"inv": 0, "inv": 0,
"pin": 2, "pin": 2,

View File

@@ -1,7 +1,7 @@
#pragma once #pragma once
//Версия прошивки //Версия прошивки
#define FIRMWARE_VERSION 408 #define FIRMWARE_VERSION 410
#ifdef esp8266_4mb #ifdef esp8266_4mb
#define FIRMWARE_NAME "esp8266_4mb" #define FIRMWARE_NAME "esp8266_4mb"
@@ -41,7 +41,7 @@ enum TimerTask_t { WIFI_SCAN,
TIME, TIME,
TIME_SYNC, TIME_SYNC,
UPTIME, UPTIME,
UDP, //UDPP UDP, // UDPP
TIMES, TIMES,
PTASK }; PTASK };

View File

@@ -65,7 +65,6 @@ lib_deps =
adafruit/Adafruit BusIO @ ^1.13.0 adafruit/Adafruit BusIO @ ^1.13.0
dfrobot/DFRobotDFPlayerMini @ ^1.0.5 dfrobot/DFRobotDFPlayerMini @ ^1.0.5
marcoschwartz/LiquidCrystal_I2C@^1.1.4 marcoschwartz/LiquidCrystal_I2C@^1.1.4
build_src_filter = build_src_filter =
+<modules\virtual\Logging> +<modules\virtual\Logging>
+<modules\virtual\Timer> +<modules\virtual\Timer>
@@ -111,7 +110,6 @@ lib_deps =
adafruit/Adafruit BusIO @ ^1.13.0 adafruit/Adafruit BusIO @ ^1.13.0
dfrobot/DFRobotDFPlayerMini @ ^1.0.5 dfrobot/DFRobotDFPlayerMini @ ^1.0.5
marcoschwartz/LiquidCrystal_I2C@^1.1.4 marcoschwartz/LiquidCrystal_I2C@^1.1.4
build_src_filter = build_src_filter =
+<modules\virtual\Timer> +<modules\virtual\Timer>
+<modules\virtual\Variable> +<modules\virtual\Variable>

View File

@@ -48,12 +48,10 @@ void generateEvent(const String& id, const String& value) {
void handleEvent() { void handleEvent() {
if (eventBuf.length()) { if (eventBuf.length()) {
String event = selectToMarker(eventBuf, ","); String event = selectToMarker(eventBuf, ",");
Serial.println("event: " + event); SerialPrint("i", F("EVENT"), event);
//здесь нужно пропускать данное событие через условия сценариев //здесь нужно пропускать данное событие через условия сценариев
//и если оно есть в условии сценария и совподает //и если оно есть в условии сценария и совподает
//то нужно поместить все команды этого блока сценария в generateOrder(order1, order2, ....)
//который в свою очередь их выполнит
iotScen.ExecScenario(selectToMarker(event, " ")); iotScen.ExecScenario(selectToMarker(event, " "));
eventBuf = deleteBeforeDelimiter(eventBuf, ","); eventBuf = deleteBeforeDelimiter(eventBuf, ",");

View File

@@ -83,7 +83,7 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
if (headerStr == "/oiranecs|") { if (headerStr == "/oiranecs|") {
writeFileUint8tByFrames("scenario.txt", payload, length, headerLenth, 256); writeFileUint8tByFrames("scenario.txt", payload, length, headerLenth, 256);
iotScen.loadScenario("/scenario.txt"); iotScen.loadScenario("/scenario.txt");
// создаем событие завершения конфигурирования для возможности выполнения блока кода при загрузке // создаем событие завершения конфигурирования для возможности выполнения блока кода при загрузке
IoTItems.push_back((IoTItem*)new externalVariable("{\"id\":\"onStart\",\"val\":1,\"int\":60}")); IoTItems.push_back((IoTItem*)new externalVariable("{\"id\":\"onStart\",\"val\":1,\"int\":60}"));
generateEvent("onStart", ""); generateEvent("onStart", "");
@@ -144,6 +144,12 @@ void webSocketEvent(uint8_t num, WStype_t type, uint8_t* payload, size_t length)
upgrade_firmware(3); upgrade_firmware(3);
} }
// cotrol ==============================================================================
if (headerStr == "/control|") {
String payloadStr;
writeUint8tToString(payload, length, headerLenth, payloadStr);
SerialPrint("i", F("=>WS"), "Msg from svelte web, WS No: " + String(num) + ", msg: " + payloadStr);
}
} break; } break;
case WStype_BIN: { case WStype_BIN: {

View File

@@ -8,7 +8,7 @@
"id": "btn", "id": "btn",
"widget": "toggle", "widget": "toggle",
"page": "Кнопки", "page": "Кнопки",
"descr": "", "descr": "Освещение",
"int": 0, "int": 0,
"pin": 16, "pin": 16,
"execLevel": "1", "execLevel": "1",

View File

@@ -8,7 +8,7 @@
"id": "btn", "id": "btn",
"widget": "toggle", "widget": "toggle",
"page": "Кнопки", "page": "Кнопки",
"descr": "", "descr": "Освещение",
"int": 0, "int": 0,
"inv": 0, "inv": 0,
"pin": 2 "pin": 2

View File

@@ -16,12 +16,11 @@ class Loging : public IoTItem {
// } // }
void doByInterval() { void doByInterval() {
Serial.println("logging test " + logval);
String value = getItemValue(logval); String value = getItemValue(logval);
if (value == "") { if (value == "") {
SerialPrint("E", F("Logging"), F("no value set")); SerialPrint("E", F("Logging"), F("no value set"));
} else { } else {
Serial.println("value " + value); regEvent(value, "Logging");
} }
} }
}; };