Веб-приложение для управления поездами LEGO PoweredUP через браузер.
Управляйте несколькими хабами одновременно с любого устройства в локальной сети — ПК, iPad, смартфон.
© Шарапов В.Н., 2026 · MIT License
| 🎮 Управление | Ползунок скорости, пресеты, кнопки ±10/±100, гудок |
| 🔗 Составы | Синхронное управление несколькими локомотивами |
| 🎬 Сценарии | Запись движений в реальном времени и воспроизведение |
| 🕐 Расписание | Автозапуск действий по времени и дням недели |
| 🛑 E-STOP | Мгновенная остановка всех поездов одной кнопкой |
| 📱 PWA | Установка на iPad/iPhone/Android как нативное приложение |
| 🔧 PyBricks | Поддержка хабов под управлением прошивки PyBricks |
# Требования: Node.js 20+, Bluetooth 5.0 BLE
git clone https://github.com/EvelRus/LegoTrainPanel.git
cd LegoTrainPanel
npm install
node server.jsОткрыть браузер: http://localhost:3000
Подробные инструкции для каждой ОС — в Wiki: Установка.
LegoTrainPanel/
├── server.js # Точка входа: HTTP + Socket.IO + BLE
├── lib/
│ ├── ramp.js # Движок плавного разгона
│ ├── logger.js # Логгер (память + файл + Socket.IO)
│ └── scheduler.js # Составы, сценарии, расписание
├── public/
│ ├── index.html # HTML-каркас интерфейса
│ ├── css/style.css # Все стили
│ ├── js/app.js # Клиентский JavaScript
│ ├── manifest.json # PWA-манифест
│ ├── sw.js # Service Worker
│ ├── photo/ # Фотографии поездов + logo.png
│ └── sound/ # Звуки поездов (.mp3)
├── data/
│ ├── logs/ # Лог-файлы (YYYY-MM-DD.log)
│ ├── scenarios.json # Сохранённые сценарии
│ ├── schedules.json # Расписание
│ └── consists.json # Составы
├── hub-config.json # Конфигурация хабов (UUID → настройки)
└── package.json
Полная документация доступна в GitHub Wiki:
- Установка и требования
- Настройка поездов
- Сценарии и расписание
- API и Socket.IO
- Поддерживаемые наборы
- Решение проблем
node-poweredup ^10.x — управление хабами по BLE
express ^4.x — HTTP-сервер и API
socket.io ^4.x — WebSocket для реального времени
→ Пожалуйста прочитайте Как правильно создать issue
Это сильно ускоряет исправление!