Перейти к содержанию

Настройки

http://<ip-платы>/settings.html — admin-only. Шесть секций.

WiFi

Список Wi-Fi сетей с приоритетом — плата перебирает их по порядку. Если первая сеть недоступна — пробует вторую, и так далее. Если не подключилась ни к одной — поднимает свой AP.

Список сетей

Кнопки в строке: / (приоритет), ✏️ (редактировать), 🗑️ (удалить). Кнопка + Добавить.

Поля одной сети:

Поле Назначение
SSID Имя сети. Если поле пустое и self_ap.enabled=true — это AP-mode-only «сеть» (нужна только для loop'а).
Пароль Пароль WPA2. Пустой — открытая сеть. В UI скрыт за ***.
Retries Сколько раз пробовать WiFi.begin() (по умолчанию 3, после Refactor-8266 — 5).
Timeout (сек) Сколько ждать каждой попытке. Дефолт 8 сек.
Static IP Чекбокс. Если включён — раскрываются 4 поля:
├ IP IP платы в сети (192.168.1.50)
├ Gateway IP роутера (192.168.1.1)
├ Netmask Обычно 255.255.255.0
└ DNS Например 8.8.8.8 или 192.168.1.1

Маркер «оставить старый пароль»

При редактировании сети в поле пароля стоит ***. Если его не трогать — пароль не изменится. Чтобы сменить — введите новое значение. Чтобы превратить в открытую сеть — очистить поле.

Self-AP fallback

Если все настроенные сети недоступны — плата поднимет собственную AP.

Поле Назначение
enabled Включить fallback (рекомендуется)
ssid Имя AP. По умолчанию CtrlBoard-Setup
password Пароль AP (пустой = открытая)
channel Канал 1..13, дефолт 6

Параметры пробинга

После старта плата периодически проверяет, не появилась ли «лучшая» сеть (с большим приоритетом).

Поле Назначение
rescan_interval_sec Период проверки. Дефолт 300 сек.
probe_duration_sec Сколько времени даётся для попытки переключения.
probe_checks Сколько успешных проверок подряд нужно, чтобы остаться.

Submit перезагружает плату, если только в API-запросе не указано "reboot": false (через UI всегда reboot).

Устройство

Параметры самой платы.

Поле Назначение
UUID Read-only. Генерируется на первом запуске из MAC + random tail. Это идентификатор платы для облака и mesh.
Имя Человекочитаемое имя (для UI и облака).
Broadcast IP auto (вычислить из текущего IP + netmask) или явный 192.168.1.255. Используется для UDP broadcast в mesh-режиме broadcast.
Static IP Тот же блок что в Wi-Fi, но один на устройство (применяется для приоритетной сети).
Latitude Широта, дробное число. Для расчёта восхода/заката.
Longitude Долгота.

Координаты — это широта/долгота, не IP-геолокация

Например для Москвы: latitude=55.7558, longitude=37.6173. Можно подсмотреть в Google Maps (правая кнопка → координаты копируются в буфер).

Время

Поле Назначение
Текущая эпоха Read-only — сколько сейчас часов на плате.
Источник ntp (синхронизировано) / manual (поставлено вручную) / persisted (восстановлено из файла на старте).
Установить вручную Поле datetime-local для ввода даты-времени.
Кнопка «Из браузера» Подставит текущее время браузера в поле.
Кнопка «Применить» Сохранить введённое.

Время сохраняется в /config/time.json каждые ~60 секунд — после reboot восстанавливается с точностью до минуты. Если есть Wi-Fi и интернет — NTP подтянет точное.

NTP-серверы захардкожены: pool.ntp.org, time.google.com. Если они недоступны — time.synced=false, cron-триггеры не работают (UI рисует warning).

Глубокий сон

Для батарейных нод. Плата спит большую часть времени, периодически просыпается на короткое окно.

Поле Назначение
enabled Включить deep-sleep
wake_interval_sec Период сна в секундах
awake_window_sec Сколько секунд держаться бодрой после просыпания (для обработки heartbeat'а, выполнения задач)
three_reset_window_sec Если три ребута подряд за это окно — deep-sleep отключается до следующего uploadfs/factory-reset (escape)

ESP8266: нужна перемычка D0 ↔ RST

Без неё плата уснёт и не проснётся. Wake-сигнал идёт с GPIO 16 на RST. Это аппаратное требование, не баг прошивки.

Кнопка 😴 Уснуть сейчас — мгновенный сон до следующего wake-interval (для тестирования).

Авторизация

Поле Назначение
Требовать вход Toggle. Если выключен — UI работает без логина, любой запрос ходит от имени default_user_id (admin по умолчанию).

Только для домашней LAN

Выключайте только если плата сидит за защищённым Wi-Fi и недоступна снаружи (нет port-forwarding, нет VPN с широким доступом). В диалоге подтверждения будет ещё одно напоминание.

Опасная зона

Кнопка «Полный сброс к заводским настройкам»POST /api/v1/factory-reset. После подтверждения:

  • Удаляет все /config/*.json (включая Wi-Fi, устройства, задачи, пользователей).
  • НЕ трогает /public/* (HTML/JS/CSS на FS останутся).
  • Восстанавливает bootstrap-users.json → admin/1234 на следующем загруге.
  • Перезагружает плату → она появится в AP-режиме.

Когда применять: перепродаёте плату, переезжаете в новую конфигурацию с нуля, тестируете onboarding-flow. Резервные копии не сохраняются — экспортируйте конфиг сами через API если хотите вернуть.