Контроллер кофемашины на Raspberry Pi: сеть, MQTT, OTA-гейтвей, локальные сервисы.
Проект представляет собой реализацию HeadUnit OS (Native Edition) — встраиваемой операционной системы на базе Linux (без Docker в runtime), обеспечивающей работу бизнес-логики, обновление компонентов и взаимодействие с периферией.
Репозиторий разделен на 4 основных слоя (Layers), каждый из которых имеет свой жизненный цикл:
builder/ — Скрипты сборки образа ОС (PowerShell + Docker)
system/ — Конфигурации уровня ОС (systemd, udev, network)
services/ — Инфраструктурные сервисы и библиотеки (DB, MQTT)
src/ — Прикладной код (Backend, Gateway, API)
external/ — Подключаемые модули (cd-protocol и др.)
docs/ — Подробная документация
Подробное описание архитектуры см. в docs/architecture.md.
Убедитесь, что установлены:
- PowerShell 7+
- Docker Desktop (или Engine на Linux)
- Git
Управление сборкой осуществляется через скрипт build.ps1.
# Сборка изменений (авто-детект)
.\build.ps1
# Полная пересборка образа ОС
.\build.ps1 -ForceПодробнее о сборке: docs/building.md.
Проект использует трехуровневую систему тестов (BATS):
- Unit: Тесты скриптов сборки.
- Image: Тесты готового образа (
.img). - Runtime: Самодиагностика на устройстве.
# Запуск тестов
.\build.ps1 -Test unit
.\build.ps1 -Test currentПодробнее: docs/testing.md.
- Coffee Digital