Bagaimana LEGO® Education menggunakan Bluetooth Web dan Web Serial API

Model penari lari yang dirakit dari LEGO.

LEGO® Education SPIKETM Prime Set adalah alat belajar STEAM (sains, teknologi, teknik, seni, dan matematika) untuk siswa kelas enam hingga delapan (sekitar 11 hingga 13 tahun).

Menggabungkan elemen bangunan LEGO yang berwarna-warni, hardware yang mudah digunakan, dan bahasa coding tarik lalu lepas yang intuitif berdasarkan Scratch dan Python, SPIKE Prime terus melibatkan siswa melalui aktivitas pembelajaran yang menyenangkan untuk berpikir kritis dan menyelesaikan masalah yang kompleks, apa pun tingkat pembelajaran mereka... sambil bersenang-senang!

Pengalaman pemrograman

Siswa dapat menggunakan blok ikon, blok kata (default), atau kode Python untuk memprogram model mereka. Lingkungan pemrograman diadaptasi dari editor Scratch, yang familier bagi banyak siswa yang sudah berasal dari pendidikan awal STEAM di sekolah.

Dalam dua mode visual, siswa menghubungkan blok dengan menarik lalu melepasnya ke kanvas pemrograman. Mereka menghubungkan berbagai blok dengan menghubungkannya.

Lingkungan pemrograman LEGO dengan program blok kata.

Siswa yang lebih mahir dapat memilih untuk menggunakan kode Python sungguhan secara langsung, yang dilengkapi dengan pusat informasi terintegrasi untuk mendukung siswa saat membuat kode.

Lingkungan pemrograman LEGO dengan program Python.

Setelah membuat program di aplikasi LEGO Education SPIKE, siswa mengirimkan program ke hub LEGO Education Spike Prime melalui koneksi Bluetooth atau USB. Hub menjalankan program dan mengontrol model LEGO.

Hardware yang disertakan

Otak kit SPIKE Education adalah hub, yang berfungsi mengontrol berbagai hardware lainnya seperti sensor dan motor. Kit ini mencakup sensor warna, sensor jarak, dan sensor gaya. Ada juga dua motor: satu besar, satu sedang. Hub terhubung ke komputer dengan Bluetooth atau USB.

Bagian yang dapat diprogram dari kit LEGO SPIKE Education.
Hub besar, tiga sensor untuk warna, jarak, dan gaya, serta dua motor.

Aplikasi yang didukung

Selain aplikasi khusus platform, LEGO juga menawarkan aplikasi web SPIKE, yang dapat diakses di spike.legoeducation.com. Aplikasi ini tidak di-cache di browser, sehingga pengguna harus selalu terhubung ke Internet agar aplikasi web dapat berfungsi.

LEGO secara resmi mendukung browser Chrome di Windows 10 dan 11, MacBook, serta Chromebook. Peningkatan cache dan kemampuan aplikasi yang dapat diinstal adalah fitur yang telah direncanakan untuk masa mendatang.

Menghubungkan ke SPIKE Hub

Hub SPIKE Prime dan hub SPIKE Essential dapat dihubungkan ke komputer menggunakan Bluetooth atau USB. Secara default, aplikasi web menggunakan Bluetooth dengan Web Bluetooth API.

Atau, aplikasi web menggunakan Web Serial API saat terhubung dengan USB. Dalam kedua kasus tersebut, selain kabel USB, alur koneksi hampir identik.

Aplikasi LEGO Education SPIKE dengan petunjuk koneksi USB.

Setelah terhubung, siswa mengupload program mereka ke salah satu dari 20 slot penyimpanan hub besar.

UI LEGO Education SPIKE 'Download to Hub'.

Untuk berkomunikasi dengan hub, Web Bluetooth dan Web Serial API memerlukan BluetoothDevice atau SerialPort. ID ini diperoleh dalam cuplikan kode yang diambil dari aplikasi live.

Koneksi Web Bluetooth API

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

Koneksi Web Serial API

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

Alasan untuk mengutamakan web dan menggunakan API hardware web

Saat ini, LEGO mempertahankan versi independen aplikasi mereka untuk Android, macOS/iPadOS, dan Windows; ditambah versi lama aplikasi khusus platform di atasnya, selain aplikasi web. Dengan mendorong aplikasi web pada platform yang mendukung API hardware web yang mendasarinya di Chrome, yaitu macOS, Windows, dan ChromeOS, developer LEGO dapat mengurangi beban pemeliharaan aplikasi mereka secara signifikan.

Alasan lainnya adalah ukuran download. Aplikasi web mendownload total kurang dari 20 MB, sedangkan aplikasi macOS dan iPadOS memiliki bobot 115 MB, aplikasi Android 178 MB, dan aplikasi Windows memiliki ukuran 292 MB. Namun penginstalan awal tidak menyertakan materi pelajaran yang dibutuhkan di kelas. Setelah mendownload materi ini, ukurannya akan meningkat hampir 1 GB. Di aplikasi web, konten pelajaran akan di-streaming, sehingga pengguna dapat selalu memiliki versi terbaru dan hanya mendownload pelajaran yang tepat yang mereka lihat.

Selain alasan teknis ini, kemudahan penggunaan Classroom adalah argumen kuat lainnya untuk mengutamakan web. Siswa tidak perlu menginstal aplikasi dan terus mengupdatenya. Sebaliknya, fitur ini cukup mengikuti link dan selalu berfungsi dengan versi terbaru. Mulai LEGO, pembaruan konten selalu dapat dilakukan, terpisah dari proses peninjauan app store.

Tinker dengan LEGO di web

LEGO selalu berusaha merakit batu bata secara kreatif, dan dengan LEGO Education SPIKE yang dapat diakses dari browser web, kit ini benar-benar direkomendasikan.

Komunitas developer sudah mulai membuat kode yang membahas SPIKE. Misalnya, PyREPL-JS dimulai oleh Gabriel Sessions di Tufts University. PyREPL-JS menyediakan MicroPython REPL (loop baca-eval-cetak) untuk halaman web guna berkomunikasi dengan hub SPIKE. Ethan Danahy, juga dari Tufts, menggunakan REPL ini untuk sejumlah Antarmuka Web untuk SPIKE Prime, salah satunya adalah alat pemecah pemecah yang disinkronkan ke file audio.

Universitas ini menyelenggarakan workshop tentang cara membuat Machine Learning dengan SPIKE dan menyelenggarakan Robotics Playground dengan petunjuk dan contoh kode. Tempat yang baik untuk memulai adalah Hello SPIKE.

Model LEGO penari melompat disinkronkan ke file audio.

Dengan memungkinkan siswa berkomunikasi dengan model LEGO fisik dari dalam browser, Web Serial Bluetooth API dan Web Bluetooth API membuka banyak kemungkinan untuk aplikasi pendidikan, kreatif, dan hiburan. Siswa akan selalu memiliki aplikasi versi terbaru tanpa perlu mengupdatenya.

Dalam jangka panjang, developer LEGO akan memiliki lebih sedikit aplikasi yang harus dikelola, yang berarti pengurangan biaya dan upaya pengembangan yang lebih sedikit, sehingga memberikan lebih banyak waktu untuk melakukan hal yang terkenal dengan fungsi LEGO: membuka kreativitas.