1)使用方法
- (void)viewDidLoad {
[super viewDidLoad];
//①开始扫描
[CCAirBLEManager startScan];
//②扫描到设备后,连接设备
//③成功连接设备,获取相关信息
//连接失败,相关处理
//④获取到服务
//⑤获取到服务下面的所有特征
//把指令写入相关特征,
//⑥写入成功后,获取蓝牙设备返回值
//⑦解析数据,
//在需要扫描的地方,调用方法①开启蓝牙扫描;
//其它的②③④⑤⑥⑦都在单例类CCAirBLEManager中封装好了,
//需求不一样的地方,自己稍微变动即可!
//注:我这边是16进制的格式,
//1)16进制data转string
//2)16进制string转int
}
2)16进制data转字符串
- (NSString *)hexadecimalString:(NSData *)data{
NSString *result;
const unsigned char* dataBuffer = (const unsigned char*)[data bytes];
if(!dataBuffer){
return nil;
}
NSUInteger dataLength = [data length];
NSMutableString* hexString = [NSMutableString stringWithCapacity:(dataLength * 2)];
for(int i = 0; i < dataLength; i++){
[hexString appendString:[NSString stringWithFormat:@"%02lx", (unsigned long)dataBuffer[i]]];
}
result = [NSString stringWithString:hexString];
return result;
}
3)16进制字符串转int
- (int)convertHexStringWith:(NSString *)string
{
UInt64 mac = strtoul([string cStringUsingEncoding:NSUTF8StringEncoding], 0, 16);
return [[NSString stringWithFormat:@"%llu",mac] intValue];
}
4)相关Demo
Demo连接
网友评论