在微信小程序使用蓝牙时,central(主机)模式 和 peripheral(从机/外围设备)模式 的区别如下:
🔵 central(主机)模式
小程序默认运行在 central 模式,即作为主机去连接其他蓝牙设备(外围设备)。
✅ 特点:
- 可以扫描附近蓝牙设备
- 可以连接蓝牙设备
- 可以读写蓝牙设备的特征值、订阅 notify
🧩 常见用途:
- 手机小程序连接蓝牙耳机、灯、手环等
- 手机控制蓝牙外设
📦 示例 API:
wx.openBluetoothAdapter()wx.startBluetoothDevicesDiscovery()wx.createBLEConnection()
🟢 peripheral(从机)模式
小程序作为外围设备(peripheral) ,开启蓝牙广播,等待其他设备来连接它。
✅ 特点:
- 可以创建 BLE 服务与特征值
- 可以广播设备名称和服务 UUID
- 其他设备(如手机或蓝牙主机)可连接这个小程序设备
🧩 常见用途:
- 将手机小程序模拟成一个蓝牙设备,比如心率带、温湿度传感器等
- 用于测试 BLE 中央设备
📦 示例 API:
wx.openBluetoothAdapter({mode: 'peripheral'})wx.createBLEPeripheralServer()server.addService()server.startAdvertising()
🔁 对比总结
| 功能点 | central(主机) | peripheral(从机) |
|---|---|---|
| 默认模式 | 是 | 否(需设置 mode: 'peripheral') |
| 可扫描设备 | ✅ | ❌ |
| 可连接设备 | ✅ | ❌ |
| 可被其他设备连接 | ❌ | ✅ |
| 可广播 BLE 服务 | ❌ | ✅ |
| 小程序支持 | ✅ 广泛支持 | ✅(需基础库 ≥ 2.10.3) |