CBService
表示peripheral的Service
关于Service的一些标识
- UUID:唯一标识Service的128-bit UUID
- peripheral:这个Service所属的peripheral
- isPrimary:用于标识Service是否是主要的。主要为YES,次要为NO
访问Service的数据
- characteristics:获取Service下characteristics列表
- includedServices:获取Service下包含的其他Service
CBCharacteristic
表示CBService的Characteristic
关于CBCharacteristic的一些标识
- UUID:唯一标识Characteristic的128-bit UUID
- service:这个Characteristic所属的Service
访问Characteristic的数据
- value:Characteristic的变量
properties:可以获取Characteristic具有的一些属性
//允许一个广播特性值,用于描述特性配置 CBCharacteristicPropertyBroadcast = 0x01, //允许读一个特性值 CBCharacteristicPropertyRead = 0x02, //设置了这个属性,则在写入特征值不成功时,不会将错误发送回中央。 CBCharacteristicPropertyWriteWithoutResponse = 0x04, //设置了这个属性,则在写入特征的值不成功时,会将错误发送回中央。 CBCharacteristicPropertyWrite = 0x08, //设置了这个属性,设备的蓝牙模块不需要等待手机蓝牙栈的回复 CBCharacteristicPropertyNotify = 0x10, //设置了这个属性,设备的蓝牙模块需要等待手机蓝牙栈的回复才能下发下一条 CBCharacteristicPropertyIndicate = 0x20, //允许签名的特征值的写入,如果特性具有此属性设置,则在写入特征值不成功时,不会将错误发送回中央。 CBCharacteristicPropertyAuthenticatedSignedWrites = 0x40, //如果设置后,附加特性属性为一个扩展的属性说明 CBCharacteristicPropertyExtendedProperties = 0x80, //只有受信任的设备才能启用特征值的通知。 CBCharacteristicPropertyNotifyEncryptionRequired = 0x100, //只有受信任的设备可以启用特征值的指示。 CBCharacteristicPropertyIndicateEncryptionRequired = 0x200
常见的又read,write,noitfy,indicate.知道这几个基本够用了,前俩是读写权限,后俩都是通知,俩不同的通知方式
isNotifying:当Characteristic发生变化时或获取监听,可以判断是否已经通知其监听中心
CBUUID
在低功耗蓝牙通讯中,通常使用128位唯一标识作为一些设备的服务,特性和特征描述符。对于Bluetooth Special Interest Group (SIG)已经定义并发布了许多常用的UUID,这些UUID被缩短为16位或32位。CBUUID类里提供了一些转换的方法,使其转化为128位
常用的方法
/**
创建CBUUID
@param theString 一个包含16位,32位或128位UUID的字符串
@return CBUUID
*/
+ (CBUUID )UUIDWithString:(NSString )theString
NSUUID
UUID(通用唯一标识符)也称为GUID(全局唯一标识符)或IID(接口标识符),是128位值。 由NSUUID创建的UUID符合RFC 4122版本4,并以随机字节创建。
常用的方法
/**
创建一个NSUUID
@param string UUID的源字符串.eg:68753A44-4D6F-1226-9C60-0050E4C00067.
@return NSUUID
*/
- (instancetype)initWithUUIDString:(NSString *)string;