Cách LEGO® Education sử dụng Web Bluetooth và Web Serial API

Mô hình vũ công nhảy múa được lắp ráp từ LEGO.

LEGO® Education SPIKETM Prime Set là công cụ học tập STEAM (khoa học, công nghệ, kỹ thuật, nghệ thuật và toán học) dành cho học sinh từ lớp 6 đến lớp 8 (khoảng từ 11 đến 13 tuổi).

Kết hợp các thành phần xây dựng LEGO nhiều màu sắc, phần cứng dễ sử dụng và ngôn ngữ mã hoá kéo và thả trực quan dựa trên Scratch và Python, SPIKE Prime liên tục tương tác với học sinh thông qua các hoạt động học tập vui nhộn để tư duy phản biện và giải quyết các vấn đề phức tạp, bất kể trình độ học tập của các em... đồng thời giải trí!

Kinh nghiệm lập trình

Học viên sử dụng khối biểu tượng, khối từ (mặc định) hoặc mã Python để lập trình mô hình. Môi trường lập trình được điều chỉnh từ Trình chỉnh sửa Scratch, quen thuộc với nhiều học sinh từ những giai đoạn giáo dục STEAM ở giai đoạn đầu.

Ở 2 chế độ hình ảnh, học viên sẽ nối các khối bằng cách kéo và thả vào canvas lập trình. Chúng nối các khối khác nhau bằng cách nối chúng.

Môi trường lập trình LEGO với chương trình khối từ.

Những học viên thành thạo hơn có thể chọn trực tiếp sử dụng mã Python thực, cùng với một cơ sở kiến thức tích hợp để hỗ trợ cho học viên trong quá trình lập trình.

Môi trường lập trình LEGO với chương trình Python.

Sau khi tạo một chương trình trong ứng dụng SPIKE của LEGO Education, học viên sẽ gửi chương trình đó đến trung tâm LEGO Education Spike Prime qua kết nối Bluetooth hoặc USB. Trung tâm thực thi chương trình và điều khiển mô hình LEGO.

Phần cứng đi kèm

Bộ não của bộ công cụ SPIKE Education là trung tâm có chức năng điều khiển nhiều phần cứng khác nhau như cảm biến và động cơ. Bộ công cụ này bao gồm một cảm biến màu, cảm biến khoảng cách và cảm biến lực. Ngoài ra còn có hai động cơ: một lớn và một trung bình. Trung tâm này kết nối với máy tính bằng Bluetooth hoặc USB.

Các bộ phận có thể lập trình của bộ công cụ LEGO SPIKE Education.
Trung tâm lớn, 3 cảm biến màu sắc, khoảng cách và lực, 2 động cơ.

Ứng dụng được hỗ trợ

Ngoài các ứng dụng dành riêng cho nền tảng, LEGO còn cung cấp ứng dụng web SPIKE, có thể truy cập tại spike.legoeducation.com. Ứng dụng này không được lưu vào bộ nhớ đệm trong trình duyệt, vì vậy, người dùng luôn cần phải kết nối với Internet để ứng dụng web hoạt động.

LEGO chính thức hỗ trợ các trình duyệt Chrome trên Windows 10 và 11, MacBook và Chromebook. Cải tiến tính năng lưu vào bộ nhớ đệm và giúp ứng dụng có thể cài đặt là các tính năng được lên kế hoạch cho tương lai.

Kết nối với SPIKE Hub

Bạn có thể kết nối trung tâm SPIKE Prime và SPIKE Essential với máy tính bằng Bluetooth hoặc USB. Theo mặc định, ứng dụng web sử dụng Bluetooth bằng API Bluetooth cho web.

Ngoài ra, ứng dụng web còn dùng Web Serial API khi được kết nối bằng USB. Trong cả hai trường hợp, ngoài cáp USB, quy trình kết nối gần như giống hệt nhau.

Ứng dụng LEGO Education SPIKE có hướng dẫn kết nối USB.

Sau khi kết nối, học viên sẽ tải chương trình lên một trong 20 khe bộ nhớ của trung tâm lớn.

Giao diện người dùng "Tải xuống thiết bị" của LEGO Education SPIKE.

Để giao tiếp với trung tâm, Web Bluetooth và Web Serial API cần có BluetoothDevice hoặc SerialPort tương ứng. Bạn có thể lấy các mã này trong đoạn mã lấy từ ứng dụng đang hoạt động.

Kết nối API Web Bluetooth

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

Kết nối API Web Serial

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

Lý do nên ưu tiên web và sử dụng API phần cứng web

Hiện tại, LEGO duy trì các phiên bản độc lập của ứng dụng dành cho Android, macOS/iPadOS và Windows; cùng với phiên bản cũ của các ứng dụng dành riêng cho nền tảng, ngoài ứng dụng web. Bằng cách đẩy ứng dụng web trên các nền tảng hỗ trợ các API phần cứng web cơ bản trong Chrome, cụ thể là macOS, Windows và ChromeOS, nhà phát triển LEGO có thể giảm đáng kể gánh nặng bảo trì ứng dụng.

Một lý do khác là do kích thước tải xuống. Ứng dụng web tải xuống tổng cộng chưa đến 20 MB, trong khi ứng dụng macOS và iPadOS có dung lượng là 115 MB, ứng dụng Android có kích thước 178 MB và ứng dụng Windows có dung lượng là 292 MB. Tuy nhiên, bản cài đặt ban đầu không bao gồm tài liệu bài học cần thiết trong lớp học. Sau khi tải tài liệu này xuống, kích thước sẽ tăng thêm gần 1 GB. Trên ứng dụng web, nội dung bài học sẽ được truyền trực tuyến, cho phép người dùng luôn có phiên bản mới nhất và chỉ tải chính xác bài học mà họ đang xem.

Ngoài những lý do kỹ thuật này, tính đơn giản của việc sử dụng trong lớp học là một lập luận thuyết phục khác để ưu tiên web. Học viên không cần cài đặt và cập nhật ứng dụng đó. Thay vào đó, các trình xử lý này chỉ đi theo một đường liên kết và luôn hoạt động với phiên bản mới nhất. Từ phía LEGO, bạn luôn có thể cập nhật nội dung mà không phụ thuộc vào quy trình đánh giá của cửa hàng ứng dụng.

Tinker với LEGO trên web

LEGO luôn tập trung vào việc lắp ráp các khối hình một cách sáng tạo và với việc LEGO Education tớiSPIKE có thể được truy cập qua các trình duyệt web, bộ công cụ này cũng không phải là ngoại lệ.

Cộng đồng nhà phát triển đã bắt đầu tạo mã tương thích vớiSPIKE. Ví dụ: Py Phòng-JS được tạo bởi Gabriel Sessions tại Đại học Tufts. Py Vui-Python-JS cung cấp một MicroPython REPL (vòng lặp đọc – eval–print) cho các trang web để giao tiếp với trung tâm SPIKE. Ethan Danahy, cũng làm việc tại Tufts, sau đó sử dụng REPL này cho một số Giao diện web cho SPIKE Prime, một trong số đó là trình phá vỡ được đồng bộ hoá với tệp âm thanh.

Trường đại học này đã tổ chức một hội thảo về chủ đề Học máy với SPIKE và tổ chức Sân chơi robot với các hướng dẫn và mã mẫu. Một nơi phù hợp để bắt đầu là Xin chào SPIKE.

Mô hình LEGO của breakdancer đã được đồng bộ hoá với một tệp âm thanh.

Bằng cách cho phép học sinh giao tiếp với các mô hình LEGO thực tế ngay trong trình duyệt, các API Web Serial và Web Bluetooth sẽ mở ra vô vàn khả năng cho các ứng dụng giáo dục, sáng tạo và giải trí. Học viên sẽ luôn có phiên bản mới nhất của ứng dụng mà không cần phải cập nhật.

Về lâu dài, các nhà phát triển LEGO sẽ phải duy trì ít ứng dụng hơn, đồng nghĩa với việc giảm chi phí và tốn ít công sức phát triển hơn, nhờ đó có nhiều thời gian hơn để thực hiện điều mà LEGO nổi tiếng nhất: khai phá khả năng sáng tạo.