# Future Flow — план внедрения демонстрационного шкафа

Дата старта MVP: **5 октября 2026 года**  
Владелец приёмки: **MS8AT Global**  
Назначение: собрать физический стенд, который удалённо показывает компьютеры, PXE/Android, камеры, питание и автоматизацию через единый Dashboard.

## Результат первого дня

К концу дня должен работать один полностью проверенный маршрут:

1. Посетитель или оператор входит в Future Flow по своей роли.
2. Выбирает компьютер на схеме шкафа.
3. Видит его карточку, камеру и фактическое состояние питания.
4. Оператор отправляет разрешённую команду включения розетки.
5. Контроллер возвращает подтверждение; Dashboard показывает «питание включено».
6. Компьютер загружается по PXE и открывает утверждённый профиль Android.
7. На Android доступен заранее подготовленный набор демонстрационного ПО.
8. Экран и управление передаются через внешний аппаратный модуль; на компьютер не требуется ставить агент удалённого управления.
9. Человек может принять управление и отключить автоматический сценарий.
10. Все шаги, подтверждения и отклонения попадают в журнал.

После приёмки эталонного узла по этой схеме последовательно подключаются остальные компьютеры. Полноценная публичная удалённая демонстрация открывается после проверки ролей, журнала и безопасного аварийного отключения.

## Что добавляется в продуктовую карту

### Android / PXE

Future Flow включает отдельный контур сетевой загрузки:

- PXE/iPXE выдаёт выбранный загрузочный профиль по локальной сети;
- Android запускается как подготовленный демонстрационный образ;
- набор программ и настройки задаются профилем;
- для совместимого узла не требуется покупать отдельную коммерческую ОС и платный агент удалённого управления;
- образы хранятся локально и не требуют выхода оборудования в интернет во время показа;
- повторяемый старт выполняется быстро за счёт локальной сети и заранее подготовленного образа;
- смена образа или установка другого ПО выполняется только по утверждённому сценарию администратора.

Фактическое время загрузки измеряется на каждом типе компьютера и записывается в паспорт стенда.

### Что означает «не нужен дорогой софт»

Android‑профиль и настройки готовятся централизованно, затем PXE выдаёт их совместимому компьютеру по локальной сети. Это сокращает расходы на коммерческую операционную систему и отдельный агент удалённого управления для каждого узла. Сторонние приложения остаются предметом своей лицензии; состав профиля и право его использования фиксируются в спецификации поставки.

Рабочий проект: `Z:\MS8AT\MS8AT_Soft\Android_PXE_MikroTik`. На 4 октября 2026 года в нём подтверждены сборка DeviceTest 1.10 и генерация пяти PXE‑меню. Физическая загрузка Android 13 и актуальная конфигурация RouterOS в этом переносе имеют статус `NOT_RUN`.

## Схема стенда

```mermaid
flowchart LR
  U[Посетитель / оператор] --> D[Future Flow Dashboard]
  D --> RBAC[Роли и разрешения]
  RBAC --> ORCH[Сценарий и журнал]
  ORCH --> PWR[Управляемые розетки]
  ORCH --> KVM[Внешние модули экрана и управления]
  ORCH --> PXE[PXE / iPXE сервер]
  ORCH --> CAM[Камеры шкафа]
  PWR --> PC[Компьютеры стенда]
  PXE --> PC
  KVM --> PC
  PC --> ANDR[Android и выбранное ПО]
  PWR --> ACK[Подтверждение состояния]
  PXE --> ACK
  KVM --> ACK
  CAM --> ACK
  ACK --> D
  STOP[Физический выключатель / человек] --> PWR
  STOP --> KVM
```

## Порядок внедрения

### Этап 0. Инвентаризация и безопасная схема питания

- Присвоить каждому компьютеру, розетке, камере и модулю управления уникальный ID.
- Составить таблицу мощности и проверить допустимую нагрузку шкафа, удлинителей и линии.
- Использовать готовые сертифицированные розетки или PDU; работы с открытой сетевой проводкой выполняет квалифицированный специалист.
- Подписать силовые и сетевые кабели с двух концов.
- Обеспечить вентиляцию, доступ к физическому выключателю и ручной режим.
- Сделать фотографию исходной сборки и схему подключений.

**Приёмка:** ни один кабель и канал питания не остаётся без подписи; суммарная расчётная нагрузка зафиксирована.

### Этап 1. Физический шкаф

- Установить компьютеры на полках с зазором для охлаждения.
- Поставить управляемые розетки по одной на контролируемую группу или устройство.
- Подключить внешние модули экрана и управления.
- Установить обзорную камеру шкафа и камеру рабочей зоны.
- Подключить операторский моноблок.
- Оставить ручной доступ к каждому компьютеру.

**Приёмка:** человек видит маркировку, может вручную отключить управление и безопасно обесточить выбранный узел.

### Этап 2. Изолированная сеть управления

- Поднять отдельный сегмент управления на MikroTik.
- Выдать постоянные DHCP‑адреса по зарегистрированным MAC‑адресам.
- Разделить сеть камер, сеть управления и пользовательский трафик.
- Открыть только необходимые локальные сервисы: Dashboard/API, MQTT, PXE/iPXE, поток камер и время.
- Удалённый доступ выполнять через утверждённый VPN и роли Dashboard.
- QR‑демо оставить в режиме read‑only без команд розеткам и компьютерам.

**Приёмка:** демо‑гость видит презентацию; оператор видит разрешённые устройства; администратор управляет конфигурацией.

### Этап 3. PXE и Android

- Подготовить сервер загрузки и каталог версий образов.
- Сделать эталонный Android‑профиль с демонстрационным ПО.
- Зафиксировать перечень приложений, их лицензии и отсутствие обязательной коммерческой ОС или платного агента управления на эталонном узле.
- Включить PXE в BIOS/UEFI одного эталонного компьютера.
- Проверить полный запуск при отключённом интернете.
- Измерить время от включения питания до готового экрана Android.
- Проверить повторную загрузку и восстановление исходного состояния.
- После приёмки применить профиль к остальным совместимым компьютерам.

**Приёмка:** версия образа, компьютер, время старта и результат записаны в журнале; неизвестный результат не запускает повтор автоматически.

### Этап 4. Питание, камеры и аппаратное управление

- Связать каждую розетку с карточкой конкретного компьютера.
- Для команд «включить/выключить/перезапустить» требовать роль и подтверждение оператора.
- Показывать отдельно команду, ACK контроллера и фактическое состояние.
- Добавить статусы `OFF`, `POWERING_ON`, `PXE`, `ANDROID_READY`, `HUMAN_CONTROL`, `ERROR`, `UNKNOWN`.
- При таймауте показывать `UNKNOWN`; повтор выполняется только после проверки оператором.
- Вывести камеру и экран выбранного компьютера рядом с его статусом.
- Проверить мгновенную передачу управления человеку и физическое отключение автоматизации.

**Приёмка:** интерфейс не показывает успех только по факту отправки команды; зелёный статус появляется после свежего подтверждения нужного устройства.

### Этап 5. Dashboard и демонстрационный сценарий

- Добавить на Dashboard объекты «Шкаф», «Компьютер», «Android/PXE», «Розетка», «Камера», «MikroTik», «Jarvice» и «Сервер образов».
- Для каждого объекта показать ID, адрес, питание, текущий профиль, последнее подтверждение и владельца.
- Создать сценарий «Показать компьютер клиенту».
- Дать клиенту выбор модели или назначения: торговое место, терминал, склад, роутер, хранилище, Android‑станция.
- Автоматически переключать изображения и пояснения в презентационной части.
- Команды питания и управления оставить только оператору/администратору.

**Приёмка:** клиент выбирает продукт и видит его работу; оператор видит команды; все действия сохраняются в журнале.

## План на 5 октября 2026 года

| Время | Работа | Результат дня |
|---|---|---|
| 09:00–10:00 | Инвентаризация, ID, мощность, схема шкафа | Таблица устройств и безопасная схема питания |
| 10:00–11:30 | Монтаж эталонного ПК, розетки, модуля управления и камеры | Физический узел готов к проверке |
| 11:30–12:30 | MikroTik, адреса и локальные сервисы | Узел виден только в разрешённом сегменте |
| 12:30–14:30 | PXE/iPXE и эталонный Android‑образ | Первый сетевой запуск Android |
| 14:30–16:00 | MQTT/API, команда розетки и подтверждение | Питание управляется с readback |
| 16:00–17:00 | Камера, экран и передача управления человеку | Оператор видит и контролирует выбранный ПК |
| 17:00–18:00 | Полный прогон и устранение блокеров | Квитанция эталонного сценария |
| 18:00–18:30 | Короткая удалённая презентация и запись результата | Демонстрационный материал и список следующего шага |

Если эталонный маршрут принят раньше, оставшееся время используется для подключения второго и последующих компьютеров. Неисправный или неизвестный узел изолируется и не блокирует показ уже принятого узла.

## Живой чек‑лист

### Уже подтверждено программно

- [x] Локальный Future Flow Dashboard открывается.
- [x] В Dashboard есть роли и отдельный безопасный QR‑демо‑режим.
- [x] WorckBook остаётся отдельным проектом и не изменяется этим стендом.
- [x] DeviceTest 1.10 собран и пять PXE‑меню сгенерированы локально в `Android_PXE_MikroTik`.
- [x] Предварительные зависимости проекта проверены: `PASS_PREREQUISITES`, отчёт `checks/preflight-dc295ce2a864.json` от 4 октября 2026 года.

### Подготовка к монтажу

- [ ] Составлен список всех компьютеров с моделью, серийным номером и MAC.
- [ ] Составлен список розеток, камер, модулей управления и контроллеров.
- [ ] Рассчитана мощность и проверены линия, PDU, автоматы защиты и заземление.
- [ ] Нарисована схема шкафа и подписаны кабели.
- [ ] Назначены отдельные IDs и адреса управления.

### Эталонный узел

- [ ] Один компьютер закреплён и имеет безопасное охлаждение.
- [ ] Управляемая розетка связана с его ID.
- [ ] Камера показывает компьютер и индикаторы.
- [ ] Внешнее управление показывает экран и принимает ввод.
- [ ] Человек может мгновенно отключить автоматизацию и принять управление.

### PXE / Android

- [ ] PXE/iPXE‑сервер доступен в локальном сегменте.
- [ ] Эталонный Android‑образ имеет версию и контрольную сумму.
- [ ] Компьютер загружается в Android без интернета.
- [ ] Утверждённый набор ПО запускается.
- [ ] Подтверждено, что эталонному узлу не нужна отдельная коммерческая ОС или платный агент управления; лицензии выбранных приложений записаны.
- [ ] Измерено время загрузки и записано в паспорт стенда.
- [ ] Повторный старт возвращает эталонное состояние.

### Dashboard / MQTT / readback

- [ ] Объект компьютера создан в Dashboard.
- [ ] Команда розетке требует роль и подтверждение.
- [ ] ACK отличается от фактического состояния.
- [ ] Свежий readback показывает правильный компьютер и команду.
- [ ] Таймаут даёт `UNKNOWN` без автоматического повтора.
- [ ] Камера, экран, питание и Android‑статус видны в одной карточке.
- [ ] Журнал содержит пользователя, время, команду, подтверждение и итог.

### Удалённая демонстрация

- [ ] Демо‑гость не может отправлять реальные команды.
- [ ] Оператор может выбрать компьютер и провести утверждённый показ.
- [ ] Администратор может менять профиль только через журналируемый сценарий.
- [ ] Проверено ручное аварийное отключение.
- [ ] Проведён один полный удалённый прогон.
- [ ] Сохранены фото, короткое видео и квитанция приёмки.

## Критерий «готово к показу»

Стенд готов к показу, когда один выбранный компьютер два раза подряд проходит путь от выключенного питания до готового Android‑экрана, управление передаётся человеку, камера подтверждает физический результат, а журнал содержит все команды и readback. Масштабирование на остальные компьютеры выполняется только после этой приёмки.

## Следующие 7 дней

1. Подключить остальные совместимые компьютеры по эталонной схеме.
2. Разнести профили: торговый терминал, склад, MikroTik, хранилище, Android‑станция.
3. Добавить мониторинг температуры, сети и потребления.
4. Сделать публичный read‑only показ и закрытый операторский режим.
5. Провести внешний тест: новый человек выбирает компьютер и понимает состояние без объяснения инженера.
6. Зафиксировать время загрузки, процент успешных прогонов и причины остановок.
7. Подготовить серверный пилот и удалённую презентацию для партнёра.
