// // TYBLEPeripheral.h // TuyaSmartPublic // // Created by 冯晓 on 16/8/2. // Copyright © 2016年 Tuya. All rights reserved. // #import #import @class TYBLEService; typedef void(^TYBLECentralPeripheralDiscoverServicesCallback)(NSArray *services, NSError *error); typedef void(^TYBLECentralPeripheralRSSIValueCallback)(NSNumber *RSSI, NSError *error); @interface TYBLEPeripheral : NSObject /** * 内部的cbPeripheral对象 */ @property (strong, nonatomic, readonly) CBPeripheral *cbPeripheral; /** * service的UUID列表 */ @property (strong, nonatomic, readonly) NSArray *services; /** * peripheral的UUID string */ @property (weak, nonatomic, readonly) NSString *UUIDString; /** * Signal strength of peripheral */ @property (assign, nonatomic) NSInteger RSSI; /** * The advertisement data that was tracked from peripheral */ @property (strong, nonatomic) NSDictionary *advertisingData; /** * flag of connection */ @property (nonatomic, assign) BOOL isConnected; /** * 创建TYBLEPeripheral对象 * * @param p CBPeripheral对象 * * @return TYBLEPeripheral对象 */ - (instancetype)initWithCBPeripheral:(CBPeripheral *)p; /** * 扫描支持的所有service * * @param block 回调 */ - (void)discoverServicesWithCompletion:(TYBLECentralPeripheralDiscoverServicesCallback)block; /** * 扫描特定UUID的service * * @param serviceUUIDs service uuid * @param block 回调 */ - (void)discoverServices:(NSArray *)serviceUUIDs completion:(TYBLECentralPeripheralDiscoverServicesCallback)block; /** * 读取RSSI值 * * @param aCallback 回调 */ - (void)readRSSIValueCompletion:(TYBLECentralPeripheralRSSIValueCallback)aCallback; /** * 根据UUID查找service * * @param uuid 待查找的UUID * * @return TYBLEService对象 */ - (TYBLEService *)retrieveServiceByUUID:(NSString *)uuid; @property (nonatomic, copy) void(^readyToSendWriteWithoutResponseBlock)(CBPeripheral *p); @end