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

Mô hình vũ công bẻ cong được lắp ráp từ LEGO.

Bộ LEGO® Education SPIKE™ Prime là một 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 11 đến 13 tuổi).

Bằng cách kết hợp các thành phần xây dựng LEGO đầy màu sắc, phần cứng dễ sử dụng và ngôn ngữ lập trình kéo và thả trực quan dựa trên Scratch và Python, SPIKE Prime liên tục thu hút học sinh thông qua các hoạt động học tập vui nhộn để suy nghĩ một cách phê phá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… trong khi vẫn có niềm vui!

Kinh nghiệm lập trình

Học viên sử dụng các khối biểu tượng, khối từ (mặc định) hoặc mã Python để lập trình mô hình của mì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 đã được học chương trình STEAM từ sớm ở trường.

Trong hai chế độ trực quan, học viên kết nối các khối bằng cách kéo và thả các khối đó vào canvas lập trình. Các thành phần kết hợp này kết nối các khối khác nhau bằng cách kết nối các khối đó.

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

Học viên nâng cao có thể chọn sử dụng trực tiếp mã Python thực tế, mã này đi kèm với một cơ sở kiến thức tích hợp để hỗ trợ học viên trong khi họ lập trình.

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

Sau khi tạo một chương trình trong ứng dụng LEGO Education SPIKE, học viên sẽ gửi chương trình đó đến trung tâm LEGO Education Spike Prime thông qua kết nối Bluetooth hoặc USB. Trung tâm này 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 như cảm biến và động cơ. Bộ này bao gồm 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 động cơ lớn và một động cơ trung bình. Hub kết nối với máy tính bằng Bluetooth hoặc USB.

Các phần có thể lập trình của bộ LEGO SPIKE Education.
Bộ trung tâm lớn, 3 cảm biến cho màu sắc, khoảng cách và lực, cùng 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ũng cung cấp ứng dụng web SPIKE. Bạn có thể truy cập vào ứng dụng này 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 Internet để ứng dụng web hoạt động.

LEGO chính thức hỗ trợ trình duyệt Chrome trên Windows 10 và 11, MacBook và Chromebook. Các tính năng cải tiến về bộ nhớ đệm và cài đặt ứng dụng là những tính năng dự kiến trong tương lai.

Kết nối với Trung tâm SPIKE

Bạn có thể kết nối trung tâm SPIKE Prime và trung tâm 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 với API Web Bluetooth.

Ngoài ra, ứng dụng web sử dụng Web Serial API khi kết nối với 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 của mình lên một trong 20 khe lưu trữ của trung tâm lớn.

Giao diện người dùng "Tải xuống Trung tâm" 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. Các giá trị này được lấy trong các đoạn mã lấy từ ứng dụng trực tiếp.

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 Web Serial API

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 các 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ợ API phần cứng web cơ bản trong Chrome, cụ thể là macOS, Windows và ChromeOS, các 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à kích thước tệp tải xuống. Ứng dụng web tải xuống tổng cộng dưới 20 MB, trong khi ứng dụng macOS và iPadOS có kích thước 115 MB, ứng dụng Android có kích thước 178 MB và ứng dụng Windows có kích thước 292 MB. Tuy nhiên, quá trình 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 đượ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 xuống bài học chính xác mà họ đang xem.

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

Chơi LEGO trên web

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

Cộng đồng nhà phát triển đã bắt đầu tạo mã giao tiếp với SPIKE. Ví dụ: PyREPL-JS là do Gabriel Sessions khởi tạo tại Đại học Tufts. PyREPL-JS cung cấp một REPL MicroPython (vòng lặp đọc – đánh giá – in) cho các trang web để giao tiếp với trung tâm SPIKE. Ethan Danahy, cũng đến từ Đại học Tufts, sau đó sử dụng REPL này cho một số Giao diện web cho SPIKE Prime, một trong số đó là người nhảy breakdance đượ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ề việc thực hiện Học máy bằng SPIKE và tổ chức Robotics Playground (Sân chơi Robot) với hướng dẫn và mã mẫu. Bạn có thể bắt đầu bằng cách tham gia khoá học Hello SPIKE.

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

Bằng cách cho phép học viên giao tiếp với các mô hình LEGO thực tế từ trong trình duyệt, Web Serial và Web Bluetooth API 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 ứng dụng mới nhất mà không cần cập nhật.

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