Brick Remote

Керуй своєю машинкою, сумісною з LEGO®, з комп'ютера чи планшета. Кермуй, влаштовуй перегони, навчи її танцювати або намалюй їй дорогу!

Застосунок Brick Remote з великим зеленим кермом, кнопками вперед і назад та швидкістю 1, 2, 3

🎬 Подивись, як це працює

  1. Натисни кнопку на блоці. Він засвітиться.
  2. Brick Remote знаходить його й показує кермо.
  3. Поїхали!

🧰 Що тобі потрібно

Лише три речі.

🧱

Твій блок з моторами

Коробка з батарейками та роз'ємами для моторів A, B, C і D. Зазвичай до неї йде застосунок XP Block, а в інструкції написано "Smart creative module".

💻

Комп'ютер

З Bluetooth: Raspberry Pi, ноутбук або настільний комп'ютер. Планшет чи телефон теж можуть бути пультом.

🧑‍🔧

Дорослий

Лише для першого налаштування. А далі кермуєш ти!

🚀 Почни за 4 кроки

Кроки 1 і 2 робляться лише один раз.

Встанови Brick Remote дорослий

Встанови його через Python:

pip install "brickremote[web]"

Або завантаж код і запусти ./run.sh, який першого разу все налаштує сам.

Збери машинку

Підключи мотор руху до роз'єму A, а мотор керма до роз'єму D. Саме так зібрана машинка з коробки.

Увімкни блок

Натисни кнопку живлення. Вогник почне блимати: він чекає на тебе!

Запусти пульт

brickremote web

Відкрий у браузері адресу, яку він покаже. На планшеті використай ту, що закінчується на :8080. Коли блок знайдеться, вогник перестане блимати, і можна їхати!

Любиш більше друкувати, ніж клацати? Просто запусти brickremote для версії з клавіатурою.

🎮 Чотири способи гратися

Перемикайся між ними кнопками вгорі.

Екран машинки з кермом
🚗 Машинка

Будь водієм

Тримай FORWARD, щоб їхати, і крути кермо. Відпусти, і кермо повернеться в центр, як у справжній машині.

  • Вибери швидкість 1 (повільно), 2 або 3 (жени!)
  • Або користуйся стрілками
Екран роз'ємів з двома джойстиками
🕹️ Роз'єми

Керуй кожним мотором

Збудував кран, робота чи танк? Два джойстики керують усіма чотирма моторами: один A і B, другий C і D.

  • Pair змушує два мотори рухатися разом, чудово для танків
  • Reverse виправляє мотор, що крутиться не в той бік
Екран програми з блоками
🧩 Програма

Навчи її трюку

Торкайся кольорових блоків, щоб скласти список рухів, потім натисни RUN і дивись, як твій витвір усе робить сам.

  • Сині блоки рухають мотори
  • Помаранчеві блоки чекають і повторюють
  • Зелені блоки змінюють швидкість
Екран маршруту із сіткою та шляхом
🗺️ Маршрут

Намалюй дорогу

Торкайся клітинок сітки, щоб намалювати, куди їхати машинці. Кожна клітинка — пів метра. Натисни GO! — і вперед.

  • Один раз виміряй свою машинку, а потім налаштуй повзунки швидкості й повороту для ідеальних маршрутів

💃 Програми, які варто спробувати

Скопіюй одну на екран Програма й натисни RUN. Потім зміни числа й подивись, що вийде!

🐛 Похитування

Вперед і назад, знову й знову.

gear 2
repeat 4
  a + 0.5
  a - 0.5
end

🌀 Танець по колу

Поверни кермо до упору й катайся колами.

repeat 3
  d +     # поверни ліворуч і тримай так
  a + 2   # їдь 2 секунди
  stop
  wait 0.5
end

🐢🐇 Повільно, а потім швидко

Черепаха і заєць.

gear 1
a + 2
gear 3
a + 1
stop

⌨️ Клавіші

Для версії з клавіатурою (brickremote). Більшість працює і у вебверсії.

↑↓ їхати вперед / назад
←→ кермувати ліворуч / праворуч
123 швидкість
Tab наступний екран
WASD роз'єми A і B
IJKL роз'єми C і D
пробіл ЗУПИНИТИ все
Q вийти
STOP

Безпека понад усе!

Велика червона кнопка STOP (або пробіл) одразу зупиняє всі мотори. Їзди по підлозі, а не по столу, і тримай пальці подалі від коліс і шестерень, що обертаються.

🧑‍🔧 Для дорослих

Brick Remote — безкоштовна програма з відкритим кодом (ліцензія MIT). Вона працює з недорогими моторними модулями Bluetooth LE, які називаються JG_JMC-xxxx і зазвичай використовуються із застосунком XP Block. Працює на Linux (зокрема на Raspberry Pi), macOS і Windows.

Більше, ніж застосунок

Це також невелика бібліотека Python, якщо ви хочете створювати власні проєкти:

import asyncio
from brickremote import JMCModule

async def main():
    async with JMCModule() as m:
        await m.run(2, a=255)   # роз'єм A вперед на 2 секунди

asyncio.run(main())

Варто знати

  • Блок сам вимикається приблизно через десять хвилин без команд.
  • Роз'єми A і B мають спільну швидкість, так само C і D.
  • Вебпульт сам зупиняє мотори, якщо браузер зникає (закрита вкладка, зник Wi-Fi).
  • Це незалежний проєкт. Його не створювали виробники застосунку XP Block чи блоків, і він з ними не пов'язаний.
  • LEGO® — торговельна марка LEGO Group, яка не спонсорує, не авторизує й не схвалює цей проєкт.

Код, нотатки про протокол і повний перелік команд — у проєкті на GitHub (англійською).