Files
security-new/USER_MANUAL.md

151 lines
8.1 KiB
Markdown
Raw Permalink 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` | **Включить охрану** — датчики активны | `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` |
| `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` |
| `snr` | RSSI и SNR последнего принятого пакета | `rssi:-78dBm snr:+6.5dB` |
| `uptime` | Время работы устройства | `uptime:1d 3h 15m` |
| `kontrol <мин>` | Автоотправка статуса каждые N мин | `kontrol 60 min ok` |
| `kontrol off` | Отключить автоотправку статуса | `kontrol off` |
| `reboot` | Перезагрузить устройство | `rebooting` |
| `time` | Показать дату и время | `time:22.07.2026 11:00` |
| `time s DD.MM.YYYY HH.MM` | Установить дату и время | `time set 22.07.2026 11.00` |
---
## Поля статуса
Ответ: `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 мс) | **Ошибка радио** — аппаратная проблема |
---
## Реле
Все реле независимы, состояние каждого сохраняется при перезагрузке.
Логика: ON = высокий уровень (HIGH), OFF = низкий (LOW).
- **Реле 1** (P0.20) — `relay1 on/off`
- **Реле 2** (P0.22) — `relay2 on/off`
- **Реле 3** (P0.24) — `relay3 on/off`
- **Реле 4** (P1.00) — `relay4 on/off`
---
## Автоотправка статуса (`kontrol`)
`kontrol 60` — устройство будет само отправлять `status` каждые 60 минут.
`kontrol off` — отключить. Интервал от 1 до 1440 минут (1 минута — 24 часа).
## Качество сигнала (`snr`)
`snr` — показывает RSSI (уровень сигнала в dBm) и SNR (соотношение сигнал/шум в dB) последнего принятого пакета. Полезно для оценки качества связи и при настройке антенны. Чем ближе RSSI к 0 и чем выше SNR — тем лучше.
## Синхронизация времени (`time`)
`time` — показать текущее время устройства (МСК, UTC+3).
`time s 22.07.2026 11.00` — установить дату и время. Формат: `time s DD.MM.YYYY HH.MM`
Время используется для отметок в сообщениях. После перезагрузки сбрасывается (если нет внешнего RTC).
## Перезагрузка (`reboot`)
`reboot` — устройство отправит `rebooting` и перезагрузится.
## Время работы (`uptime`)
`uptime` — показывает, сколько времени устройство работает без перезагрузки.
Пример: `uptime:1d 3h 15m` (1 день, 3 часа, 15 минут).
---
## Задержка ответа
Ответ на любую команду приходит **через 5 секунд**. Само действие (включение реле, смена охраны) выполняется мгновенно, но ответ отправляется с задержкой. Оповещения и `poweron` отправляются без задержки.
## Советы
- Если команда не получила ответа: проверьте канал, питание, дальность связи. LED должен мигнуть 3 раза при получении команды — если не мигнул, сообщение не дошло.
- Все ответы тоже передаются по mesh — они появятся в ленте сообщений вашего приложения.
- `scan` выполняется около 1 секунды (20 замеров RSSI).