Table of contents
This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Quick Start
Требования
- ОС: Linux (используется PTY)
- Go 1.25+
- Node.js 20.19+ или 22.12+ (для веб-панели)
Сборка
Через Make (рекомендуется)
make # собрать всё: Go-эмулятор + веб-панель
make help # список всех целей
Основные цели:
| Команда | Что делает |
|---|---|
make all |
собрать всё |
make build-go |
собрать bin/ioboard-emu |
make run-go |
собрать и запустить эмулятор |
make test-go |
юнит-тесты Go |
make test-python |
интеграционный тест |
make web-build |
собрать веб-панель |
make web-test |
тесты веб-панели |
make web-dev |
dev-сервер Vite |
make clean |
очистить артефакты |
Цели Go требуют Linux/macOS; на Windows используйте WSL.
Вручную
Go-эмулятор:
cd go-emu
go build -o ioboard-emu .
Веб-панель:
cd web
npm install
npm run build
Настройка
cd go-emu
cp .env.example .env
mkdir -p /tmp/hhs-emu-demo
Отредактируйте .env:
LINK_PATH=/tmp/hhs-emu-demo/ttyIOBOARD # симлинк для multicpumaster
BUTTON_FILE=/tmp/hhs-emu-demo/emulated_buttons
LOG_FILE=/tmp/hhs-emu-demo/ioboard_emu_debug.log
HTTP_ADDR=0.0.0.0:8080
WEB_DIR=../web/dist
API_TOKEN= # оставьте пустым для dev
Запуск
make run-go # или ./ioboard-emu, если уже собрано
Эмулятор:
- создаёт пару PTY и симлинк по
LINK_PATH - запускает HTTP-сервер на
HTTP_ADDR - обнуляет состояние кнопок при старте
- при остановке сбрасывает кнопки и удаляет симлинк
Проверка
curl http://localhost:8080/api/buttons
# {"mask": 0}
Dev-сервер веб-панели
make web-dev
Или вручную:
cd web
cp .env.example .env.development
npm run dev
Vite проксирует /api на эмулятор.