147 lines
7.8 KiB
Markdown
147 lines
7.8 KiB
Markdown
# 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` |
|
||
| `relay` | Состояние обоих реле | `relay:1on 2off` |
|
||
| `status` | Показать состояние устройства | `status:armed temp:+23.5C hall:ok motion:trig bat:4.12V` |
|
||
| `ver` | Версия прошивки (дата сборки) | `build:Jul 21 2026 15:30:00` |
|
||
| `scan` | Измерить уровень шума в эфире | `noise:-112dBm` |
|
||
| `uptime` | Время работы устройства | `uptime:1d 3h 15m` |
|
||
| `kontrol <мин>` | Автоотправка статуса каждые N мин | `kontrol 60 min ok` |
|
||
| `kontrol off` | Отключить автоотправку статуса | `kontrol off` |
|
||
| `reboot` | Перезагрузить устройство | `rebooting` |
|
||
|
||
---
|
||
|
||
## Поля статуса
|
||
|
||
Ответ: `status:armed/off temp:+XX.XC/N/A hall:trig/ok motion:trig/ok bat:X.XXV/USB`
|
||
|
||
| Поле | Значение |
|
||
|------|----------|
|
||
| `status:armed` | Охрана включена (датчики активны) |
|
||
| `status:off` | Охрана выключена |
|
||
| `temp:+23.5C` | Температура с датчика DS18B20 |
|
||
| `temp:N/A` | Датчик температуры не подключён |
|
||
| `hall:ok` | Геркон замкнут (норма) |
|
||
| `hall:trig` | Геркон разомкнулся (дверь/окно открыли) |
|
||
| `motion:ok` | Движения нет |
|
||
| `motion:trig` | Движение обнаружено |
|
||
| `bat:4.12V` | Напряжение батареи |
|
||
| `bat:USB` | Питание от USB (нет батареи) |
|
||
|
||
---
|
||
|
||
## Оповещения
|
||
|
||
Когда охрана **включена** (`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`.
|
||
Состояние сохраняется при перезагрузке.
|
||
|
||
---
|
||
|
||
## Автоотправка статуса (`kontrol`)
|
||
|
||
`kontrol 60` — устройство будет само отправлять `status` каждые 60 минут.
|
||
`kontrol off` — отключить. Интервал от 1 до 1440 минут (1 минута — 24 часа).
|
||
|
||
## Перезагрузка (`reboot`)
|
||
|
||
`reboot` — устройство отправит `rebooting` и перезагрузится.
|
||
|
||
## Время работы (`uptime`)
|
||
|
||
`uptime` — показывает, сколько времени устройство работает без перезагрузки.
|
||
Пример: `uptime:1d 3h 15m` (1 день, 3 часа, 15 минут).
|
||
|
||
## Смена канала (`canal`)
|
||
|
||
По умолчанию канал формируется из пароля `"1234"`.
|
||
Чтобы сменить:
|
||
|
||
```
|
||
canal домашний 5674
|
||
```
|
||
|
||
Ответ: `canal домашний 5674 ok`
|
||
Через ~5 секунд устройство перезагрузится и начнёт работать на новом канале.
|
||
|
||
**Важно:** Все устройства должны быть на одном канале. После смены канала связь будет только с теми узлами, у которых такой же пароль. Канал сохраняется в энергонезависимой памяти и не сбрасывается после перезагрузки. Чтобы вернуть канал по умолчанию — используйте `canal default 1234`.
|
||
|
||
---
|
||
|
||
## Задержка ответа
|
||
|
||
Ответ на любую команду приходит **через 5 секунд**. Само действие (включение реле, смена охраны) выполняется мгновенно, но ответ отправляется с задержкой. Оповещения и `poweron` отправляются без задержки.
|
||
|
||
## Советы
|
||
|
||
- Если команда не получила ответа: проверьте канал, питание, дальность связи. LED должен мигнуть 3 раза при получении команды — если не мигнул, сообщение не дошло.
|
||
- Все ответы тоже передаются по mesh — они появятся в ленте сообщений вашего приложения.
|
||
- `scan` выполняется около 1 секунды (20 замеров RSSI).
|