短 cbuuid 与长 cbuuid ble 连接 ios
short cbuuid vs long cbuuid ble connection ios
我猜是这样,但连接不成功?
0000180A-0000-1000-8000-00805f9b34fb
- (void)scan
{
NSMutableArray *serviceUUIDs = [NSMutableArray new];
NSDictionary* options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:CBCentralManagerScanOptionAllowDuplicatesKey];
[serviceUUIDs addObject:[CBUUID UUIDWithString:@"0000180A
[_sharedManager scanForPeripheralsWithServices:serviceUUIDs options:options];
// callback(@[]);
}
蓝牙 4.0 可以使用 16 位和 128 位 UUID 值。 16位的UUID在广告包里明显少了space,但是数量少了
Bluetooth SIG 分配 16 bit UUIDs for well known services and to member organisations on request. The current assigned values are here
例如 0x1801 是 GATT 配置文件,0x180A 是设备信息服务。
没有 16 位 UUID 的 128 位等价物。
设备提供的服务列表和它宣传的服务不一样。
由于广告数据包中的内容有限 space,因此设备通常只广告其服务的一个子集;最“有用”的服务。
例如,心率监测器会公布心率服务 (0x180D),但不会公布电池或设备信息服务,即使它很可能会提供这些服务。
这就是扫描服务 0x180A 时无法发现外围设备的原因 - 通常不会公布设备信息服务。
连接到设备后,您可以发现它提供的所有服务。
我猜是这样,但连接不成功?
0000180A-0000-1000-8000-00805f9b34fb
- (void)scan
{
NSMutableArray *serviceUUIDs = [NSMutableArray new];
NSDictionary* options = [NSDictionary dictionaryWithObject:[NSNumber numberWithBool:YES] forKey:CBCentralManagerScanOptionAllowDuplicatesKey];
[serviceUUIDs addObject:[CBUUID UUIDWithString:@"0000180A
[_sharedManager scanForPeripheralsWithServices:serviceUUIDs options:options];
// callback(@[]);
}
蓝牙 4.0 可以使用 16 位和 128 位 UUID 值。 16位的UUID在广告包里明显少了space,但是数量少了
Bluetooth SIG 分配 16 bit UUIDs for well known services and to member organisations on request. The current assigned values are here
例如 0x1801 是 GATT 配置文件,0x180A 是设备信息服务。
没有 16 位 UUID 的 128 位等价物。
设备提供的服务列表和它宣传的服务不一样。
由于广告数据包中的内容有限 space,因此设备通常只广告其服务的一个子集;最“有用”的服务。
例如,心率监测器会公布心率服务 (0x180D),但不会公布电池或设备信息服务,即使它很可能会提供这些服务。
这就是扫描服务 0x180A 时无法发现外围设备的原因 - 通常不会公布设备信息服务。
连接到设备后,您可以发现它提供的所有服务。