MicroBlocks 蓝牙客户端库

MicroBlocks 蓝牙客户端库

💡 原文中文,约1100字,阅读约需3分钟。
📝

内容提要

MicroBlocks蓝牙客户端库允许板子连接蓝牙外围设备,并与其通信。使用场景包括驱动乐高全家桶和其他蓝牙设备,让板子作为蓝牙客户端,连接多个蓝牙设备并交换消息。使用该库需要刷入特殊固件,可以在线刷入。该库可以用于构建各种蓝牙驱动库,如toio。toio的蓝牙协议开放,可以基于协议构建新的积木。

🔎

延伸解读

从电脑到板子:蓝牙客户端运行位置的转变

以往蓝牙客户端程序多在电脑上运行,MicroBlocks 蓝牙客户端库将这一角色转移到板子上。板子直接作为客户端连接外围设备,无需电脑参与,因此可以带到户外使用。这种转变降低了对外部计算设备的依赖,也让交互逻辑完全在图形化环境中编写,适合快速搭建和演示。

通用积木库与专用驱动库的分层设计

蓝牙客户端库本身是通用积木库,不绑定具体设备。用户可基于它构建针对不同蓝牙设备的驱动库,例如已提供的 toio 驱动库。这种分层设计让同一底层库能适配乐高、toio、Kano Wand 等多种设备,也方便社区扩展新设备支持。

多设备中转:板子作为消息枢纽的潜力

板子可同时连接多个蓝牙设备并充当消息中转站,使设备之间交换消息。交互逻辑用 MicroBlocks 编写,例如用 Kano Wand 驱动 toio。这种模式无需电脑和额外配置,适合演示场景,也展示了板子作为轻量级物联网枢纽的可能性。

使用前提:特殊固件与设备兼容性

使用蓝牙客户端库需要先刷入特殊固件,文章提供了 esp32 和 m5atom 的固件下载链接,并说明刷入过程在 MicroBlocks 图形化环境中完成。这意味着并非所有板子开箱即用,用户需确认自己的板子型号并完成固件更新,才能使用该库的功能。

❓

Q&A

MicroBlocks蓝牙客户端库能用来做什么?

它允许带有蓝牙的板子(如ESP32或micro:bit v2)作为客户端连接蓝牙外围设备,典型用途包括驱动乐高全家桶(如LEGO wedo2、LEGO remote)和其他蓝牙设备(如toio、Kano Wand、anki overdrive),也可以让板子作为蓝牙客户端给另一个MicroBlocks板子发消息(如一个作手柄、一个作小车),或者连接多个蓝牙设备充当消息中转站,让设备间交换消息。

使用MicroBlocks蓝牙客户端库需要什么特殊准备?

需要为板子刷入特殊的固件,整个过程在MicroBlocks图形化环境中完成。文章提供了ESP32和M5Atom的固件下载链接,并说明了如何在线刷入ESP32固件。

哪些板子支持MicroBlocks蓝牙客户端库?

支持带有蓝牙的板子,如ESP32和micro:bit v2。文章还提供了ESP32和M5Atom的专用固件。

如何用MicroBlocks板子实现两个板子之间的无线通信?

让一个MicroBlocks板子作为蓝牙客户端,给另一个MicroBlocks板子发消息。例如一个作为手柄(客户端),一个作为小车。由于基于BLE,可以带到户外使用。

MicroBlocks蓝牙客户端库能同时连接多个蓝牙设备吗?

可以。板子能连接多个蓝牙设备,充当消息中转站,让连接的设备彼此交换消息,交互逻辑用MicroBlocks编写,例如用Kano Wand驱动toio。

toio的蓝牙协议是开放的吗?如何基于它扩展功能?

toio的蓝牙协议完全开放,用户可以基于协议构建新的积木,解锁更多toio功能。coreCube.ts可作为toio蓝牙协议的TypeScript实现参考。

🏷️

标签

➡️

继续阅读