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

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

Набор LEGO® Education SPIKE™ Prime — это обучающий инструмент по дисциплинам 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 Hub

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

В качестве альтернативы веб-приложение использует Web Serial 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 для ряда веб-интерфейсов для SPIKE Prime , одним из которых является брейкдансер, синхронизированный с аудиофайлом .

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

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

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

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