uni-app蓝牙开发流程
1、openBluetoothAdapter首先要初始化蓝牙模块openBluetoothAdapter,即查看蓝牙是否可用,若初始化失败,则是蓝牙未打开,提示用户打开蓝牙。若已经打开蓝牙,则准备进行蓝牙搜索。2、搜索蓝牙startBluetoothDevicesDiscovery 和关闭蓝牙stopBluetoothDevicesDiscovery搜索蓝牙startBluetoothDevice
·
uni-app蓝牙开发流程
- 1、openBluetoothAdapter
- 2、搜索蓝牙startBluetoothDevicesDiscovery 和关闭蓝牙stopBluetoothDevicesDiscovery
- 3、所有蓝牙设备getBluetoothDevices
- 4、寻找到新设备onBluetoothDeviceFound
- 5、接低功耗蓝牙设备createBLEConnection
- 6、获取蓝牙设备getBLEDeviceServices
- 7、获取服务特征值方法getBLEDeviceCharacteristic
- 8、低功耗蓝牙设备特征值变化notifyBLECharacteristicValueChange
- 9、向设备写入(发送)控制命令writeBLECharacteristicValue
参考:
https://www.jianshu.com/p/e7b31698b746
android 蓝牙各种UUID
uni-app低功耗蓝牙开发流程
1、openBluetoothAdapter
- 首先要初始化蓝牙模块openBluetoothAdapter,即查看蓝牙是否可用,若初始化失败,则是蓝牙未打开,提示用户打开蓝牙。若已经打开蓝牙,则准备进行蓝牙搜索。
2、搜索蓝牙startBluetoothDevicesDiscovery 和关闭蓝牙stopBluetoothDevicesDiscovery
- 搜索蓝牙startBluetoothDevicesDiscovery,执行搜索方法,开始搜索蓝牙设备。这一步需要和关闭搜索蓝牙stopBluetoothDevicesDiscovery成对使用,长时间占用搜索设备,浪费资源,在查找到需要的设备连接之后需要主动去停止搜索设备。
3、所有蓝牙设备getBluetoothDevices
- 查看所有已经发现的蓝牙设备getBluetoothDevices。在这一步可以查看到以前已经获取到的蓝牙设备deviceId。可以在这一步中查看以前已经连接到的设备,主动去尝试连接这个设备。
4、寻找到新设备onBluetoothDeviceFound
- 监听寻找到新设备的事件onBluetoothDeviceFound在这里查看搜索蓝牙已经搜索到的设备,可以在这里通过设备名称(name)或其他已知信息(deviceId等)判断是否已经搜寻到需要的指定设备。
5、接低功耗蓝牙设备createBLEConnection
- 在上两步已经获取到需要连接的设备之后,通过设备ID(deviceId)来连接低功耗蓝牙设备createBLEConnection。在这里如果APP若是已经连接过此低功耗蓝牙设备,可以直接传入之前设备ID进行尝试连接。这一步的连接操作需要和关闭连接closeBLEConnection成对操作。如果多次调用创建连接,有可能会导致系统持有一个设备的多个连接实例,导致在调用关闭连接的时候不能真正关闭连接。
6、获取蓝牙设备getBLEDeviceServices
- 在连接设备之后,APP需要主动去获取蓝牙设备getBLEDeviceServices的所有服务(services),设备会返回给APP设备的服务列表(services)包含设备服务的UUID,该服务是否为主服务。
7、获取服务特征值方法getBLEDeviceCharacteristic
- 在获取设备的服务列表之后,根据自己设备的蓝牙协议接口文档,根据指定的服务ID(serviceId)使用获取服务特征值方法getBLEDeviceCharacteristic传入两个参数设备ID(deviceId)和服务ID(serviceId)向设备获取该服务中的所有的特征值(characteristic),设备会向APP返回该服务中的所有特征值列表,列表包含设备特征值的UUID,该特征值支持的操作类型。
8、低功耗蓝牙设备特征值变化notifyBLECharacteristicValueChange
- 启用低功耗蓝牙设备特征值变化时候的notify通知功能,订阅特征值notifyBLECharacteristicValueChange。只有设备的该特征值支持notify或者indicate才可以调用此方法。在此之外,需要注意,只有调用了订阅特征值方法notifyBLECharacteristicValueChange,才能监听设备的特征值改变事件characteristicValueChange。在特征值订阅成功后,只有设备的特征值主动更新,才会触发onBLECharacteristicValueChange回调,回调会显示改变的特征值。
9、向设备写入(发送)控制命令writeBLECharacteristicValue
- 在订阅特征值成功之后,可以向设备写入(发送)控制命令writeBLECharacteristicValue,此方法是向低功耗蓝牙设备特征值写入二进制数据。需要注意只有该特征值的属性支持write才可以调用此方法。在此方法调用成功后,设备特征值发生改变,就会触发onBLECharacteristicValueChange回调,主动返回特征值数据。
更多推荐
已为社区贡献1条内容
所有评论(0)