2 Quick Start
developer edited this page 2026-09-25 11:29:47 +00:00
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 на эмулятор.