СистемаГлава 01 / 51

Комната, которая отвечает

Как выглядит один законченный цикл работы?

Koobique связывает измерения, модель физического объекта и управляемое действие. Первый проверяемый контур работает в одном кабинете.

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

В этом сценарии встречаются электрическая схема, радиосвязь, время, права доступа, человеческое намерение и физический результат. Книга разбирает эти слои по очереди и соединяет их в проверяемый рабочий цикл.

Человек входит в кабинет. При разрешённой автоматике датчик фиксирует движение, станция проверяет свежесть наблюдений и освещённость, выбирает светильник, отправляет команду релейному узлу и проверяет сообщённый результат. Физический эффект подтверждается отдельно. В голосовом расширении человек говорит «выключи подсветку»: система отличает её от основного освещения и уточняет неоднозначный объект. Локальное управление сохраняется без интернета. При недоступной станции физическая кнопка исполнительного узла продолжает работать в пределах своего питания и локального режима.

В этом примере уже есть почти вся будущая экосистема: измерение, модель помещения, имена устройств, полномочия пользователя, доставка команды, физический выход, обратная связь и отказоустойчивость. Именно эту цепочку имеет смысл довести до качества, прежде чем добавлять десятки протоколов или рисовать сложную панель управления.

A01Базовый комплект кабинета. Связи логические: устройства и телефон используют обычную локальную сеть. ПК и удалённый канал не являются обязательными участниками локального управления.

Состав первого комплекта#

Станция Koobique Hub — отдельный Linux-компьютер, преимущественно подключённый к домашнему роутеру по Wi-Fi. На нём работают Rust-ядро, локальное хранилище, службы управления и, когда выбрана подходящая конфигурация, обработка голоса. Ethernet сохраняется как дополнительный интерфейс. Приложение не требует переключать телефон в отдельную сеть станции.

Sense — узел освещённости и температуры. Для первого стенда это отладочная плата ESP32-C6 и готовые сенсорные модули. Сенсоры располагаются вне горячего вычислительного корпуса. В дальнейшем температурный и оптический каналы можно разделить, если одной точкой установки не удаётся корректно измерять обе величины.

Presence — узел присутствия. Начальный вариант использует PIR, расширенный — PIR и радар. Это не устройство определения личности и не достоверный счётчик людей: система хранит оценку занятости комнаты с понятными ограничениями.

Actuator — исполнительный узел с физической кнопкой и реле. Первая нагрузка — низковольтный светильник 12 В. Измерение тока добавляется отдельным этапом. Работа с открытыми сетевыми цепями 230 В не нужна для проверки архитектуры и не входит в предлагаемый учебный стенд.

Koobique App — пользовательский клиент; целевое мобильное приложение строится на KMP для Android и iOS. Оно подключает станцию и устройства, показывает состояние, передаёт намерения и может служить голосовым пультом. Клиент обращается к API Core. KQIP описывает отдельную связь Core с узлами; общий формат данных не означает общий набор полномочий. Платформенные библиотеки выбираются после проверки на реальных телефонах.

Три понятия, которые нельзя смешивать#

ПонятиеЧто оно означаетЧто не следует из него
АвтономностьОсновные функции выполняются без внешних серверовЧто радио работает без роутера или питания
Собственный протоколСвои сообщения, состояния, правила совместимости и восстановленияЧто нужно заменить TLS собственной криптографией
МасштабируемостьНовые возможности добавляются без нарушения прежних контрактовЧто первой комнате нужны кластер и микросервисы

Локальная система должна обходиться без облачной регистрации, внешнего DNS, сервера лицензий и CDN для обычного управления. Но удалённый пользователь физически зависит от существования доступного канала до дома. Протокол не может гарантировать доставку через полностью заблокированную сеть. Поэтому локальная работоспособность и доступность удалённого канала проверяются раздельно.

Что означает «готово к первому экземпляру»#

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

В тексте используются три вида утверждений. Документированный факт сопровождается ссылкой вида [14]. Проектное решение описывает предложенную архитектуру Koobique. Расчёт или цель опирается на явно названные исходные данные и ещё требует измерения. Это позволяет менять детали, не разрушая логику системы.

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

Не покупать всю станцию сразу. Сначала запустить ту же серверную архитектуру на имеющемся ПК и собрать три низковольтных узла. Отдельный вычислитель выбирается после измерения нагрузки и голоса. Это не упрощённый «одноразовый прототип»: формат сообщений, модель устройств и проверка прав остаются теми же.

Как устроена эта книга#

Сначала мы проследим один сценарий кабинета и разберём устройство станции. Затем соберём корпус, питание, измерительные и исполнительные узлы. После этого пройдём программный путь от загрузки Linux и прошивки микроконтроллера к протоколу, данным, моделям и решениям. Приложение, голос, обновления и испытания замыкают эту цепочку.

Для последовательного изучения сохранены все 51 глава. Во время сборки удобно идти по маршруту E0 и возвращаться к монтажным картам, расчётам и проверкам. Разработчику Core/MCU и исследователю данных доступны собственные маршруты через те же полные главы. Учебные источники собраны в конце книги. Проектные размеры и настройки сверяются с приобретёнными деталями перед изготовлением.

Один первый результат — без сокращения горизонта проекта#

Профиль E0 — одна комната, один активный Core, один владелец, измерение температуры и света, PIR-only и одна низковольтная лампа. Успех означает: свет можно предсказуемо включить, ручное решение не отменяется само, отказ виден, а после перезапуска есть понятный путь восстановления. Пакеты процессов, голос, радар и AI остаются в книге, но не становятся обязательными зависимостями этого первого результата.

Сейчас: E0Следом: E1Исследование / E2
H0 на ПК, низковольтные узлы, ручной режимАвтономный Hub, измеренные OTA и восстановлениеВторая комната без изменения Core
Статический паспорт процесса и автомат входаПроверенный PIR + радар; голос с телефонаМодели мира, MPC и обучение — по отдельным метрикам
Тесты повтора, времени, выхода и отказовОтзыв телефона, защита ключей, KMP Android/iOSСобственный корпус и плата по проверенным деталям

«Зафиксировано проектом» в этой редакции означает выбранное поведение, а не проведённое испытание. Нормативные пункты E0, примеры и будущие варианты визуально разделены. Для замены компонента не требуется переписывать всю книгу, но требуется заново пройти затронутую проверку.

Физический цикл: Sense → State → Model → Decision → Act#

Sense получает наблюдение с временем, единицей и качеством. State сохраняет то, что сейчас известно об объекте, включая пропуски и неопределённость. Model описывает связи и ожидаемый эффект действия. Decision выбирает разрешённое намерение с учётом цели и ограничений. Act проверяет условия, исполняет команду и возвращает результат, который следующий Sense сопоставляет с физическим миром. В E0 некоторые шаги выполняет простой автомат; отдельная нейросеть для каждого шага не требуется.

Найти в книге

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