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

Model breakdancera złożony z klocków LEGO.

Zestaw LEGO® Education SPIKE™ Prime to narzędzie do nauki przedmiotów ścisłych i technicznych (STEAM) dla uczniów klas 6–8 (w wieku około 11–13 lat).

Łączy kolorowe elementy konstrukcyjne LEGO, łatwe w użyciu sprzęt i intuicyjny język programowania oparty na metodzie „przeciągnij i upuść”, który bazuje na Scratchu i Pythonie. SPIKE Prime nieustannie angażuje uczniów w zabawne zajęcia edukacyjne, które pomagają im krytycznie myśleć i rozwiązywać złożone problemy niezależnie od poziomu nauki… i przy tym dobrze się bawić!

Doświadczenie w programowaniu

Uczniowie używają bloków ikon, bloków słów (domyślnie) lub kodu w Pythonie do programowania swoich modeli. Środowisko programistyczne zostało dostosowane z edytora Scratch, który jest znany wielu uczniom z wczesnej edukacji STEAM w szkole.

W 2 trybach wizualnych uczniowie łączą bloki, przeciągając je i upuszczając na obszar programowania. Łączą one różne bloki.

Środowisko programowania LEGO z programem blokowym.

Bardziej zaawansowani uczniowie mogą używać prawdziwego kodu w Pythonie, który jest wyposażony w zintegrowaną bazę wiedzy, aby wspierać uczniów podczas programowania.

Środowisko programowania LEGO z programem w Pythonie.

Po utworzeniu programu w aplikacji LEGO Education SPIKE uczniowie wysyłają go do huba LEGO Education Spike Prime przez Bluetooth lub USB. Hub uruchamia program i steruje modelem LEGO.

Sprzęt w zestawie

Mózgiem zestawu SPIKE Education jest hub, który służy do sterowania różnymi elementami sprzętu, takimi jak czujniki i silniki. Zestaw zawiera czujnik koloru, czujnik odległości i czujnik siły. Są też 2 silniki: duży i średni. Hub łączy się z komputerem przez Bluetooth lub USB.

Programowalne elementy zestawu LEGO SPIKE Education.
Duży hub, 3 czujniki koloru, odległości i siły oraz 2 silniki.

Obsługiwane aplikacje

Oprócz aplikacji na poszczególne platformy LEGO oferuje też aplikację internetową SPIKE, która jest dostępna na stronie spike.legoeducation.com. Aplikacja nie jest buforowana w przeglądarce, więc użytkownicy muszą mieć zawsze połączenie z internetem, aby z niej korzystać.

LEGO oficjalnie obsługuje przeglądarki Chrome w systemach Windows 10 i 11, na MacBookach i Chromebookach. Ulepszenia buforowania i możliwość zainstalowania aplikacji to planowane funkcje, które zostaną dodane w przyszłości.

Łączenie z hubem SPIKE

Hub SPIKE Prime i hub SPIKE Essential można połączyć z komputerem za pomocą Bluetootha lub USB. Domyślnie aplikacja internetowa korzysta z Bluetootha za pomocą interfejsu Web Bluetooth API.

Alternatywnie aplikacja internetowa używa interfejsu Web Serial API, gdy jest połączona przez USB. W obu przypadkach, z wyjątkiem kabla USB, proces połączenia jest niemal identyczny.

Instrukcje dotyczące połączenia USB z aplikacją LEGO Education SPIKE.

Po połączeniu uczniowie przesyłają swoje programy do jednego z 20 miejsc na dane dużego huba.

Interfejs użytkownika LEGO Education SPIKE „Pobierz na Hub”.

Do komunikacji z hubem interfejsy Web Bluetooth i Web Serial API potrzebują odpowiednio BluetoothDevice lub SerialPort. Są one uzyskiwane we fragmentach kodu pobranych z aktywnej aplikacji.

Połączenie przez Web Bluetooth API

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

Połączenie 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 zacząć od internetu i korzystać z interfejsów API sprzętu internetowego

Obecnie LEGO utrzymuje niezależne wersje aplikacji na Androida, macOS/iPadOS i Windowsa, a także starsze wersje aplikacji na poszczególne platformy, oprócz aplikacji internetowej. Wprowadzają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 zmniejszyć obciążenie związane z utrzymaniem aplikacji.

Innym powodem jest rozmiar pobierania. Aplikacja internetowa pobiera łącznie mniej niż 20 MB, podczas gdy aplikacja na macOS i iPadOS waży 115 MB, aplikacja na Androida – 178 MB, a aplikacja na Windowsa – 292 MB. Początkowa instalacja nie obejmuje jednak materiałów do lekcji potrzebnych w klasach. Po pobraniu tych materiałów 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 dostęp do najnowszej wersji i pobiera tylko lekcję, którą chce wyświetlić.

Oprócz tych technicznych powodów kolejnym ważnym argumentem za stosowaniem w pierwszej kolejności wersji internetowej jest prostota korzystania z niej w klasie. Uczniowie nie muszą instalować aplikacji ani jej aktualizować. Zamiast tego wystarczy, że klikną link i będą pracować nad najnowszą wersją. Po stronie LEGO aktualizacje treści są zawsze możliwe, niezależnie od procesów weryfikacji w sklepie z aplikacjami.

Eksperymentuj z LEGO w internecie

LEGO zawsze polegało na kreatywnym składaniu klocków, a zestaw LEGO Education SPIKE, który jest dostępny w przeglądarkach, nie jest wyjątkiem od tej reguły.

Społeczność programistów zaczęła już tworzyć kod, który komunikuje się z SPIKE. Na przykład projekt PyREPL-JS został rozpoczęty przez Gabriela Sessionsa na Uniwersytecie Tufts. PyREPL-JS udostępnia MicroPython REPL (pętla odczyt-oblicz-wypisz) dla stron internetowych, aby mogły one komunikować się z hubem SPIKE. Ethan Danahy z Tufts wykorzystuje ten REPL w przypadku kilku interfejsów internetowych dla SPIKE Prime, z których jednym jest breakdancer zsynchronizowany z plikiem audio.

Uniwersytet zorganizował warsztaty na temat uczenia maszynowego za pomocą SPIKE i prowadzi Playground robotyki z instrukcjami i przykładowym kodem. Na początek możesz skorzystać z Hello SPIKE.

Model LEGO breakdancera zsynchronizowany z plikiem audio.

Umożliwiając uczniom komunikację z fizycznymi modelami LEGO z poziomu przeglądarki, interfejsy Web Serial i Web Bluetooth API otwierają świat możliwości dla aplikacji edukacyjnych, kreatywnych i rozrywkowych. Uczniowie zawsze będą mieć najnowszą wersję aplikacji bez konieczności jej aktualizowania.

Deweloperzy LEGO będą mieli mniej aplikacji do utrzymania, co oznacza niższe koszty i mniejszy nakład pracy. Dzięki temu będą mogli poświęcić więcej czasu na to, z czego LEGO jest najbardziej znane, czyli rozwijanie kreatywności.