
LEGO® Education SPIKE™ Prime 套装是一款面向 6 到 8 年级(约 11 到 13 周岁)学生的 STEAM(科学、技术、工程、艺术和数学)学习工具。
SPIKE Prime 结合了色彩鲜艳的乐高积木构件、易于使用的硬件以及基于 Scratch 和 Python 的直观拖放式编码语言,通过富有趣味的学习活动,让学生不断参与其中,无论他们的学习水平如何,都能培养批判性思维并解决复杂问题,同时还能乐在其中!
编程经验
学生可以使用图标块、文字块(默认)或 Python 代码来编程其模型。编程环境改编自 Scratch 编辑器,许多学生在学校接受早期 STEAM 教育时就已经熟悉了该编辑器。
在这两种可视化模式下,学生可以通过将块拖放到编程画布上来连接这些块。它们通过连接来关联各种块。

水平较高的学生可以选择直接使用真实的 Python 代码,这些代码附带集成的知识库,可在学生编码时为他们提供支持。

在 LEGO Education SPIKE 应用中创建程序后,学生可以通过蓝牙或 USB 连接将程序发送到 LEGO Education Spike Prime 集线器。集线器会执行程序并控制乐高模型。
随附的硬件
SPIKE Education Kit 的大脑是集线器,用于控制传感器和电机等各种其他硬件。该套件包含颜色传感器、距离传感器和力传感器。还有两个电机:一个大,一个中。集线器通过蓝牙或 USB 连接到计算机。

支持的应用
除了平台专用应用之外,LEGO 还提供 SPIKE Web 应用,您可以访问 spike.legoeducation.com 使用该应用。该应用不会缓存在浏览器中,因此用户始终需要连接到互联网才能使用该 Web 应用。
LEGO 官方支持 Windows 10 和 11、MacBook 和 Chromebook 上的 Chrome 浏览器。我们计划在未来推出缓存改进和应用安装功能。
连接到 SPIKE Hub
SPIKE Prime 集线器和 SPIKE Essential 集线器可以使用蓝牙或 USB 连接到计算机。默认情况下,Web 应用会将蓝牙与 Web Bluetooth API 搭配使用。
或者,在通过 USB 连接时,Web 应用会使用 Web Serial API。在这两种情况下,除了 USB 线之外,连接流程几乎完全相同。

连接后,学生将自己的程序上传到大型集线器的 20 个存储槽之一。

如需与集线器通信,Web Bluetooth API 和 Web Serial API 分别需要 BluetoothDevice
或 SerialPort
。这些信息可从从真实应用中提取的代码段中获取。
Web Bluetooth API 连接
(X.next = 4),
navigator.bluetooth.requestDevice({
filters: [
{
namePrefix: 'GDX',
},
],
optionalServices: ['d91714ef-28b9-4f91-ba16-f0d9a604f112'],
});
Web Serial API 连接
const v = yield navigator.serial.requestPort({
filters: [{
usbVendorId: Zt.SerialVendorId.LEGO // 1684
}]
});
yield v.open({
baudRate: 115200
});
优先采用 Web 版并使用 Web 硬件 API 的原因
目前,LEGO 除了 Web 应用之外,还维护适用于 Android、macOS/iPadOS 和 Windows 的独立版本,以及适用于特定平台的旧版。通过在支持 Chrome 中底层 Web 硬件 API 的平台(即 macOS、Windows 和 ChromeOS)上推送 Web 应用,LEGO 开发者可以显著减轻应用维护负担。
另一个原因是下载大小。Web 应用的总下载量不到 20 MB,而 macOS 和 iPadOS 应用的大小为 115 MB、Android 应用的大小为 178 MB,Windows 应用的大小为 292 MB。不过,初始安装不包含课堂所需的课程资料。下载此资料后,其大小增加了近 1 GB。在 Web 应用中,系统会流式传输课程内容,以便用户始终拥有最新版本,并且只下载他们正在观看的确切课程。
除了这些技术原因之外,课堂使用简单也是采用 Web 优先模式的另一个有力理由。学生无需安装应用并保持其更新。而是只需点击链接,即可始终使用最新版本。从乐高方面来说,我们可以随时更新内容,而无需遵循应用商店审核流程。
在网页上拼搭乐高
LEGO 一直以富有创意地组装积木为己任,而 LEGO Education SPIKE 可通过网络浏览器访问,因此本套件也不例外。
开发者社区已经开始创建与 SPIKE 交互的代码。例如,PyREPL-JS 是由塔夫茨大学的 Gabriel Sessions 发起的。PyREPL-JS 提供了 MicroPython REPL(读取-求值-输出循环),供网页与 SPIKE 集线器通信。同样来自塔夫茨大学的 Ethan Danahy 随后将此 REPL 用于多个 SPIKE Prime 的 Web 界面,其中之一就是与音频文件同步的舞者。
该大学举办了一场关于使用 SPIKE 进行机器学习的研讨会,并提供了包含说明和代码示例的 Robotics Playground。不妨从 Hello SPIKE 开始。

Web Serial API 和 Web Bluetooth API 允许学生在浏览器中与实体乐高模型通信,为教育、创意和娱乐应用打开了无限可能。学生将始终使用最新版本的应用,而无需进行更新。
从长远来看,LEGO 开发者需要维护的应用会更少,这意味着费用和开发工作量会减少,从而有更多时间做 LEGO 最擅长的事情:释放创造力。