【发布时间】:2020-08-16 08:39:03
【问题描述】:
我正在开发一个应用程序,当它开始扫描附近的设备时,它需要获取另一个蓝牙设备的详细信息。我设法得到了一些,但我被困在一些我没有收到的价值观上。
需要的值。 1.UUID 2. RSS 3. txpower 4. 检测到的设备名称 5.数据 6. 距离 7.时间 8.mac地址
我已经设法从中获取了 UUID、rssi、检测到的设备名称和时间。
我不知道如何获取 txpower、数据、距离和 mac 地址。
数据应为字符串格式。
下面是我的代码和输出。
func centralManager(_ central: CBCentralManager, didDiscover peripheral: CBPeripheral, advertisementData: [String : Any], rssi RSSI: NSNumber) {
let rssi = RSSI.stringValue
print("UUID:",uuid)
print("Device Name:",peripheral.name!)
print("rssi:",rssi)
print("Ad Data:", advertisementData)
print("time:", advertisementData["kCBAdvDataTimestamp"]!)
print("peripheral:", peripheral)
if let power = advertisementData["kCBAdvDataTxPowerLevel"] as? Double{
print("power:", power)
print("Distance is ", pow(10, ((power - Double(truncating: RSSI))/20)))
}
输出
UUID: A863C72A-DCB7-43DB-9431-5F0107CB3474
Device Name: iPhone 7
rssi: -12
Ad Data: ["kCBAdvDataTimestamp": 610053944.490985, "kCBAdvDataIsConnectable": 1]
time: 610053944.490985
peripheral: <CBPeripheral: 0x2808d0780, identifier = 9511F67B-9903-7D50-467A-BAAF4ECA1479, name = iPhone 7, state = disconnected>
请帮我获取这些数据,我已经搜索了互联网但没有找到任何相关的答案。所以发在这里
TIA
【问题讨论】:
标签: ios swift bluetooth bluetooth-lowenergy cbcentralmanager