CoreBlueTooth:什么是服务UUID FFE0缩短?

时间:2015-01-13 02:52:20

标签: ios bluetooth uuid core-bluetooth

我正在开展一个项目,将 iOS 与配备蓝牙4.0 的设备连接起来。

这些设备是从第三方购买的。 (我的iPhone作为核心角色)连接到它后,我打印 UUID

 for (CBService *service in peripheral.services) {

        NSLog(@"service :%@", service);
        NSLog(@"service uuid %@", service.UUID);

        [peripheral discoverCharacteristics:nil forService:service];
    }

输出

2015-01-13 10:09:03.474 TestBTCC[3149:828116] service :<CBService: 0x17406f000, isPrimary = YES, UUID = FFE0>
2015-01-13 10:09:03.474 TestBTCC[3149:828116] service uuid FFE0

UUID 应为128位。 16bit应该是某些预定义 UUID 的缩短格式。它是什么?

根据https://developer.apple.com/library/ios/documentation/NetworkingInternetWeb/Conceptual/CoreBluetooth_concepts/PerformingCommonPeripheralRoleTasks/PerformingCommonPeripheralRoleTasks.html#//apple_ref/doc/uid/TP40013257-CH4-SW8,我可以使用预定义的缩短16位来生成 CBUUID ,例如

 CBUUID *heartRateServiceUUID = [CBUUID UUIDWithString: @"180D"];

我可以直接写:

 CBUUID *heartRateServiceUUID = [CBUUID UUIDWithString: @"FFE0"];

无论它意味着什么?

1 个答案:

答案 0 :(得分:2)

FFE0是温度特性,您不具有此特性的写入权限,温度将以摄氏度读出。您可以阅读特征或订阅更新。

可以找到更多信息here