Files
security-new/USER_MANUAL.md
2026-07-22 07:56:45 +03:00

122 lines
5.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Security Mesh Node — Инструкция пользователя
## Обзор
Security Node — LoRa mesh-устройство, которое следит за датчиками (геркон, PIR движение, температура) и управляет 2 реле. Работает по радиоканалу через MeshCore — без интернета, без Bluetooth, без проводов.
Команды и оповещения передаются как текстовые сообщения по mesh-сети.
---
## Быстрый старт
1. Подайте питание (USB или батарея).
2. Подождите ~10 секунд — устройство отправит `poweron`.
3. Отправляйте команды с любого другого узла mesh.
Все команды **не чувствительны к регистру**, лишние пробелы в конце игнорируются.
**Префикс не обязателен** — работают и `"status"`, и `"Security: status"`.
---
## Команды
| Команда | Что делает | Пример ответа |
|---------|-----------|---------------|
| `help` | Список всех команд | `help:ohrana on,ohrana off,...` |
| `ohrana on` | **Включить охрану** — датчики активны, реле 1 замкнуто | `ohrana on ok` |
| `ohrana off` | **Выключить охрану** — датчики не активны, реле 1 разомкнуто | `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` |
| `status` | Показать состояние устройства | `status:armed temp:+23.5C hall:ok motion:trig` |
| `ver` | Версия прошивки (дата сборки) | `build:Jul 21 2026 15:30:00` |
| `scan` | Измерить уровень шума в эфире | `noise:-112dBm` |
| `security_conf <имя>` | Сменить канал (пароль из `<имя>`) | `channel:mysecret` |
---
## Поля статуса
Ответ: `status:armed/off temp:+XX.XC/N/A hall:trig/ok motion:trig/ok`
| Поле | Значение |
|------|----------|
| `status:armed` | Охрана включена (датчики активны) |
| `status:off` | Охрана выключена |
| `temp:+23.5C` | Температура с датчика DS18B20 |
| `temp:N/A` | Датчик температуры не подключён |
| `hall:ok` | Геркон замкнут (норма) |
| `hall:trig` | Геркон разомкнулся (дверь/окно открыли) |
| `motion:ok` | Движения нет |
| `motion:trig` | Движение обнаружено |
---
## Оповещения
Когда охрана **включена** (`ohrana on`), устройство автоматически отправляет:
| Оповещение | Что значит |
|------------|-----------|
| `alert:hall` | Геркон разомкнулся — дверь/окно открыли |
| `alert:motion` | PIR датчик сработал — движение |
Одно и то же оповещение не повторится раньше чем через **10 минут** (защита от дребезга).
Оповещение сбрасывается автоматически, когда датчик возвращается в нормальное состояние.
---
## Сообщение при запуске
Через ~10 секунд после подачи питания устройство отправляет:
`poweron Jul 21 2026 15:30:00`
Это подтверждает, что устройство включено и работает на текущем канале.
---
## Светодиод (LED на плате)
| Режим | Что значит |
|-------|-----------|
| Не горит | Охрана выключена, нет активности |
| Медленно мигает (1 сек) | **Охрана включена** |
| 3 быстрых вспышки | Получена команда (любая) |
| Часто мигает (100 мс) | **Ошибка радио** — аппаратная проблема |
---
## Реле
- **Реле 1** — управляется `ohrana on/off` и `relay1 on/off`.
Охрана включена (`ohrana on`): **замкнуто** (NC разомкнуты, NO замкнуты).
Охрана выключена (`ohrana off`): **разомкнуто**.
- **Реле 2** — независимое, только `relay2 on/off`.
Состояние сохраняется при перезагрузке.
---
## Смена канала (`security_conf`)
По умолчанию канал формируется из пароля `"1234"`.
Чтобы сменить:
```
security_conf мойпароль
```
Ответ: `channel:мойпароль`
**Важно:** Все устройства должны быть на одном канале. После смены канала связь будет только с теми узлами, у которых такой же пароль.
---
## Советы
- Если команда не получила ответа: проверьте канал, питание, дальность связи. LED должен мигнуть 3 раза при получении команды — если не мигнул, сообщение не дошло.
- Все ответы тоже передаются по mesh — они появятся в ленте сообщений вашего приложения.
- `scan` выполняется около 1 секунды (20 замеров RSSI).