-
Notifications
You must be signed in to change notification settings - Fork 1k
temp
=======================添加定时阅读rssi的方法 =======================设置一个log打印或不打印的开关 =======================去掉无用的变量 =======================增加一个和检验工具方法http://www.jianshu.com/p/a5e25206df39
====================== (NSArray *)retrievePeripheralsWithIdentifiers:(NSArray *)identifiers (NSArray *)retrieveConnectedPeripheralsWithServices:(NSArray *)serviceUUIDs 第一个只要是当前手机曾经连接过的CBPeripheral 可以通过UUID属性直接获取对象。 第二个只要是当前手机连接着的CBPeripheral对象,可以通过Service UUID来直接获取对象,注意就算不是当前的APP连接的也是可以获取到,如果不用这个API,有可能设备被当前手机连着,去扫描会扫描不到。 因为没有扫描步骤,这两个API可以大大减少连接设备的时间,同时也可以节约手机的能耗(虽然这点能耗没有卵用) 建议实现这两个方法,第二个比较简单,第一个需要用到本地存储,略复杂。
=======================用断言优化babybluetooth链式方法调用顺序的检查
当一系列操作后执行的方法
//方法声明
-(void)until:(void (^)())step
then:(void(^)(CBCentralManager *manager,CBPeripheral *peripheral))then;
-(void)until:(void (^)())step
step:(void (^)())step;
//方法调用
[baby
until:^() {
//获取characteristic
fetchC(characteristicc1,"ff01");
//characteristic write操作
writeC(characteristicc1,"ff01");
writeC(characteristicc2,characteristicc1);
//检查是否写成功,默认write就会检查是否写成功
ckeckValueEqual(characteristicc1,characteristicc2);
//check Block检查
}
then:^(CBCentralManager *manager,CBPeripheral *peripheral) {
//do when step done
notity(c3,c4,onBlock());
}
];
[baby until:^{
//
} step:^{
//
} then:^(CBCentralManager *manager, CBPeripheral *peripheral) {
}];
//#warning 测试数据
////个性化,读取设备养护数据
//-(void)readPlantAssistantData{
// //写入当前系统时间
//
// CBCharacteristic *currentTime = [BabyToy findCharacteristicFormServices:self.services UUIDString:@"FFA8"];
//
// if (currentTime) {
// NSMutableData *data = [NSMutableData data];
// NSDateFormatter *df = [[NSDateFormatter alloc]init];
// [df setDateFormat:@"yyyy/MM/dd/hh/mm"];
// NSArray *dateArray = df stringFromDate:[NSDate date componentsSeparatedByString:@"/"];
// for (NSString *item in dateArray) {
// int intItem = [item intValue];
// if (intItem > 1000) {
// int hPart = intItem/100;
// int lPart = intItem%2000;
// [data appendData:[NSData dataWithBytes:&hPart length:1]];
// [data appendData:[NSData dataWithBytes:&lPart length:1]];
// }
// else{
// [data appendData:[NSData dataWithBytes:&intItem length:1]];
// }
//
// }
//
// [self.currPeripheral writeValue:data forCharacteristic:currentTime type:CBCharacteristicWriteWithResponse];
// }
//
// //读取当前RecordStartTime(FFA2)RecordPeriod(FFAB) CurrentTime(FFA8),ReadID(FFA4),ReadOT(FFA5)
//
// //设置ReadID,ReadOT
//
// //TransferStatus(FFA9) 写1
// CBCharacteristic *transferStatus = [BabyToy findCharacteristicFormServices:self.services UUIDString:@"FFA9"];
//
// if (transferStatus) {
// int i = 1;
// NSData *value = [NSData dataWithBytes:&i length:sizeof(i)];
// [self.currPeripheral writeValue:value forCharacteristic:transferStatus type:CBCharacteristicWriteWithResponse];
// }
// //订阅RecordBuf(FFA1)数据
// CBCharacteristic *recordBuf = [BabyToy findCharacteristicFormServices:self.services UUIDString:@"FFA1"];
//
// if (recordBuf) {
// [self.currPeripheral setNotifyValue:YES forCharacteristic:recordBuf];
// }
//
//}