用户工具

站点工具


侧边栏

program:scratch:adapter

Scratch的扩展机制

Scratch用不到开源硬件?错!

早期Scratch通过第三方服务来支持硬件编程,如在Scratch 1.0的第三方工具S4A是由伯克利大学的一个软件团队来开发的,对 Arduino 进行了兼容。Scratch 3.0 能够更好地支持外部硬件,例如 micro:bit、乐高 WeDo2.0 科学机器人套装和头脑风暴教育EV3机器人等。树莓派也同时支持 Scratch 2 和 Scratch 3。

虽然Scratch对开源硬件的支持相对原始而薄弱,但这与其开发定位是相称的。

增加micro:bit指令

最新发布的Scratch3.0在硬件方面最先支持的除了LEGO机器人,另外一个就是micro:bit。使用Scratch对micro:bit编程,首先需要在Scratch 3.0上连接micro:bit:

  • 根据计算机的操作系统,下载并安装适合的Scratch Link,并启动;
  • 下载Scratch micro:bit HEX文件,并存入micro:bit;
  • 在Scratch扩展列表中选择micro:bit,并选择连接BBC micro:bit;
  • 使用Scratch增加的micro:bit指令区编程。

实际上,在初学者熟悉Scratch 3拖拽编程后,可以转向MakeCode编辑器,利用其 块编辑器 > 语言编辑器 的一键切换功能,实现编程的平滑过渡,包括Javascript和Python。

官方教程:https://scratch.mit.edu/microbit

Codelab-Adapter

CodeLab Adapter (最初的名字叫 Scratch Adapter)是由CodeLab构建的基础项目,致力于连接万物,无论是软件还是硬件,无论是 AI、开源硬件、现实世界的物体、还是虚拟世界的动画角色,在 CodeLab Adapter 的驱动下,皆可彼此互动。

CodeLab Adapter 的一个典型用例,是将任何有趣的东西接入 Scratch3.0,接入之后你便能用 Scratch3.0 的积木来操控它,让它与任何接入 Scratch3.0 的物体互动。

除了 Scratch3.0,CodeLab Adapter 目前也支持 Blockly、 Python、Javascript、SmallTalk等编程语言,以及micro:bit、Arduino和树莓派等开源硬件。

  • CodeLab Adapter killer 特性之一是允许普通用户使用 Python 拓展 Scratch 的能力;
  • CodeLab Adapter killer 特性之二是允许开发者和公司使用 Python 构建自定义的插件,轻松将任何硬件/AI/IOT 设备接入到 Scratch3.0 中。

以下以在Codelab Scratch3.0中基于 USB使用 micro:bit为例。

步骤 1: 安装Chrome 浏览器和启动Codelab Adapter

Codelab Adapter依赖Chrome 浏览器。

下载Codelab Adapter,目前最新版本是2.5.3,文件名codelab-adapter-win-2_5_3.exe,点击启动,弹出界面:

步骤 2: 打开 Codelab Scratch3

Codelab Adapter 启动之后,将自动打开Chrome 浏览器。odeLab Adapter v2 Web UI列出所官方内置的插件:

  • extension_eim_monitor:使用Python处理来自Scratch的消息
  • extension_eim_trigger:使用Python往Scratch中发送消息
  • extension_python_kernel:将codelab-adapter用作Python解释器
  • extension_webserver: 将CodeLab Adapter 当作 web 服务器,构建自己的网站。
  • extension_usb_microbit:基于USB使用micro:bit

进入http://scratch3v2.codelab.club/,页面如下:

图中箭头所指的小圆点呈现绿色,说明 Codelab Adapter 与 Scratch3.0 的连接正常。

步骤 3: 连接 micro:bit,加载插件

连接 micro:bit,下载并烧录usb_Microbit_frimeware.hex 文件。完成后在 CodeLab Adapter 中点击加载 usb micro:bit 插件:

micro:bit 背后的信号灯高频闪烁,如果它没有高频闪烁,则按一下 micro:bit 背部的复位按钮。

步骤 4: hello world

择对应的 Scratch3 插件: usb microbit,开始利用 Scratch3 控制 micro:bit。拓展积木后点击运行即可。

如果你想接入的设备目前没有默认插件支持它,你可以自己来写, CodeLab Adapter 允许你将任何硬件接入 scratch3.0 中,别害怕,需要的代码很少也很简单,详情参见开发手册。 CodeLab Adapter支持使用任何编程语言来写拓展。

官方手册:https://adapter.codelab.club/

program/scratch/adapter.txt · 最后更改: 2019/12/15 15:28 由 222.211.253.245