Tutorial 04 · UI и API

Подключите Frontend и API к сети нод

Запустите локальные WebAPI и Frontend, настройте Wi‑Fi и TCP-мост Management, а затем выполняйте основные операции через страницу Infrastructure.

UI — основной рабочий инструмент

В первых трёх уроках CLI использовался для настройки и проверки оборудования. В практической работе основным инструментом становится Frontend: он показывает инфраструктуру, состояние нод и связи, а также позволяет выполнять операции без ручного ввода MAC-адресов и service ID.

CLI остаётся важным локальным инструментом: он нужен для первого подключения к Wi‑Fi, настройки TCP-моста Management, диагностики и резервного управления, если браузер или API недоступны.

КомпонентНазначениеПорт
WebAPIХранит runtime-каталог и принимает TCP-мост Management.HTTP 5278, TCP 3333
FrontendБраузерный интерфейс Infrastructure и Deploy.Vite обычно 5174
ManagementESP-NOW gateway между Work-нодами и WebAPI.TCP к API 3333
Условие: компьютер с API и Management должны находиться в одной доверенной локальной сети. Для C3 + OLED Management подключается к API как TCP client — укажите LAN IPv4 компьютера, не localhost и не 127.0.0.1. Для панели 7″ (fsm32-node-manager-lcd7) роли меняются: панель слушает :3333, WebAPI подключается к IP панели.

Запустите WebAPI

Откройте PowerShell в корне репозитория и оставьте процесс работающим:

dotnet run --project fsm32.Api

Проверьте API в браузере или PowerShell:

Invoke-WebRequest http://localhost:5278/api/health

Ответ health означает, что HTTP API доступен. В Development WebAPI также открывает TCP listener на порту 3333 для Management.

Найдите LAN IPv4 компьютера: выполните ipconfig и выберите IPv4 активного адаптера той же сети, что и Management. Этот адрес понадобится в шаге 3.

Запустите Frontend

В новом PowerShell перейдите в каталог Frontend и запустите Vite:

cd fsm32.Frontend
npm install
npm run dev

Откройте URL, который напечатает Vite — обычно http://localhost:5174. Frontend использует development proxy к API на http://localhost:5278.

В интерфейсе выберите область Infrastructure и system id HomeFlat, если он не был изменён в Management firmware. В Setup → Runtime bridge убедитесь, что включён TCP bridge, указан порт 3333 и выбран тот же system id: сохранённые настройки браузера могут отключить TCP-мост.

Настройте Wi‑Fi и TCP-мост Management

Подключитесь serial monitor к Management, нажмите ~ и введите параметры своей сети. Пароль сохраняется в VRAM и не выводится CLI: отображается только его длина.

wifi scan
wifi sta ssid <wifi-ssid>
wifi sta pass <wifi-password>
wifi sta on
wifi

После успешного подключения команда wifi sta on выводит IP Management. Затем укажите LAN IPv4 компьютера с API и TCP-порт listener:

tcp host <api-lan-ip>
tcp port 3333
tcp start
tcp status

Настройки host и port сохраняются в VRAM. Изменение host или port перезапускает TCP-мост с новыми параметрами. Не публикуйте SSID, Wi‑Fi пароль или адреса своей локальной сети в открытых проектах и скриншотах.

Проверьте мост и зелёные индикаторы

На Management ожидается tcp connected=yes. В браузере откройте:

http://localhost:5278/api/runtime/bridge/status

Статус должен показывать TCP listener и подключённый Management. Вернитесь во Frontend, откройте Infrastructure и обновите инфраструктуру. После получения каталога online-ноды и активный мост отображаются зелёными индикаторами.

Если индикатор не зелёный: сначала проверьте wifi и tcp status на Management, затем health API. Это быстрее, чем пытаться диагностировать сеть только через UI.

Основные операции на странице Infrastructure

Регистрация и дерегистрация
Добавьте Work по MAC и отображаемому имени либо удалите её из каталога. UI отправляет действие Management и затем обновляет snapshot инфраструктуры.
Наблюдение
Выберите ноду, чтобы увидеть её каталог сервисов, online-состояние и последние доступные значения. Зелёный статус означает, что Management получил актуальное присутствие ноды.
Управление
Задавайте значения NET IN удалённой Work. Для WorkRgb это CmdR, CmdG и CmdB; аппаратные Rgb* изменяются логикой ноды.
Связи
Перетащите связь от NET OUT исходной ноды к совместимому NET IN приёмника. UI разрешает только направление out → in и совместимые типы; связь можно выделить и удалить.

После каждой операции дождитесь обновления Infrastructure snapshot. Если действие не подтверждается, не повторяйте его многократно: сначала проверьте состояние Management и каталог нод.

Когда вернуться к CLI

CLI незаменим при первом вводе Wi‑Fi и API-параметров, при отсутствии браузерного доступа, а также для проверки низкоуровневых причин ошибки. Для сопоставления с UI используйте:

wifi
tcp status
services nodes
node peers
node state <work-mac>
services <work-index> values

После восстановления WebAPI и Frontend вернитесь в Infrastructure: UI остаётся основным способом работы с каталогом, управлением и связями в повседневном сценарии.