金桔ibeacon设备是标准的ibeacon设备,通过小程序扫描,可以获取ibeacon的信息。
看代码:
searchBeacon() {
if (!wx.openBluetoothAdapter) {
this.showError("当前微信版本过低,无法使用该功能,请升级到最新微信版本后重试。");
return;
}
//检测蓝牙状态
wx.openBluetoothAdapter({
success: function (res) {//蓝牙状态:打开
wx.startBeaconDiscovery({//开始搜索附近的iBeacon设备
uuids: ['01122334-4556-6778-899a-abbc30000008'],//参数uuid
success: function (res) {
wx.onBeaconUpdate(function (res) {//监听 iBeacon 设备的更新事件
//封装请求数据
var beacons = res.beacons;
var reqContent = {};
var bleArray = [];
for (var i = 0; i < beacons.length; i++) {
var bleObj = {};
bleObj.distance = beacons[i].accuracy;
bleObj.rssi = beacons[i].rssi;
bleObj.mac = beacons[i].major + ":" + beacons[i].minor;
var mytemp = "uuid:" + beacons[i].uuid + ";" +
"major:" + beacons[i].major + ";minor:" + beacons[i].minor
+ ";proximity:" + beacons[i].proximity
+ ";accuracy:" + beacons[i].accuracy
+ ";rssi:" + beacons[i].rssi
console.log(new Date())
console.log(mytemp)
bleArray.push(bleObj);
}
//reqContent.ble = bleArray;
//请求后台向redis插入数据
// redisSave(reqContent);
});
},
fail: function (res) {
//先关闭搜索再重新开启搜索,这一步操作是防止重复wx.startBeaconDiscovery导致失败
stopSearchBeacon();
}
})
},
fail: function (res) {//蓝牙状态:关闭
wx.showToast({ title: "请打开蓝牙", icon: "none", duration: 2000 })
}
})
},
这里扫描uuid为 01122334-4556-6778-899a-abbc30000008 的ibeacon设备,注意ibeacon设备必须指定uuid才能扫描,无法扫描周边的ibeacon有哪些uuid,如果想扫描周边的蓝牙设备,用蓝牙的扫描设备方式,这个方法只是针对扫描ibeacon设备。另外需要注意,这里扫描的ibeacon设备厂商代码必须是4c 00.