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

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

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

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

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

Для программирования своих моделей учащиеся используют блоки значков, блоки слов (по умолчанию) или код 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 больше всего известна: раскрытия творческих способностей.