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

Mô hình vũ công breakdance đượ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).

Kết hợp các khối 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 viên 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 họ là gì... trong khi vẫn có thể vui chơi!

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 cho các mô hình của mình. Môi trường lập trình này được điều chỉnh từ trình chỉnh sửa Scratch, vốn đã quen thuộc với nhiều học sinh từ chương trình giáo dục STEAM 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ả chúng vào canvas lập trình. Họ kết nối các khối với nhau.

Môi trường lập trình LEGO có một chương trình khối từ.

Những học viên có trình độ cao hơn có thể chọn sử dụng trực tiếp mã Python thực. 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 quá trình 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 qua kết nối Bluetooth hoặc USB. Hub sẽ thực thi chương trình và điều khiển mô hình LEGO.

Phụ kiện lắp đặt đ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 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ó 2 động cơ: một lớn, 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ộ LEGO SPIKE Education.
Hub lớn, 3 cảm biến về màu sắc, khoảng cách và lực, cùng 2 động cơ.

Cá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 kết nối vớ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 thiện việc lưu vào bộ nhớ đệm và giúp ứng dụng có thể cài đặt là những tính năng dự kiến sẽ ra mắt trong tương lai.

Kết nối với Hub 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ẽ sử dụng Bluetooth với Web Bluetooth API.

Ngoài ra, ứng dụng web sẽ 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 qua 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 vị trí lưu trữ của trung tâm lớn.

Giao diện người dùng "Tải xuống Hub" 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 đang hoạt động.

Kết nối Web Bluetooth API

(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 các 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 cho Android, macOS/iPadOS và Windows; ngoài ra còn có các phiên bản cũ của các ứng dụng dành riêng cho nền tảng ở trên, 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, các nhà phát triển của 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ả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ó dung lượng 115 MB, ứng dụng Android có dung lượng 178 MB và ứng dụng Windows có dung lượng 292 MB. Tuy nhiên, lần cài đặt ban đầu không bao gồm tài liệu cần thiết cho bài học 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 phát trực tuyến, nhờ đó người dùng luôn có phiên bản mới nhất và chỉ tải xuống đúng bài học mà họ đang xem.

Ngoài những lý do kỹ thuật này, sự đơn giản khi sử dụng trong lớp học là một lý do thuyết phục 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 đó, họ chỉ cần nhấp vào một đường liên kết và luôn làm việc với phiên bản mới nhất. Về phía LEGO, nội dung có thể được cập nhật bất cứ lúc nào, độc lập với quy trình xem xét của cửa hàng ứng dụng.

Thử nghiệm với LEGO trên web

LEGO luôn hướng đến việc lắp ráp các viên gạch một cách sáng tạo. Với LEGO Education SPIKE có thể truy cập được từ trình duyệt web, bộ sản phẩm này cũng không ngoại lệ.

Cộng đồng nhà phát triển đã bắt đầu tạo mã tương tác với SPIKE. Ví dụ: PyREPL-JS do Gabriel Sessions tại Đại học Tufts khởi xướng. PyREPL-JS cung cấp một MicroPython REPL (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ừ Tufts, sau đó sử dụng REPL này cho một số Giao diện web cho SPIKE Prime, một trong số đó là vũ công breakdance được đồng bộ hoá với một tệp âm thanh.

Trường đại học này đã tổ chức một hội thảo về việc Học máy bằng SPIKE và tổ chức một Sân chơi Robotics kèm theo hướng dẫn và các mẫu mã. Một nơi lý tưởng để bắt đầu là 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ế ngay trong trình duyệt, Web Serial API 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 mới nhất của ứng dụng mà không cần cập nhật.

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