Как LEGO® Education использует Web Bluetooth и API Web Serial

Модель брейкдансера, собранная из LEGO.

LEGO® Education SPIKE™ Prime Set — это инструмент обучения STEAM (наука, технология, инженерное дело, искусство и математика) для учащихся шестого–восьмого классов (примерно от 11 до 13 лет).

Сочетая в себе красочные строительные элементы LEGO, простое в использовании оборудование и интуитивно понятный язык программирования с возможностью перетаскивания, основанный на Scratch и Python, SPIKE Prime постоянно вовлекает учащихся в игровые учебные занятия, позволяя им критически мыслить и решать сложные проблемы, независимо от уровня их обучения… и при этом весело проводить время!

Опыт программирования

Для программирования своих моделей учащиеся используют блоки значков, блоки слов (по умолчанию) или код Python. Среда программирования адаптирована из редактора Scratch , знакомого многим ученикам уже по раннему обучению STEAM в школе.

В двух визуальных режимах учащиеся соединяют блоки, перетаскивая их на холст программирования. Они соединяют различные блоки, соединяя их.

Среда программирования LEGO с программой блоков слов.

Более продвинутые студенты могут напрямую использовать реальный код Python, который поставляется с интегрированной базой знаний для поддержки студентов во время написания кода.

Среда программирования LEGO с программой Python.

Создав программу в приложении LEGO Education SPIKE, учащиеся отправляют ее в центр LEGO Education Spike Prime через соединение Bluetooth или USB. Хаб выполняет программу и управляет моделью LEGO.

Включенное оборудование

Мозгом комплекта SPIKE Education является концентратор, который служит для управления различными другими элементами оборудования, такими как датчики и двигатели. В комплект входят датчик цвета, датчик расстояния и датчик силы. Также есть два мотора: один большой, один средний. Хаб подключается к компьютеру через Bluetooth или USB.

Программируемые части набора LEGO SPIKE Education.
Большой концентратор, три датчика цвета, расстояния и силы, а также два мотора.

Поддерживаемые приложения

Помимо приложений для конкретных платформ , LEGO также предлагает веб-приложение SPIKE, доступное по адресу spike.legoeducation.com . Приложение не кэшируется в браузере, поэтому для работы веб-приложения пользователям всегда необходимо подключение к Интернету.

LEGO официально поддерживает браузеры Chrome на Windows 10 и 11, MacBook и Chromebook. Улучшения кэширования и возможность установки приложения — запланированные функции на будущее.

Подключитесь к хабу SPIKE

Концентратор SPIKE Prime и концентратор SPIKE Essential можно подключить к компьютеру с помощью Bluetooth или USB. По умолчанию веб-приложение использует Bluetooth с API Web Bluetooth .

Альтернативно, веб-приложение использует API веб-последовательного интерфейса при подключении через USB. В обоих случаях, за исключением USB-кабеля, процесс подключения практически идентичен.

Приложение LEGO Education SPIKE с инструкциями по USB-подключению.

После подключения студенты загружают свои программы в один из 20 слотов хранения большого хаба.

Пользовательский интерфейс LEGO Education SPIKE «Загрузка в Hub».

Для связи с концентратором Web Bluetooth и Web Serial API требуется BluetoothDevice или SerialPort соответственно. Они получены из фрагментов кода, взятых из живого приложения.

Веб-соединение Bluetooth API

(X.next = 4),
  navigator.bluetooth.requestDevice({
    filters: [
      {
        namePrefix: 'GDX',
      },
    ],
    optionalServices: ['d91714ef-28b9-4f91-ba16-f0d9a604f112'],
  });

Подключение к веб-последовательному API

const v = yield navigator.serial.requestPort({
  filters: [{
    usbVendorId: Zt.SerialVendorId.LEGO // 1684
  }]
});
yield v.open({
  baudRate: 115200
});

Причины перейти на веб-ориентацию и использовать API веб-аппаратного обеспечения

В настоящее время LEGO поддерживает независимые версии своего приложения для Android, macOS/iPadOS и Windows; плюс устаревшие версии приложений для конкретной платформы сверху, в дополнение к веб-приложению. Размещая веб-приложение на платформах, которые поддерживают базовые API-интерфейсы веб-аппаратного обеспечения в Chrome, а именно macOS, Windows и ChromeOS, разработчики LEGO могут значительно снизить нагрузку на обслуживание своих приложений.

Другая причина — размер загрузки. Веб-приложение загружает в общей сложности менее 20 МБ, тогда как приложение для macOS и iPadOS весит 115 МБ, приложение для Android — 178 МБ, а приложение для Windows — 292 МБ. Однако первоначальная установка не включает в себя учебный материал, необходимый в классах. После скачивания данного материала размер увеличивается почти на 1 Гб. В веб-приложении содержимое урока передается в потоковом режиме, что позволяет пользователю всегда иметь самую последнюю версию и загружать только тот урок, который он просматривает.

Помимо этих технических причин, простота использования в классе является еще одним веским аргументом в пользу перехода на Интернет. Студентам не нужно устанавливать приложение и обновлять его. Вместо этого они просто переходят по ссылке и всегда работают с самой последней версией. Со стороны LEGO обновления контента всегда возможны, независимо от процессов проверки в магазине приложений.

Поработайте с LEGO в Интернете

LEGO всегда занималась творческой сборкой кубиков, и, поскольку LEGO Education SPIKE доступен через веб-браузеры, этот набор не является исключением из правил.

Сообщество разработчиков уже начало создавать код, взаимодействующий со SPIKE. Например, PyREPL-JS был запущен Габриэлем Сешнсом из Университета Тафтса. PyREPL-JS предоставляет MicroPython REPL (цикл чтения-оценки-печати) для взаимодействия веб-страниц с концентратором SPIKE. Итан Данахи , также из Тафтса, затем использует этот REPL для ряда Web-интерфейсов для SPIKE Prime , один из которых — брейкдансер, синхронизированный с аудиофайлом .

В университете прошел семинар по машинному обучению с помощью SPIKE, а также организована площадка для робототехники с инструкциями и примерами кода. Хорошее место для начала — Hello SPIKE .

Модель LEGO брейкдансера, синхронизированная с аудиофайлом.

Позволяя учащимся общаться с физическими моделями LEGO из браузера, API-интерфейсы Web Serial и Web Bluetooth открывают мир возможностей для образовательных, творческих и развлекательных приложений. У учащихся всегда будет последняя версия приложения без необходимости ее обновления.

В долгосрочной перспективе разработчикам LEGO придется поддерживать меньше приложений, а это означает снижение затрат и усилий на разработку, что оставляет больше времени для того, чем LEGO больше всего известна: раскрытия творческих способностей.