linux获得蓝牙外设mac,iOS 与蓝牙操作如何获取MAC地址
因?yàn)樾〉芨懔撕荛L時間關(guān)于藍(lán)牙設(shè)備得APP 所以對這邊比較了解
因?yàn)閕OS自從7以后就無法或取設(shè)備的MAC地址 網(wǎng)上有人說把它加到藍(lán)牙的廣播包里但是這樣的話對硬件來說負(fù)擔(dān)很大 而且芯片會不穩(wěn)定。我這邊是將藍(lán)牙的MAC地址寫在藍(lán)牙設(shè)備系統(tǒng)的sevrice 里
如圖:
一般的藍(lán)牙芯片了都有這個 Device information 系統(tǒng)服務(wù) 我們的是cc2541 ?里面的systemID 從右往左讀 比如cd aa 05 32 01 98 這個是出廠時的硬件唯一標(biāo)識 用它來當(dāng)MAC地址 這樣的話如果iOS操作過藍(lán)牙設(shè)備的話也能獲得了
Device information 的UUID是180A? systemID 的UUID 2A23
獲得方法連接上之后直接讀取
-(void)peripheral:(CBPeripheral*)peripheral didUpdateValueForCharacteristic:(CBCharacteristic*)characteristic error:(NSError*)error
{
if([characteristic.UUIDisEqual:[CBUUIDUUIDWithString:@"2A23"]])
{
NSString*value = [NSStringstringWithFormat:@"%@",characteristic.value];
NSMutableString*macString = [[NSMutableStringalloc]init];
[macStringappendString:[[valuesubstringWithRange:NSMakeRange(16,2)]uppercaseString]];
[macStringappendString:@":"];
[macStringappendString:[[valuesubstringWithRange:NSMakeRange(14,2)]uppercaseString]];
[macStringappendString:@":"];
[macStringappendString:[[valuesubstringWithRange:NSMakeRange(12,2)]uppercaseString]];
[macStringappendString:@":"];
[macStringappendString:[[valuesubstringWithRange:NSMakeRange(5,2)]uppercaseString]];
[macStringappendString:@":"];
[macStringappendString:[[valuesubstringWithRange:NSMakeRange(3,2)]uppercaseString]];
[macStringappendString:@":"];
[macStringappendString:[[valuesubstringWithRange:NSMakeRange(1,2)]uppercaseString]];
NSLog(@"MAC地址是macString:%@",macString);
_MacAddress= macString;
}
}
總結(jié)
以上是生活随笔為你收集整理的linux获得蓝牙外设mac,iOS 与蓝牙操作如何获取MAC地址的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: Robust Initializatio
- 下一篇: allegro 走线切换层_多层板走线时
