СборкаГлава 48 / 51

Первый и второй экземпляры

Что должно быть готово после каждого шага?

Каждый этап заканчивается работающей проверкой. Нельзя переносить неизвестную проблему в следующий слой конструкции.

Сборка движется короткими законченными циклами. Один датчик стабильно выдаёт наблюдение. Один исполнитель реагирует и сохраняет кнопку без сети. Затем станция связывает их в правило, а приложение объясняет результат.

Второй экземпляр проверяет не только электронику, но и полноту нашей инструкции. Если для его запуска требуется помнить незаписанную правку первого стенда, проект ещё не воспроизводится. Эти скрытые зависимости нужно устранить до дальнейшего расширения.

Первый экземпляр E0 — открытый лабораторный стенд. E1 — самостоятельная станция в корпусе с теми же логическими контрактами. E2 — повторяемая сборка по документации, выполненная без памяти автора о «секретном проводке». Это не массовое производство, а последовательное снижение инженерной неопределённости.

Этап 0. Подготовка среды#

Создать репозиторий документации, каталог аппаратных ревизий и единый журнал измерений. На имеющемся ПК поднять Linux-окружение, Rust toolchain и симулятор устройств. До подключения реального реле должны работать ID команды, журнал результата и сценарий потери соединения.

Результат этапа — воспроизводимый запуск и сохранённый манифест. Если сборка работает только из незадокументированной домашней директории, переходить к изготовлению корпуса рано.

Этап 1. Один датчик#

Проверить ESP32 без периферии, затем один SHT-модуль. Снять питание, прозвонить, проверить напряжения, прочитать ID/результат и только потом добавить второй сенсор. Для VEML7700 проверить raw и настройки gain/integration, а не сразу график в приложении.

Результат — корректные наблюдения с единицами, возрастом и флагами. Сбой сенсора должен быть виден как сбой, не как нулевое значение. Фотография проводов и таблица соединений сохраняются.

Этап 2. Один исполнитель#

Сначала релейный модуль без нагрузки, затем 12-вольтовая лампа через предохранитель. Проверить кнопку и стартовый уровень. Подключить протокол, повтор команды и потерю подтверждения. Только после этого вводить автоматическое управление.

Результат — set(on/off) с известным состоянием при перезапуске и без опасного импульса. Измеритель тока добавляется как независимое расширение, чтобы можно было сравнить поведение до и после него.

Этап 3. Presence и замкнутый световой сценарий#

В E0 подключить PIR и проверить включение при темноте, состояние UNKNOWN и ручной ManualOverride до явного освобождения. По отсутствию движения автоматический OFF запрещён. Проверить, что собственная лампа не вызывает самопереключение, а следующий вход не снимает ручной запрет. Для расширения E1 добавить радар, собрать размеченные эпизоды и отдельно допустить Presence-qualified: только этот профиль может выключать свет после подтверждённого ухода.

Результат — работающий кабинет на имеющемся ПК. Интернет отключается на время проверки. Это первый полноценный экземпляр экосистемы, даже если корпус станции ещё не изготовлен.

Этап 4. Мобильное управление и подключение#

Для пользовательского управления определить Client API Core и минимальные экраны: инсталляции, добавление, комната, узел, намерение и результат, диагностика. Доверенный локальный bootstrap нужен первому стенду; BLE-onboarding и целевой KMP-клиент Android/iOS развиваются в E1. До их допуска выполнить проверки на реальных телефонах, включая отказ разрешений, прерывание и смену сети. Выбранный интерфейс E0 должен быть прямо указан в манифесте стенда.

Результат — пользователь управляет системой из обычной домашней сети и понимает состояние ошибки. Точный визуальный стиль приложения разрабатывается отдельно по правилам KMP-проекта.

Этап 5. Голос и выбор вычислителя#

Записать RU/EN-корпус и сравнить модели на ПК. Проверить намерения, отрицания и неоднозначные имена. Измерить память и задержку под одновременной нагрузкой Core. По результатам выбрать H1/H2/H3/H4.

Результат — аппаратный выбор с измерительным основанием. Отдельный хаб устанавливается открыто на столе и повторяет прежние тесты до переноса в корпус.

Этап 6. Самостоятельная станция E1 и выбранный корпус#

Для H2 собрать раму, габаритный макет и поддон; установить штатное питание, плату, кулер и вентиляторы. Сначала проверить открытый стенд, затем панели и фильтр. Антенны и микрофон должны оставаться доступными для перенастройки. При выборе готового H1 испытать его в штатном корпусе; изготовление куба в этом случае является отдельной веткой проекта.

Результат — исправная вентиляция, доступ к обслуживанию, отсутствие проблем радио и сохранение задержек. Декоративное покрытие и окончательная сетка ставятся после технической проверки, затем тест повторяется.

Этап 7. Обновление и удалённый доступ#

Проверить локальную установку подписанного пакета, отказ подписи и откат. Настроить первый WireGuard-путь и отдельный SSH. Отключить VPS и убедиться, что кабинет остаётся управляемым локально.

Результат — станция обслуживается без разборки, а владелец имеет план восстановления без внешнего сайта. Ключи и backup не хранятся только на одном устройстве.

Этап 8. Второй экземпляр E2#

Повторить сборку по ведомости и инструкции, желательно с участием другого человека. Различия в комплектующих записываются. Если требуется устное пояснение, оно переносится в схему или шаг проверки. Только такой повтор показывает, что инженерная основа действительно готова к нескольким первым экземплярам.

GateЧто должно быть доказаноЧто нельзя переносить дальше
ЭлектрикаПитание, уровни, стартовые состоянияСлучайные перезапуски и горячие соединения
ПротоколПовторы, сроки, восстановлениеНеизвестная семантика успеха
ФизикаСвежесть, размещение, обратная связьЛожный световой цикл и незаметный уход в UNKNOWN
КорпусТемпература, радио, обслуживаниеПерегрев, экранирование и закрытые разъёмы
ЭксплуатацияОбновление, backup, отзывЕдинственная копия ключей и ручные недокументированные правки

Что является началом изготовления#

Разметка и сверление выполняются по согласованной аппаратной ревизии, а не по иллюстрации из книги. Атлас даёт исходные размеры и расчёты; комплект рабочего выпуска дополняется фактическими CAD, распиновками купленных модулей и результатами стенда.

Первый этап связывает достоверные наблюдения с малым замкнутым циклом. Обучение более сложной модели начинается после проверки этого основания.

Исследовательская ветка: от наблюдения к допуску модели#

ШагРабочий результатУсловие перехода
1. НаблюдениеКаналы света, температуры, присутствия с качеством и временемПотеря данных видна; измерение не подменяется кешем
2. ОбъектыКарта кабинета, связь реле с лампой, профиль ручного режимаНет неоднозначных нагрузок и единиц
3. ЭталонКонечный автомат, журнал, физическое подтверждениеПроходит обязательные сценарии отказа
4. МодельОценка вклада света и состояния присутствияПроверена на отложенных эпизодах
5. AI в тениТипизированные предложения и сравнение с эталономИзмерен выигрыш без ухудшения критических ошибок
6. Ограниченный допускОдин пакет процесса с возможностью откатаПользователь понимает пределы; защита независима
I24Развитие по доказанным возможностям, а не по календарным обещаниям. Ветку видео/JEPA можно исследовать параллельно, не задерживая работающий кабинет.

Что зафиксировать до программирования#

Нужны схемы логических объектов, контракт наблюдения, контракт предложения, таблица ошибок, семантика времени и список инвариантов. В архиве приложены примеры JSON и проверяемая учебная схема; они не объявлены окончательной бинарной спецификацией KQIP.

Для первой модели фиксируем условия сбора, разделение эпизодов и эталон сравнения. Аппаратуру собираем по монтажным картам главы 16 и процедуре первого включения. Исследование модели не требует перепаять рабочий узел ради нового программного названия.

Что сознательно не включать в первый runtime#

Первый runtime сохраняет ограниченный набор полномочий. Обязательный видеопоток, автономный online-RL на исполнительных устройствах, универсальное выполнение shell-команд, распределённый консенсус хабов, обучаемое отключение защит и магазин произвольных плагинов в него не входят. Каждое из этих расширений требует отдельной задачи и проверки риска после базового сценария.

Не требуется и собственное ядро Linux. Собственная часть проекта — физические контракты, модель мира, управление процессами и исполнение. Разработка драйвера оправдана реальным устройством без подходящей поддержки, а не желанием назвать весь стек авторским.

Пять исследовательских гипотез#

Переносимость. Пакет света связывается со второй комнатой без изменения ядра; измеряем число ручных операций и время настройки.

Меньше ошибок. Гибридный оценщик уменьшает ложные выключения относительно согласованного эталона на независимых эпизодах; отслеживаем цену дополнительных включений.

Полезное самоизмерение. Активный запрос данных сокращает неопределённые решения при ограниченной дополнительной энергии и трафике.

Независимость от AI. Отказ worker не нарушает сроков базового цикла и не теряет ручное управление.

Понятность. Пользователь по карточке решения верно объясняет, что известно и что ещё не подтверждено. Это отдельная проверка интерфейса, не эстетическая оценка.

Первое практическое занятие#

Не покупать GPU. Запустить прилагаемую симуляцию, изучить CSV и изменить вклад лампы. Затем подготовить сборку сенсорного и релейного узла по монтажным картам главы 16, без опасной нагрузки. Первое программное действие — записать полноценное наблюдение и показать его свежесть. Первое физическое действие — безопасно включить лампу вручную и проверить, какие каналы действительно меняются.

Готовность первого экземпляра подтверждает воспроизводимый цикл наблюдения, решения, ограничения и проверки. На этой основе можно оценить пользу следующего AI-расширения.

Начинаем с измерительного и исполнительного стенда, фиксируем контракты, собираем собственные эпизоды и проверяем эталон. Новая AI-модель получает место в системе только после такого сравнения; красивое название не даёт ей права на физическое действие.

Первый маршрут с условиями остановки#

ЭтапРезультатСтоп-условие
0. КонтрактыРеференсные трассы command/time/manual/restoreСтороны по-разному трактуют одно событие
1. MCU-совместимостьЗафиксированные SDK/TLS/BLE/OTA и измеренные ресурсыНет безопасного rollback или кнопка блокируется
2. Точный E0Одна BOM, низковольтная нагрузка, карта питанияНеизвестный IN/VIN, КЗ, импульс при старте
3. Ограниченное управлениеPIR-only, ручной режим, неизменяемые командыНеобъяснимое действие или нарушение ручного OFF
4. KMP и восстановлениеДва телефона, отзыв, смена сети, резервная копияСтарая станция/сессия получает прежние права
5. E1 и исследованиеКорпус по замерам, голос, квалифицированное присутствиеРасширение ухудшает проверенный базовый контур

Одновременно ведётся одна рискованная аппаратная ветка и одна связанная программная проверка; новые ML-эксперименты не блокируют завершение E0. Трудоёмкость фиксируется по фактическим опытам и пересматривается после этапа 1. Из количества глав нельзя вывести достоверные сроки одного автора. Учебная ценность широкого проекта сохраняется, но условия первого успеха остаются узкими.

Найти в книге

Поиск по всем главам, схемам и техническим разделам.