1微信小程序蓝牙功能开发概述
第一步是检查当前的微信版本,是否支持蓝牙通信第二步打开蓝牙第三步扫描设备第四步连接设备第五步获取服务和属性值是否支持数据读写操作第六步数据传输这句话是记录第五步的内容点
2 wx . getbledevicecharacteristics
Wx.getBLEDeviceCharacteristics是
获取蓝牙设备服务的所有属性值(characteristic)
核心代码如下
2.1获得蓝牙连接支持服务
此步骤扫描了可用的蓝牙设备,获取了其中一个设备的deviceId。callBack是我设置的回调函数。
//接收蓝牙设备所有服务(服务)
Function getbledeviceservices(设备id,callback) {
Con(“连接低功耗蓝牙设备开始获取蓝牙服务”deviceId)
Wx.getBLEDeviceServices({
DeviceId、
Success: (res)={
Con(“低功耗蓝牙设备连接成功蓝牙服务成功”deviceId)
con(' getbledeviceservices success ')
for(let I=0;I RESI) {
If [i]。isPrimary) {
getbledevicecharacteristics(device id,res.services [I])。uuid、callback)
}
}
},
Fail: (res)={
Con(“低功耗蓝牙设备连接成功蓝牙服务失败”deviceId)
Con('getBLEDeviceServices fail ')
Con('无法获取蓝牙服务:' JSON.stringify(res))
}
})
}
微信官方文件有问题。我的实践在一些安卓手机上。可以使用多种服务。如果返回return,则可以判断下一步无法输出的数据问题。实际上可以输出。
获取2.2唯一值密钥核心代码
根据蓝牙设备的deviceId和serviceId服务Id,必须获得唯一值,包括蓝牙设备是否支持读取数据,是否支持向蓝牙设备写入数据。
有些Android手机可能有多个服务,即多个服务ID,每个服务ID提供的唯一值不同,必须一起使用。
function getbledevicecharacteristics(device id、service id、callback) {
wx . getbledevicecharacteristics({
DeviceId、
服务id、
Success: (res)={
con(' getbledevicecharacteristics success ',res.characteristics)
for(let I=0;I res.cI) {
Let item=res.characteristics[i]
con(' character istics ' gloable bluename ' read ' I)
con(' character istics ' gloable bluename ' write ' I)
con(' character istics ' gloable bluename ' notify ' I)
con(' character istics ' gloable bluename ' indicate ' I)
If (i) {
//可读数据
wx . readblecharacteristicvalue({
DeviceId、
服务id、
CharacteristicId: I、
})
}
If (i) {
//可写数据
}
}
}
},
Fail(res) {
Con('获取特征值失败:',RES)
},
Complete() {
If (callBack) {
con(' callback canWrite ' can wri());
//我主要使用可写数据操作
刀背(can write);
}
}
})
1.《微型打印机蓝牙怎么连接?总结很全面速看!wx.getBLEDeviceCharacteristics 微信小程序蓝牙 微信小程序打印机》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《微型打印机蓝牙怎么连接?总结很全面速看!wx.getBLEDeviceCharacteristics 微信小程序蓝牙 微信小程序打印机》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/why/2962213.html