diff --git a/INSTRUCTION.md b/INSTRUCTION.md index 16ae9d5..4bf85dd 100644 --- a/INSTRUCTION.md +++ b/INSTRUCTION.md @@ -106,13 +106,17 @@ All commands are processed in `onGroupDataRecv()`: | Command | Action | Response | |---------|--------|----------| | `help` | list commands | `help:...` | -| `ohrana on` | arm, relay1 ON | `ohrana on ok` | -| `ohrana off` | disarm, relay1 OFF | `ohrana off ok` | -| `relay1 on` | relay1 ON (direct) | `relay1 on ok` | -| `relay1 off` | relay1 OFF (direct) | `relay1 off ok` | -| `relay2 on` | relay2 ON | `relay2 on ok` | -| `relay2 off` | relay2 OFF | `relay2 off ok` | -| `relay` | state of both relays | `relay:1on 2off` | +| `ohrana on` | arm | `ohrana on ok` | +| `ohrana off` | disarm | `ohrana off ok` | +| `relay1 on` | relay1 ON (HIGH) | `relay1 on ok` | +| `relay1 off` | relay1 OFF (LOW) | `relay1 off ok` | +| `relay2 on` | relay2 ON (HIGH) | `relay2 on ok` | +| `relay2 off` | relay2 OFF (LOW) | `relay2 off ok` | +| `relay3 on` | relay3 ON (HIGH) | `relay3 on ok` | +| `relay3 off` | relay3 OFF (LOW) | `relay3 off ok` | +| `relay4 on` | relay4 ON (HIGH) | `relay4 on ok` | +| `relay4 off` | relay4 OFF (LOW) | `relay4 off ok` | +| `relay` | state of all relays | `relay:1on 2off 3on 4off` | | `status` | report state | `status:armed/off temp:±X.XC hall:trig/ok motion:trig/ok bat:X.XXV/USB` | | `ver` | build date | `build:Mon DD YYYY HH:MM:SS` | | `scan` | noise floor | `noise:-XXXdBm` | @@ -230,7 +234,7 @@ The LED blink (3 fast flashes) is the first thing in `onGroupDataRecv`. If LED d ### Config persistent storage - `InternalFS` (LittleFS) on nRF52 internal flash. -- `SecurityConfig`: armed + relay2 state saved as binary struct. +- `SecurityConfig`: armed + relay1/2/3/4 state saved as binary struct. - File: `/security.cfg`, magic `0x53454355`. --- diff --git a/README.md b/README.md index 92e68e0..2189ab3 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ LoRa mesh-устройство охраны на базе nRF52840 (ProMicro) и ## Возможности -- Управление двумя реле (охрана + независимое) +- Управление четырьмя реле - Датчик Холла (геркон) — оповещение об открытии двери/окна - PIR датчик движения - DS18B20 температура @@ -27,7 +27,9 @@ LoRa mesh-устройство охраны на базе nRF52840 (ProMicro) и | `ohrana off` | Выключить охрану | | `relay1 on/off` | Управление реле 1 | | `relay2 on/off` | Управление реле 2 | -| `relay` | Состояние обоих реле | +| `relay3 on/off` | Управление реле 3 | +| `relay4 on/off` | Управление реле 4 | +| `relay` | Состояние всех реле | | `status` | Состояние устройства (включая bat) | | `ver` | Версия прошивки | | `scan` | Уровень шума в эфире | diff --git a/USER_MANUAL.md b/USER_MANUAL.md index a999148..1071a18 100644 --- a/USER_MANUAL.md +++ b/USER_MANUAL.md @@ -24,13 +24,17 @@ Security Node — LoRa mesh-устройство, которое следит з | Команда | Что делает | Пример ответа | |---------|-----------|---------------| | `help` | Список всех команд | `help:ohrana on,ohrana off,...` | -| `ohrana on` | **Включить охрану** — датчики активны, реле 1 замкнуто | `ohrana on ok` | -| `ohrana off` | **Выключить охрану** — датчики не активны, реле 1 разомкнуто | `ohrana off ok` | -| `relay1 on` | Включить реле 1 (независимо от охраны) | `relay1 on ok` | +| `ohrana on` | **Включить охрану** — датчики активны | `ohrana on ok` | +| `ohrana off` | **Выключить охрану** — датчики не активны | `ohrana off ok` | +| `relay1 on` | Включить реле 1 | `relay1 on ok` | | `relay1 off` | Выключить реле 1 | `relay1 off ok` | | `relay2 on` | Включить реле 2 | `relay2 on ok` | | `relay2 off` | Выключить реле 2 | `relay2 off ok` | -| `relay` | Состояние обоих реле | `relay:1on 2off` | +| `relay3 on` | Включить реле 3 | `relay3 on ok` | +| `relay3 off` | Выключить реле 3 | `relay3 off ok` | +| `relay4 on` | Включить реле 4 | `relay4 on ok` | +| `relay4 off` | Выключить реле 4 | `relay4 off ok` | +| `relay` | Состояние всех реле | `relay:1on 2off 3on 4off` | | `status` | Показать состояние устройства | `status:armed temp:+23.5C hall:ok motion:trig bat:4.12V` | | `ver` | Версия прошивки (дата сборки) | `build:Jul 21 2026 15:30:00` | | `scan` | Измерить уровень шума в эфире | `noise:-112dBm` | @@ -99,12 +103,13 @@ Security Node — LoRa mesh-устройство, которое следит з ## Реле -- **Реле 1** — управляется `ohrana on/off` и `relay1 on/off`. - Охрана включена (`ohrana on`): **замкнуто** (NC разомкнуты, NO замкнуты). - Охрана выключена (`ohrana off`): **разомкнуто**. +Все реле независимы, состояние каждого сохраняется при перезагрузке. +Логика: ON = высокий уровень (HIGH), OFF = низкий (LOW). -- **Реле 2** — независимое, только `relay2 on/off`. - Состояние сохраняется при перезагрузке. +- **Реле 1** (P0.20) — `relay1 on/off` +- **Реле 2** (P0.22) — `relay2 on/off` +- **Реле 3** (P0.24) — `relay3 on/off` +- **Реле 4** (P1.00) — `relay4 on/off` --- diff --git a/WIRING.md b/WIRING.md index f433462..bbee0d0 100644 --- a/WIRING.md +++ b/WIRING.md @@ -11,8 +11,10 @@ | 0 | **P0.08** | Геркон (reed switch) | | 1 | **P0.06** | PIR датчик движения | | 2 | **P0.17** | DS18B20 температура | -| 3 | **P0.20** | Реле 1 (охрана) | +| 3 | **P0.20** | Реле 1 | | 4 | **P0.22** | Реле 2 | +| 5 | **P0.24** | Реле 3 | +| 6 | **P1.00** | Реле 4 | | 10 | **P0.09** | SX1262 RST | | 11 | **P0.10** | SX1262 DIO1 | | 12 | **P1.11** | SX1262 SCK | @@ -89,7 +91,9 @@ P0.17 ────┤ ## Реле -### Реле 1 (охрана) — P0.20 +Логика: ON = HIGH, OFF = LOW. + +### Реле 1 — P0.20 ``` P0.20 ── IN1 релейного модуля @@ -100,7 +104,7 @@ GND ── GND IN1 ── P0.20 ``` -> Реле 1 управляется `ohrana on/off` и `relay1 on/off`. +> Реле 1 управляется `relay1 on/off`. Состояние сохраняется. ### Реле 2 — P0.22 @@ -113,7 +117,33 @@ GND ── GND IN2 ── P0.22 ``` -> Реле 2 управляется только `relay2 on/off`. Состояние сохраняется. +> Реле 2 управляется `relay2 on/off`. Состояние сохраняется. + +### Реле 3 — P0.24 + +``` +P0.24 ── IN3 релейного модуля + +Релейный модуль: +VCC ── 5V +GND ── GND +IN3 ── P0.24 +``` + +> Реле 3 управляется `relay3 on/off`. Состояние сохраняется. + +### Реле 4 — P1.00 + +``` +P1.00 ── IN4 релейного модуля + +Релейный модуль: +VCC ── 5V +GND ── GND +IN4 ── P1.00 +``` + +> Реле 4 управляется `relay4 on/off`. Состояние сохраняется. --- @@ -140,7 +170,9 @@ IN2 ── P0.22 ├──────┤ P0.13 POWER_EN │ │ │ │ Геркон ──┤ P0.08│ P0.20 ─── Реле 1 │ - │ │ P0.22 ─── Реле 2 │ + │ │ P0.22 ─── Реле 2 │ + │ │ P0.24 ─── Реле 3 │ + │ │ P1.00 ─── Реле 4 │ PIR ────┤ P0.06│ │ │ │ P0.15 ─── LED статуса│ DS18B20 ───┤ P0.17│ │