Jak LEGO® Education wykorzystuje interfejsy Web Bluetooth i Web Serial API

Model tańca przerwuny z klocków LEGO.

LEGO® Education SPIKETM Prime Set to narzędzie do nauki (nauka, technologia, inżynieria, sztuka i matematyka) dla uczniów klas 6–8 (od 11 do 13 roku życia).

SPIKE Prime łączy w sobie kolorowe elementy do budowania z klocków LEGO, łatwy w obsłudze sprzęt oraz intuicyjny język kodowania oparty na „przeciągnij i upuść” oparty na Scratchu i Pythonie. SPIKE Prime cały czas angażuje uczniów przez zabawę, aby myśleć krytyczne myślenie i rozwiązywać złożone problemy niezależnie od poziomu wiedzy, a jednocześnie dobrze się bawić.

Programowanie

Do programowania swoich modeli uczniowie używają bloków ikon, bloków słów (domyślnie) lub kodu w Pythonie. Środowisko programistyczne jest zaadaptowane z poziomu edytora Scratch, znanego wielu uczniom już od wczesnej edukacji STEAM.

W 2 trybach wizualnych uczniowie łączą bloki, przeciągając i upuszczając je na obszarze roboczym. Łączą różne klocki, łącząc je ze sobą.

Środowisko programistyczne LEGO z programem zawierającym bloki słów.

Bardziej zaawansowani studenci mogą bezpośrednio używać prawdziwego kodu Pythona, dzięki zintegrowanej bazie wiedzy, która pomaga uczniom w trakcie programowania.

Środowisko programistyczne LEGO z programem w Pythonie.

Po utworzeniu programu w aplikacji LEGO Education SPIKE uczniowie przesyłają go do centrum LEGO Education Spike Prime, korzystając z połączenia Bluetooth lub USB. Centrum realizuje program i steruje modelem LEGO.

Sprzęt z zestawem

Mózgem zestawu edukacyjnego SPIKE jest centrum, które służy do sterowania różnymi innymi częściami sprzętowymi, takimi jak czujniki i silniki. Zestaw zawiera czujnik kolorów, czujnik odległości i siły. Mamy też 2 silniki: duży i średni. Hub łączy się z komputerem przez Bluetooth lub USB.

Programowalne części zestawu edukacyjnego LEGO SPIKE.
Duży koncentrator, 3 czujniki koloru, odległości i siły oraz 2 silniki.

Obsługiwane aplikacje

Oprócz aplikacji na różne platformy LEGO oferuje też aplikację internetową SPIKE dostępną na stronie spike.legoeducation.com. Aplikacja nie jest przechowywana w pamięci podręcznej przeglądarki, dlatego użytkownicy muszą mieć połączenie z internetem, by aplikacja działała.

LEGO oficjalnie obsługuje przeglądarki Chrome na systemach Windows 10 i 11, MacBookach i Chromebookach. Ulepszenia dotyczące buforowania i umożliwienie instalowania aplikacji to funkcje, które planujemy wprowadzić w przyszłości.

Połącz z centrum SPIKE

Hub SPIKE Prime i SPIKE Essential można podłączyć do komputera przez Bluetooth lub USB. Domyślnie aplikacja internetowa używa Bluetootha z interfejsem Web Bluetooth API.

Po połączeniu przez USB aplikacja internetowa używa też interfejsu Web Serial API. W obu przypadkach poza kablem USB przepływ połączenia jest niemal identyczny.

Aplikacja LEGO Education SPIKE z instrukcjami podłączania przez USB.

Po nawiązaniu połączenia uczniowie będą przesyłać swoje programy do jednego z 20 przedziałów pamięci masowej w dużym centrum.

Interfejs „Download to Hub” LEGO Education SPIKE.

Do komunikacji z centrum interfejsy Web Bluetooth i Web Serial API wymagają odpowiednio BluetoothDevice lub SerialPort. Są one uzyskiwane z fragmentów kodu pobranych z aktywnej aplikacji.

Połączenie interfejsu Web Bluetooth API

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

Połączenie z interfejsem Web Serial API

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

Powody, dla których warto skupiać się na internecie i używać sprzętowych interfejsów API

Obecnie LEGO udostępnia niezależne wersje swojej aplikacji na Androida, macOS/iPadOS i Windows oraz starsze wersje aplikacji na tę platformę, a nie tylko aplikację internetową. Publikując aplikację internetową na platformy, które obsługują podstawowe interfejsy API sprzętu internetowego w Chrome, czyli macOS, Windows i ChromeOS, deweloperzy LEGO mogą znacznie ograniczyć obciążenie pracą.

Inną przyczyną jest rozmiar pobieranego pliku. Aplikacja internetowa pobiera w sumie mniej niż 20 MB, podczas gdy aplikacja na macOS i iPadOS waży 115 MB, aplikacja na Androida 178 MB, a aplikacja na Windows – 292 MB. Pierwsza instalacja nie obejmuje materiałów potrzebnych do prowadzenia lekcji. Po pobraniu tego materiału rozmiar zwiększa się o prawie 1 GB. W aplikacji internetowej treści lekcji są przesyłane strumieniowo, dzięki czemu użytkownik zawsze ma najnowszą wersję i może pobrać tylko tę lekcję, którą potrzebuje.

Poza tymi kwestiami technicznymi ważnym argumentem, aby stawić czoła wyzwaniom w internecie, jest również prostota korzystania z zajęć. Uczniowie nie muszą instalować aplikacji ani aktualizować jej. Zamiast tego po prostu klikają link i zawsze korzystają z najnowszej wersji. Z firmy LEGO aktualizacja treści jest zawsze możliwa niezależnie od procesu weryfikacji w sklepie z aplikacjami.

Tinker z klocków LEGO w internecie

W Larce od początku szukaliśmy kreatywnego montażu klocków, a dzięki temu, że LEGO Education SPIKE jest dostępny w przeglądarce, ten zestaw nie jest wyjątkiem od tej reguły.

Społeczność programistów zaczęła już tworzyć kod komunikujący się z SPIKE. Na przykład PyREPL-JS założył Gabriel Sessions na Uniwersytecie Tuuftsa. PyREPL-JS udostępnia mikroPython REPL (pętlę odczytu – oceny i drukowania) dla stron internetowych, która umożliwia komunikację z centrum SPIKE. Ethan Danahy, także z Tufts, korzysta z tego protokołu REPL w wielu interfejsach internetowych dla SPIKE Prime. Jednym z nich jest trener przerwany zsynchronizowany z plikiem audio.

Na uniwersytecie zorganizowano warsztaty z zakresu systemów uczących się z użyciem SPIKE oraz platformę do zabawy dla robotów z instrukcjami i przykładami kodu. Zacznij od Hello SPIKE.

Model Lego na taniec tańców zsynchronizowany z plikiem audio.

Umożliwiając uczniom komunikowanie się z fizycznymi modelami LEGO z poziomu przeglądarki, interfejsy Web Serial i Web Bluetooth API otwierają wiele możliwości dla aplikacji edukacyjnych, twórczych i rozrywkowych. Uczniowie zawsze będą mieli najnowszą wersję aplikacji bez konieczności jej aktualizowania.

W dłuższej perspektywie deweloperzy LEGO będą mieli mniej aplikacji do obsługi, co oznacza niższe koszty i mniejsze nakłady pracy związane z programowaniem, dzięki czemu można poświęcić więcej czasu na to, co jest znane z klocków LEGO, czyli nauczanie kreatywności.