Tutorial

提醒

使用micro:bit v2的话,需要手动在 makecode 里刷入固件(推荐使用v1)
micro:bit v1 和 micro:bit v2 的radio可以通信。
只能用于 makecode radio, makecode radio 与 micropython radio不兼容。
Adapter 3.7.4 支持切换 radio channel。

介绍

我们在 CodeLab Adapter 深度连接 micro:bit (makecode)生态中提到

我们将一块 micro:bit 接入电脑,用作中转站(类似 usb dongle),用于在 CodeLab Adapter 和任何 micro:bit 套件做中转站。这里的一个背景知识是,任何的 micro:bit 直接可以通过 radio(简易的无线连接)方便地彼此通信。 在这个思路中,获得的一个意外收获是:能让任何电脑与 microbit 无线连接!即便没有蓝牙!

ps:在这个教程中,需要准备 2 块 micro:bit。其中一块用作消息中转(暂且称其为中转站),另一块用于实现项目功能(暂且称其为功能板)。

依赖

  • 安装CodeLab Adapter
  • 安装Chrome 浏览器
    • 目前 Scratch 官方团队在陆续支持更多浏览器版本,现阶段使用 Firefox/Chrome 浏览器效果最佳.
    • 建议将其设为默认浏览器.

步骤 1:hello MakeCode

从一个简单的例子开始:radio_nodeAdapter > 3.4

将上述代码 download 到功能板(2 块 micro:bit 中的一块)。

上述代码的功能是:

  1. 功能板收到来自 CodeLab Scratch 的消息时, 将在矩阵屏上显示出消息。
  2. 功能板A 按钮被按下时,发送字符a, B 按钮被按下时,发送字符bmicrobit -> scratch), 当用力摇晃时,发送字符shake

这样便完成了Scratch--无线microbot的双向通信:

*  `scratch -> microbit`
*  `microbit -> scratch`

注意

功能板收到的所有消息都是 字符串

步骤 2:拔下功能板,接上中转站,加载固件

使用数据线将中转站 micro:bit 接入电脑,刷入固件

提醒

Windows 7用户注意,无法发现 micro:bit,需要安装驱动(和使用 mu-editor 操作相同)
linux 用户注意,CodeLab Adapter 使用 usb 串口与 micro:bit 连接,linux 下,使用 usb 串口需要做权限设置:sudo chmod 666 /dev/ttyACM0

步骤 3:打开 Codelab Adapter

双击打开 Codelab Adapter。

Codelab Adapter 启动之后,将打开默认浏览器。

点击加载 extension_microbit_radio 插件

步骤 4:打开 Codelab Scratch3,构建自己的应用

点击 Web UI 上的scratch3链接, 或者点击这儿, 将打开如下页面:

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

在此展示一个简单例子:使用 A、B 按钮让角色出现和消失。你可以在线打开它 radio_hello_world_demo

总结

根据以上的模版,加以调整,你可以自行构建自己的应用。

完整项目

fire!

我们使用 micro:bit 来赋予淘宝上的普通魔杖以魔法。一共需要 3 个 micro:bit,一个用作中转站,一个用作可穿戴手表(micro:bit 绑在表带上),一个用作投石器。

当我们挥动魔杖时,触发投石器开关,fire!

以下是源码

我们来关注下以上 2 个 micro:bit 中信息的流向,

可穿戴设备,信息的流向是:micro:bit -> Scratch

投石器信息的流向为:Scratch -> micro:bit

提醒

运行项目时,记得把 CodeLab Adapter 运行起来。

Scratch 翻页笔

硬件方面,使用了2个microbit:

  • 作为翻页笔的手持的microbit: 固件
  • 作为中转站(dongle)的microbit: 固件

它们之间基于 radio 通信(micro:bit radio

Scratch 程序参考 Scratch-翻页笔-demo.sb3