Bagaimana LEGO® Education menggunakan Bluetooth Web dan Web Serial API

Model breakdancer yang dirakit dari LEGO.

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

Dengan menggabungkan elemen konstruksi 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 memecahkan masalah kompleks, terlepas dari tingkat pembelajaran mereka… sambil bersenang-senang!

Pengalaman pemrograman

Siswa menggunakan blok ikon, blok kata (default), atau kode Python untuk memprogram model mereka. Lingkungan pemrograman diadaptasi dari editor Scratch, yang sudah dikenal oleh banyak siswa sejak pendidikan STEAM awal 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 yang sebenarnya secara langsung, yang dilengkapi dengan basis pengetahuan terintegrasi untuk mendukung siswa saat mereka membuat kode.

Lingkungan pemrograman LEGO dengan program Python.

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

Hardware yang disertakan

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

Bagian kit LEGO SPIKE Education yang dapat diprogram.
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 berfungsi.

LEGO secara resmi mendukung browser Chrome di Windows 10 dan 11, MacBook, dan Chromebook. Peningkatan cache dan membuat aplikasi dapat diinstal adalah fitur yang 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 'Download to Hub' LEGO Education SPIKE.

Untuk berkomunikasi dengan hub, Web Bluetooth dan Web Serial API masing-masing memerlukan BluetoothDevice atau SerialPort. 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 menggunakan web-first dan menggunakan API hardware web

Saat ini, LEGO mempertahankan versi independen aplikasinya untuk Android, macOS/iPadOS, dan Windows; serta versi lama aplikasi khusus platform di atasnya, selain aplikasi web. Dengan mendorong aplikasi web di 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 didownload dengan total kurang dari 20 MB, sedangkan aplikasi macOS dan iPadOS berukuran 115 MB, aplikasi Android 178 MB, dan aplikasi Windows berukuran 292 MB. Namun, penginstalan awal tidak menyertakan materi pelajaran yang diperlukan di ruang kelas. Setelah mendownload materi ini, ukuran akan bertambah hampir 1 GB. Di aplikasi web, konten pelajaran di-streaming, sehingga pengguna selalu memiliki versi terbaru dan hanya mendownload pelajaran yang sedang mereka lihat.

Selain alasan teknis ini, kemudahan penggunaan Classroom adalah argumen kuat lainnya untuk menggunakan web-first. Siswa tidak perlu menginstal aplikasi dan terus mengupdatenya. Sebagai gantinya, mereka hanya mengikuti link dan selalu menggunakan versi terbaru. Dari pihak LEGO, pembaruan konten selalu dapat dilakukan, terlepas dari proses peninjauan app store.

Bermain dengan LEGO di web

LEGO selalu tentang menyusun balok secara kreatif, dan dengan LEGO Education SPIKE yang dapat diakses dari browser web, kit ini tidak terkecuali dari aturan.

Komunitas developer telah mulai membuat kode yang berkomunikasi dengan SPIKE. Misalnya, PyREPL-JS dimulai oleh Gabriel Sessions di Universitas Tufts. PyREPL-JS menyediakan MicroPython REPL (read–eval–print loop) untuk halaman web agar dapat berkomunikasi dengan hub SPIKE. Ethan Danahy, yang juga berasal dari Tufts, kemudian menggunakan REPL ini untuk sejumlah Antarmuka Web untuk SPIKE Prime, salah satunya adalah breakdancer yang disinkronkan ke file audio.

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

Model LEGO breakdancer disinkronkan ke file audio.

Dengan memungkinkan siswa berkomunikasi dengan model LEGO fisik dari dalam browser, Web Serial dan Web Bluetooth API membuka segudang 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 untuk dikelola, yang berarti biaya lebih rendah dan lebih sedikit upaya pengembangan, sehingga lebih banyak waktu untuk melakukan hal yang paling dikenal LEGO: memicu kreativitas.