删除无用文件
This commit is contained in:
parent
bbc9b39c57
commit
b63f238fe4
@ -1,265 +0,0 @@
|
|||||||
class Bluetooth {
|
|
||||||
|
|
||||||
constructor() {
|
|
||||||
this.isOpenBle = false;
|
|
||||||
this.deviceId = "";
|
|
||||||
this.serviceId = "";
|
|
||||||
this.writeId = "";
|
|
||||||
this.notifyId = "";
|
|
||||||
this.openBluetoothAdapter();
|
|
||||||
}
|
|
||||||
|
|
||||||
showToast(title) {
|
|
||||||
uni.showToast({
|
|
||||||
title: title,
|
|
||||||
icon: 'none',
|
|
||||||
'duration': 2000
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
openBluetoothAdapter() {
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
uni.openBluetoothAdapter({
|
|
||||||
success: res => {
|
|
||||||
this.isOpenBle = true;
|
|
||||||
this.showToast("初始化蓝牙模块成功");
|
|
||||||
resolve(res);
|
|
||||||
},
|
|
||||||
fail: err => {
|
|
||||||
this.showToast(`初始化蓝牙模块失败` + JSON.stringify(err));
|
|
||||||
reject(err);
|
|
||||||
},
|
|
||||||
});
|
|
||||||
});
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
startBluetoothDevicesDiscovery() {
|
|
||||||
if (!this.isOpenBle) {
|
|
||||||
this.showToast(`初始化蓝牙模块失败`)
|
|
||||||
return;
|
|
||||||
}
|
|
||||||
|
|
||||||
let self = this;
|
|
||||||
uni.showLoading({
|
|
||||||
title: '蓝牙搜索中'
|
|
||||||
})
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
setTimeout(() => {
|
|
||||||
uni.startBluetoothDevicesDiscovery({
|
|
||||||
success: res => {
|
|
||||||
resolve(res)
|
|
||||||
},
|
|
||||||
fail: res => {
|
|
||||||
self.showToast(`搜索设备失败` + JSON.stringify(err));
|
|
||||||
reject(err);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}, 300);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
stopBluetoothDevicesDiscovery() {
|
|
||||||
let self = this;
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
uni.stopBluetoothDevicesDiscovery({
|
|
||||||
success: e => {
|
|
||||||
uni.hideLoading();
|
|
||||||
},
|
|
||||||
fail: e => {
|
|
||||||
uni.hideLoading();
|
|
||||||
self.showToast(`停止搜索蓝牙设备失败` + JSON.stringify(err));
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
createBLEConnection() {
|
|
||||||
//设备deviceId
|
|
||||||
let deviceId = this.deviceId;
|
|
||||||
let self = this;
|
|
||||||
|
|
||||||
uni.showLoading({
|
|
||||||
mask: true,
|
|
||||||
title: '设别连接中,请稍候...'
|
|
||||||
})
|
|
||||||
console.log(this.deviceId);
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
uni.createBLEConnection({
|
|
||||||
deviceId,
|
|
||||||
success: (res) => {
|
|
||||||
console.log("res:createBLEConnection " + JSON.stringify(res));
|
|
||||||
resolve(res)
|
|
||||||
},
|
|
||||||
fail: err => {
|
|
||||||
uni.hideLoading();
|
|
||||||
self.showToast(`停止搜索蓝牙设备失败` + JSON.stringify(err));
|
|
||||||
reject(err);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//获取蓝牙设备所有服务(service)
|
|
||||||
getBLEDeviceServices() {
|
|
||||||
let _serviceList = [];
|
|
||||||
let deviceId = this.deviceId;
|
|
||||||
let self = this;
|
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
setTimeout(() => {
|
|
||||||
uni.getBLEDeviceServices({
|
|
||||||
deviceId,
|
|
||||||
success: res => {
|
|
||||||
for (let service of res.services) {
|
|
||||||
if (service.isPrimary) {
|
|
||||||
_serviceList.push(service);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
uni.hideLoading();
|
|
||||||
console.log("_serviceList: " + JSON.stringify(_serviceList));
|
|
||||||
resolve(_serviceList)
|
|
||||||
},
|
|
||||||
fail: err => {
|
|
||||||
uni.hideLoading();
|
|
||||||
self.showToast(`获取设备Services` + JSON.stringify(err));
|
|
||||||
reject(err);
|
|
||||||
},
|
|
||||||
})
|
|
||||||
}, 500);
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//获取蓝牙设备某个服务中所有特征值(characteristic)
|
|
||||||
getBLEDeviceCharacteristics() {
|
|
||||||
let deviceId = this.deviceId;
|
|
||||||
let serviceId = this.serviceId;
|
|
||||||
|
|
||||||
let self = this;
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
uni.getBLEDeviceCharacteristics({
|
|
||||||
deviceId,
|
|
||||||
serviceId,
|
|
||||||
success: res => {
|
|
||||||
for (let _obj of res.characteristics) {
|
|
||||||
//获取notify
|
|
||||||
if (_obj.properties.notify) {
|
|
||||||
self.notifyId = _obj.uuid;
|
|
||||||
uni.setStorageSync('notifyId', self.notifyId);
|
|
||||||
}
|
|
||||||
//获取writeId
|
|
||||||
if (_obj.properties.write) {
|
|
||||||
self.writeId = _obj.uuid;
|
|
||||||
uni.setStorageSync('writeId', self.writeId);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
//console.log("res:getBLEDeviceCharacteristics " + JSON.stringify(res));
|
|
||||||
let result = {
|
|
||||||
'notifyId': self.notifyId,
|
|
||||||
'writeId': self.writeId
|
|
||||||
};
|
|
||||||
self.showToast(`获取服务中所有特征值OK,${JSON.stringify(result)}`);
|
|
||||||
resolve(result)
|
|
||||||
},
|
|
||||||
fail: err => {
|
|
||||||
self.showToast(`getBLEDeviceCharacteristics` + JSON.stringify(err));
|
|
||||||
reject(err);
|
|
||||||
}
|
|
||||||
})
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//断开联链接
|
|
||||||
closeBLEConnection() {
|
|
||||||
let deviceId = this.deviceId;
|
|
||||||
uni.closeBLEConnection({
|
|
||||||
deviceId,
|
|
||||||
success(res) {
|
|
||||||
console.log(res)
|
|
||||||
}
|
|
||||||
})
|
|
||||||
}
|
|
||||||
|
|
||||||
notifyBLECharacteristicValue() {
|
|
||||||
let deviceId = this.deviceId;
|
|
||||||
let serviceId = this.serviceId;
|
|
||||||
let characteristicId = this.notifyId;
|
|
||||||
|
|
||||||
uni.notifyBLECharacteristicValueChange({
|
|
||||||
state: true, // 启用 notify 功能
|
|
||||||
deviceId,
|
|
||||||
serviceId,
|
|
||||||
characteristicId,
|
|
||||||
success(res) {
|
|
||||||
uni.onBLECharacteristicValueChange(function(res) {
|
|
||||||
|
|
||||||
});
|
|
||||||
},
|
|
||||||
fail(res) {
|
|
||||||
console.log('notifyBLECharacteristicValueChange failed:' + res.errMsg);
|
|
||||||
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
writeBLECharacteristicValue(buffer) {
|
|
||||||
let deviceId = this.deviceId;
|
|
||||||
let serviceId = this.serviceId;
|
|
||||||
let characteristicId = this.writeId;
|
|
||||||
|
|
||||||
console.log("this: " + JSON.stringify(this));
|
|
||||||
|
|
||||||
return new Promise((resolve, reject) => {
|
|
||||||
uni.writeBLECharacteristicValue({
|
|
||||||
deviceId,
|
|
||||||
serviceId,
|
|
||||||
characteristicId,
|
|
||||||
value: buffer,
|
|
||||||
success(res) {
|
|
||||||
console.log('message发送成功', JSON.stringify(res));
|
|
||||||
resolve(res);
|
|
||||||
},
|
|
||||||
fail(err) {
|
|
||||||
console.log('message发送失败', JSON.stringify(err));
|
|
||||||
reject(err);
|
|
||||||
}
|
|
||||||
});
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
closeBluetoothAdapter() {
|
|
||||||
uni.closeBluetoothAdapter({
|
|
||||||
success: res => {
|
|
||||||
console.log(res)
|
|
||||||
}
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
//若APP在之前已有搜索过某个蓝牙设备,并成功建立连接,可直接传入之前搜索获取的 deviceId 直接尝试连接该设备,无需进行搜索操作。
|
|
||||||
reconnect() {
|
|
||||||
(async () => {
|
|
||||||
try {
|
|
||||||
this.deviceId = this.deviceId || uni.getStorageSync("deviceId");
|
|
||||||
this.serviceId = this.serviceId || uni.getStorageSync("serviceId");
|
|
||||||
|
|
||||||
let result1 = await this.createBLEConnection();
|
|
||||||
console.log("createBLEConnection: " + JSON.stringify(result1));
|
|
||||||
|
|
||||||
let result2 = await this.getBLEDeviceServices();
|
|
||||||
console.log("getBLEDeviceServices: " + JSON.stringify(result2));
|
|
||||||
|
|
||||||
let result3 = await this.getBLEDeviceCharacteristics();
|
|
||||||
console.log("getBLEDeviceCharacteristics: " + JSON.stringify(result3));
|
|
||||||
|
|
||||||
// this.writeId = uni.getStorageSync("writeId");
|
|
||||||
// this.notifyId = uni.getStorageSync("notifyId");
|
|
||||||
} catch (err) {
|
|
||||||
console.log("err: " + JSON.stringify(err));
|
|
||||||
}
|
|
||||||
|
|
||||||
})();
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
export default Bluetooth;
|
|
||||||
Loading…
Reference in New Issue
Block a user