- 小程序与uniapp这方面的应用真的多,最难的只能是连接蓝牙步骤,后续的称重器推送数据比较简单只要与合作商预定好数据推送格式后好解密数据
- 如果是uni需要将所有wx开头的方法替换为uni
1.连接蓝牙我就不过多赘述了,不懂的可以看微信小程序连接蓝牙特征值需支持notify
代码实现
uni.getBLEDeviceCharacteristics({
deviceId,
serviceId,
success: (res) => {
for (let i = 0; i < res.characteristics.length; i++) {
const item = res.characteristics[i]
// 将notify为true的存入特征值组
if (item.properties.notify) {
var arr
arr=that.appliance
arr.push({
deviceId:deviceId,
serviceId:serviceId,
characteristicId:res.characteristics[i].uuid,
name:text.name
})
}
}
},
2.称重的核心就是订阅监听特征数据变化
- wx.notifyBLECharacteristicValueChange
- wx.onBLECharacteristicValueChange
wx.notifyBLECharacteristicValueChange({
state: true, // 启用 notify 功能
// 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接
deviceId,
// 这里的 serviceId 需要在 getBLEDeviceServices 接口中获取
serviceId,
// 这里的 characteristicId 需要在 getBLEDeviceCharacteristics 接口中获取
characteristicId,
success (res) {
console