# 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).