微信小程序 蓝牙
微信小程序支持蓝牙功能,允许开发者通过无线方式与其他蓝牙设备交换数据。这一功能支持蓝牙基础率/增强数据率(BR/EDR)和蓝牙低功耗(BLE)两种规格,为开发者提供了丰富的应用场景,如智能穿戴设备、智能家电、传感器等。以下是关于微信小程序蓝牙功能的一些关键信息:
微信小程序蓝牙支持情况
- 经典蓝牙:iOS因系统限制暂无法提供,安卓目前已在规划中。
- 主机模式:基础库1.1.0(微信客户端iOS 6.5.6, Android 6.5.7)开始支持。
- 从机模式:基础库2.10.3开始支持。
注意事项
- 设备ID (deviceId):每个蓝牙外围设备都有唯一的deviceId来标识。由于部分系统实现的限制,对于同一台蓝牙外围设备,在不同中心设备上扫描获取到的deviceId可能是变化的。因此,deviceId不能硬编码到代码中。
- 调试:不同平台的蓝牙实现存在较大差异。小程序会在提供统一接口的基础上,尽可能的提供完整的系统蓝牙能力,弱化不同平台的实现差异。但由于操作系统本身的限制,部分能力无法保证完全一致,请开发者注意文档中的注意事项,并在各端的真机都进行调试。
蓝牙开发相关API
- 打开蓝牙适配器:wx.openBluetoothAdapter,后续所有蓝牙模块功能都需要先打开适配器才能进行。
- 搜寻蓝牙设备:wx.startBluetoothDevicesDiscovery,此功能比较消耗性能,如果搜索到特定设备可即时停止。
- 连接蓝牙设备:wx.createBLEConnection,通过传入蓝牙设备deviceId进行设备直连。
- 监听蓝牙设备连接状态:wx.onBLEConnectionStateChange,包括开发者主动连接或断开连接,设备丢失,连接异常断开等等。
- 获取蓝牙服务:wx.getBLEDeviceCharacteristics,根据特定服务UUID查询所有特征。
- 发送数据:wx.writeBLECharacteristicValue,通过向蓝牙特定服务的对应特征值写入数据,完成交互。
通过上述API,开发者可以在微信小程序中实现与蓝牙设备的连接、数据交换等功能,为用户的智能生活带来更多便利。