内容提要
MicroBlocks内置了WiFi Radio库,用于支持板子之间的通信。用户可以利用计算机的算力,驱动硬件设备,构建dashboard面板,观察WiFi radio网络中的消息等。Python、Scratch和Snap!都可以与MicroBlocks驱动的板子实时通信。Scratch和Snap!需要使用CodeLab Adapter增强,然后下载并安装WiFi Radio插件。WiFi Radio库与MicroBlocks内置的API完全相同,支持双向WiFi广播消息。与Simple BLE Radio库相比,WiFi Radio速度更快,消息送达率更高。
延伸解读
WiFi Radio 与 Simple BLE Radio 的适用场景
WiFi Radio 和 Simple BLE Radio 是 MicroBlocks 中两种相近的通信方式,但适用场景不同。WiFi Radio 速度更快、消息送达率更高,适合对实时性要求较高的场景;而 Simple BLE Radio 功耗更低,且能支持 micro:bit 这类没有 WiFi 功能的板子。选择时需权衡速度、可靠性与功耗、硬件兼容性。
计算机与板子通信的典型用途
WiFi Radio 库让计算机能直接与 MicroBlocks 板子通信,发挥计算机的算力优势。典型用例包括:在机器视觉项目中,用 Python 在计算机上处理图像并实时驱动硬件;用 Scratch 或 Snap! 构建 dashboard 面板,控制多个设备;或编写 monitor 程序观察网络中的消息,辅助调试和教学演示。
Scratch 与 Snap! 的支持差异
Scratch 和 Snap! 都需要通过 CodeLab Adapter 增强并安装 WiFi Radio 插件才能与 MicroBlocks 板子通信。目前 Scratch 仅支持消息从 Scratch 发往 MicroBlocks,未来可能推出正式插件支持双向广播;而 Snap! 的 WiFi 广播库与 MicroBlocks 内置 API 完全相同,已支持双向消息。
Q&A
MicroBlocks 的 WiFi Radio 库是什么?它有什么作用?
MicroBlocks 内置的 WiFi Radio 库用于支持板子之间的通信。连到同一个网络里的板子,可以使用该库相互广播消息,使用起来像 micro:bit radio 库。
WiFi Radio 库是基于什么协议实现的?支持哪些编程环境?
WiFi Radio 基于 UDP 实现。因此支持 UDP 的编程环境(大多数都支持)都能够加入到 MicroBlocks WiFi Radio 网络里。
如何让 Scratch 或 Snap! 与 MicroBlocks 板子通过 WiFi Radio 通信?
Scratch 和 Snap! 需要使用 CodeLab Adapter 增强,并下载安装 WiFi Radio 插件。下载并运行 CodeLab Adapter(需关掉翻墙软件)后,在 webui 里搜索并下载相关插件即可使用。
WiFi Radio 和 Simple BLE Radio 有什么区别?
WiFi Radio 速度更快,且消息送达率更高;而 Simple BLE Radio 功耗更低,支持 micro:bit 这样不支持 WiFi 的板子。
在 Scratch 中使用 WiFi Radio 能实现双向通信吗?
目前在 Scratch 中,只允许消息从 Scratch 发往 MicroBlocks。未来可能会在 Scratch 里推出正式插件,支持双向 WiFi 广播功能。
WiFi Radio 有哪些典型的应用场景?
典型用例包括:利用计算机的强大算力(如机器视觉项目中,Python 视觉处理程序驱动硬件设备);在计算机上构建 dashboard 面板(如 Scratch 和 Snap!)驱动多个设备;在计算机上观察 WiFi radio 网络中流动的消息,用于调试或展示。