内容提要
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实现参考。