You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Micro:bit发送BLE Beacon?及USB蓝牙适配器备选方案咨询

用Micro:bit发送BLE Beacon的实现方案

一、Micro:bit完全可以实现BLE Beacon发送

Micro:bit的MicroPython固件原生支持BLE功能,只要按照BLE广播规范构建数据包,就能被nrfConnect识别并解析,包括显示自定义本地名称和RAW数据。下面是具体代码示例和操作步骤:

代码示例(MicroPython)

from microbit import *
import ble

# 构建符合BLE规范的广播数据包(TLV格式)
broadcast_data = bytearray([
    0x02, 0x01, 0x06,  # 标志位:设置为LE可发现模式
    0x0B, 0x09, ord('M'), ord('y'), ord('_'), ord('M'), ord('i'), ord('c'), ord('r'), ord('o'), ord('B'), ord('e'), ord('a'),  # 完整本地名称:My_MicroBeacon
    0x05, 0xFF, 0x00, 0x01, 0x02, 0x03  # 厂商自定义RAW数据,可根据需求修改
])

# 初始化BLE并启动广播
ble.init()
# 100为广播间隔(单位:毫秒),数值越小广播越频繁
ble.gap_advertise(100, broadcast_data)

# 保持设备持续广播
while True:
    sleep(1000)

操作说明

  1. 将上述代码刷入Micro:bit设备
  2. 打开nrfConnect App,开启设备扫描
  3. 你会看到名为My_MicroBeacon的设备,点击进入后,在「广播数据」板块可查看自定义的RAW数据

代码里的广播数据采用BLE标准的**TLV(类型-长度-值)**格式:

  • 0x09是「完整本地名称」的标识字段,nrfConnect会直接解析并显示这个名称
  • 0xFF是「厂商自定义数据」字段,用来存放你需要的RAW内容,可自行修改字节值

二、备选方案:用USB蓝牙适配器发送Beacon

如果Micro:bit的方案始终无法正常工作,也可以使用支持BLE的USB蓝牙适配器实现,以Linux系统为例:

  • 打开终端,进入蓝牙控制模式:
    sudo bluetoothctl
    power on
    
  • 开启广播并设置名称和RAW数据:
    advertise on
    advertise name "My_USBBeacon"
    advertise data 0x05FF00010203
    

Windows或macOS系统可使用LightBlue Explorer这类工具,可视化配置USB蓝牙适配器发送自定义广播数据包。

内容的提问来源于stack exchange,提问作者Ludwig

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.24 06:01:10