Skip to content

Installation

EvelRus edited this page Mar 4, 2026 · 1 revision

🔧 Установка

Требования

Компонент Минимальная версия Примечание
Node.js 20 LTS nodejs.org
Bluetooth 5.0 BLE Встроенный или USB-адаптер
npm 9+ Устанавливается с Node.js

macOS

# 1. Установить Node.js (если не установлен)
brew install node
# или скачать установщик с https://nodejs.org

# 2. Клонировать репозиторий
git clone https://github.com/EvelRus/LegoTrainPanel.git
cd LegoTrainPanel

# 3. Установить зависимости
npm install

# 4. Запустить
node server.js

macOS Monterey+: разрешите Node.js доступ к Bluetooth:
Системные настройки → Конфиденциальность → Bluetooth → Node.js ✓


Linux (Ubuntu / Debian / Raspberry Pi)

# 1. Установить Node.js 20+
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -
sudo apt-get install -y nodejs

# 2. Установить зависимости Bluetooth
sudo apt-get install -y bluetooth bluez libbluetooth-dev libudev-dev

# 3. Разрешить Node.js работу с BLE без sudo
sudo setcap cap_net_raw+eip $(eval readlink -f `which node`)

# 4. Клонировать и установить
git clone https://github.com/EvelRus/LegoTrainPanel.git
cd LegoTrainPanel
npm install

# 5. Запустить
node server.js

Автозапуск на Raspberry Pi (systemd)

Создайте файл сервиса:

sudo nano /etc/systemd/system/legotrainpanel.service
[Unit]
Description=LEGO Train Panel
After=bluetooth.target network.target

[Service]
ExecStart=/usr/bin/node /home/pi/LegoTrainPanel/server.js
WorkingDirectory=/home/pi/LegoTrainPanel
Restart=on-failure
User=pi
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target
sudo systemctl enable legotrainpanel
sudo systemctl start legotrainpanel
sudo systemctl status legotrainpanel

Windows

# 1. Установить Node.js — скачать LTS с https://nodejs.org

# 2. Клонировать и установить
git clone https://github.com/EvelRus/LegoTrainPanel.git
cd LegoTrainPanel
npm install

# 3. Запустить
node server.js

Если npm install падает с ошибками нативных модулей:

npm install --global windows-build-tools

Или установите "Средства сборки C++" через Visual Studio Installer.

Брандмауэр: при первом запуске разрешите Node.js доступ к сети.


Доступ с других устройств

Сервер доступен на всех устройствах локальной сети:

http://IP_АДРЕС:3000

Узнать IP:

  • macOS/Linux: ifconfig | grep "inet " | grep -v 127
  • Windows: ipconfig → IPv4-адрес

Установка PWA на iPad/iPhone

Safari → Поделиться → На экран «Домой» — откроется как полноэкранное приложение без интерфейса браузера.

Clone this wiki locally