我有一个智能门锁硬件设备,同时充当iBeacon和CoreBluetooth外设!
我的要求是,当我的应用程序第一次启动时,应用程序将开始监控iBeacon区域,当用户距离小于10米时,应用程序应该使用特定的CBService开始扫描BLE外围设备。
当用户在0.5米距离内时,应用程序应自动连接扫描的CBPeripheral设备并处理门打开操作。
你可以想象一下,当你靠近(大约10米远)大楼入口时,应用程序就会被激活,并开始扫描最近的蓝牙硬件。当你到达入口时,通过执行一些蓝牙操作,门会自动打开。
有人可以帮助我如何使用CoreBluetooth技术实现类似的行为吗?
这个应用程序也应该在后台模式下工作。
到目前为止,我所做的是,启动了iBeacon区域监控并获取回调
func locationManager(_ manager: CLLocationManager, didRangeBeacons beacons: [CLBeacon], in region: CLBeaconRegion) {
// I am using beacon's accuracy as distance calculation.
// When accuracy is < 10 meter, I am starting Peripheral scanning using: centralManager.scanForPeripherals(withServices: [{My Custom Service UUID}], options: [CBCentralManagerScanOptionAllowDuplicatesKey: false])
}我的蓝牙管理器收到一个关于
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
}现在,我如何使用我的iBeacon和发现的外围设备进行映射&当距离小于0.5米时自动与外围设备进行连接。
简而言之,我的手机应该作为一张RFID卡,用于身份验证和考勤管理
我希望实现与以下视频中显示的类似的行为:https://www.youtube.com/watch?v=Y6XlVE7UKp0
发布于 2021-01-16 14:28:28
如果您有一个iBeacon,并且根据唯一的主要/次要值搜索BLE外围设备,那么您将只扫描一个外围设备。因此,iBeacon和BLE外围设备将匹配。
您可以管理检测到的外围设备数组,并在iBeacon代表didRangeBeacon响应距离为0.5米(信标准确度的值以米为单位)时进行连接。你也可以使用它)
https://stackoverflow.com/questions/65732198
复制相似问题