1***@qq.com
1***@qq.com
  • 发布:2021-08-16 18:04
  • 更新:2021-08-16 18:04
  • 阅读:1087

在小程序中 notifyBLECharacteristicValueChange 监听显示成功读取不到数值

分类:HBuilderX
        readBLECharacteristicValue(id) {              
            uni.readBLECharacteristicValue({  
                deviceId:id,  
                serviceId:this.globalData.serviceuuid,  
                characteristicId:this.globalData.characuuid,  
                success: res => {  
                    console.log('读取设备数据值成功',res);    
                },  
                fail:e=> {  
                    console.log('读取设备数据值失败,错误码:' + e.errCode);  
                }   
            });    
        },   
        onBLECharacteristicValueChange() {  
            // 必须在这里的回调才能获取   
            uni.onBLECharacteristicValueChange(characteristic => {  
                console.log('监听低功耗蓝牙设备的特征值变化事件成功',characteristic);  
                console.log(this.ab2hex(characteristic.value));  
                uni.showModal({  
                    content:'读取的值'+this.ab2hex(characteristic.value)  
                });  
            });  
        },  
        /**  
         * 启用低功耗蓝牙设备特征值变化时的 notify 功能,  
         */    
        notifyBLECharacteristicValueChange(id) {    
            uni.notifyBLECharacteristicValueChange({  
                state: true, // 启用 notify 功能  
                // 这里的 deviceId 需要已经通过 createBLEConnection 与对应设备建立链接  
                deviceId:id,  
                serviceId:this.globalData.serviceuuid,  
                characteristicId:this.globalData.characuuid,  
                success:res=> {   
                    console.log(' 启动notify成功' + res.errMsg);  
                    this.onBLECharacteristicValueChange();  
                },   
                fail:res=>{  
                    console.log('启动notify失败');  
                }  
            });  
        },  

        ab2hex(buffer) {  
           const hexArr = Array.prototype.map.call(  
            new Uint8Array(buffer),    
            function (bit) {   
              return ('00' + bit.toString(16)).slice(-2)  
            }  
           )   
           return hexArr.join('')  

        }  
    }
2021-08-16 18:04 负责人:无 分享
已邀请:

该问题目前已经被锁定, 无法添加新回复