diff --git a/barrier_controller/barrier_controller.ino b/barrier_controller/barrier_controller.ino
index 7772cb7..c1ca8db 100644
--- a/barrier_controller/barrier_controller.ino
+++ b/barrier_controller/barrier_controller.ino
@@ -18,6 +18,7 @@
#define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT
#define AP_SSID "Barrier-Setup"
+#define FW_VERSION "1.2"
#define AP_PASS "barrier123"
Preferences prefs;
@@ -141,7 +142,7 @@ input[type=text]:focus,input[type=password]:focus{outline:none;border-color:#219
Barrier Controller
IP: )";
html += currentIP();
- html += "
";
+ html += " · v" + String(FW_VERSION) + "";
if (msg.startsWith("❌"))
html += "" + msg + "
";
diff --git a/barrier_node/barrier_node.ino b/barrier_node/barrier_node.ino
index ce2ac89..b1d7cb9 100644
--- a/barrier_node/barrier_node.ino
+++ b/barrier_node/barrier_node.ino
@@ -17,6 +17,7 @@
#define ETH_CLK_MODE ETH_CLOCK_GPIO17_OUT
#define AP_SSID "Barrier-Node-Setup"
+#define FW_VERSION "1.1"
#define AP_PASS "barrier123"
Preferences prefs;
@@ -32,7 +33,7 @@ String cfg_token = "barrier_token_2026";
String cfg_self_ip = "";
String cfg_gateway = "";
String cfg_subnet = "255.255.255.0";
-String cfg_name = "Шлагбаум 1";
+String cfg_name = "Шлагбаум 1"; // имя для идентификации
void WiFiEvent(WiFiEvent_t event) {
switch (event) {
@@ -89,9 +90,9 @@ void saveConfig() {
void triggerRelay() {
Serial.println("Реле: импульс 500мс");
- digitalWrite(RELAY_PIN, HIGH);
+ digitalWrite(RELAY_PIN, LOW); // LOW = включить (NC размыкается)
delay(500);
- digitalWrite(RELAY_PIN, LOW);
+ digitalWrite(RELAY_PIN, HIGH); // HIGH = выключить
}
String currentIP() {
@@ -127,20 +128,22 @@ input[type=text],input[type=password]{width:100%;box-sizing:border-box;padding:9
html += R"(
IP: )";
html += currentIP();
- html += "
";
+ html += " · v" + String(FW_VERSION) + "";
if (msg.startsWith("❌"))
html += "" + msg + "
";
else if (msg.length() > 0)
html += "" + msg + "
";
+ // Управление
html += R"(
Управление
-
)";
+ // Настройки
html += R"(
)";
+ // OTA
html += R"(
Обновление прошивки