{{indexmenu_n>2}}====== Scratch的扩展机制 ====== Scratch用不到开源硬件?错! 早期Scratch通过第三方服务来支持硬件编程,如在Scratch 1.0的第三方工具S4A是由伯克利大学的一个软件团队来开发的,对 Arduino 进行了兼容。Scratch 3.0 能够更好地支持外部硬件,例如 micro:bit、乐高 WeDo2.0 科学机器人套装和头脑风暴教育EV3机器人等。树莓派也同时支持 Scratch 2 和 Scratch 3。 虽然Scratch对开源硬件的支持相对原始而薄弱,但这与其开发定位是相称的。 ===== 增加micro:bit指令 ===== {{:40.oshw:micro_bit:code-workspace-with-script.png|}} 最新发布的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 ===== {{:50.program:scratch:toys_party.jpeg|}} 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,点击启动,弹出界面: {{:50.program:scratch:20191110150958.png|}} 步骤 2: 打开 Codelab Scratch3 Codelab Adapter 启动之后,将自动打开Chrome 浏览器。odeLab Adapter v2 Web UI列出所官方内置的插件: {{:50.program:scratch:adapter_scratch_style_ui.png|}} * 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/,页面如下: {{:50.program:scratch:codelab-scratch3.png|}} 图中箭头所指的小圆点呈现绿色,说明 Codelab Adapter 与 Scratch3.0 的连接正常。 步骤 3: 连接 micro:bit,加载插件 连接 micro:bit,下载并烧录usb_Microbit_frimeware.hex 文件。完成后在 CodeLab Adapter 中点击加载 usb micro:bit 插件: {{:50.program:scratch:open_usbmicrobit_scratch_style.png|}} micro:bit 背后的信号灯高频闪烁,如果它没有高频闪烁,则按一下 micro:bit 背部的复位按钮。 步骤 4: hello world 择对应的 Scratch3 插件: usb microbit,开始利用 Scratch3 控制 micro:bit。拓展积木后点击运行即可。 如果你想接入的设备目前没有默认插件支持它,你可以自己来写, CodeLab Adapter 允许你将任何硬件接入 scratch3.0 中,别害怕,需要的代码很少也很简单,详情参见开发手册。 CodeLab Adapter支持使用任何编程语言来写拓展。 官方手册:https://adapter.codelab.club/