作者mew3133 (大雄)
看板MacDev
標題Re: [問題] Bluetooth4.0背景執行問題
時間Tue Jan 7 16:05:42 2014
可是我看過我的peripheral 的advertisement 的資訊如下
CBController] didDiscoverPeripheral, <CFUUID 0x146ae950> 60AEDA89-C250-DAAD-38BC-B7B4E412756F, count=4, RSSI=-57, count=1
2014-01-07 16:02:05.070 BLEControl[1132:60b] advertisementData is {
kCBAdvDataChannel = 39;
kCBAdvDataIsConnectable = 1;
kCBAdvDataLocalName = "TiWi-uB1";
kCBAdvDataTxPowerLevel = 0;
}
這樣意思是我不能用特定UUID去搜尋囉Q___Q?
※ 引述《govert ( )》之銘言:
: 因為你的 peripheral 的 Advertisement裡面沒有 "180A" 這個service uuid.
: Advertisement長度是很有限的, 所以通常 "Device Information"
: 這種servvice uuid是不會放在Ad裡面去發的.
: 所以你要先確定你的 peripheral 是那一種 profile,
: 然後去看那個profile裡面有規定 Ad要發什麼,
: 通常都會帶 main service 的 uuid.
: 然後你再用 main service的uuid去scan, 就可以scan到了.
: ※ 引述《mew3133 (大雄)》之銘言:
: : 各位我有個疑問....
: : 我使用
: : [self.centralManager scanForPeripheralsWithServices:nil
: : options:nil];
: : 可以搜尋到所有裝置
: : 我改成搜尋特定UUID就搜尋不到裝置......請問我錯在哪裡QQ...已經卡了一個月了...
: : NSArray *uuidArray=
: : [NSArray arrayWithObjects:[CBUUID UUIDWithString:@"180A"], nil];
: : [self.centralManager scanForPeripheralsWithServices:uuidArray
: : options:nil];
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.130.155.106
1F:推 govert:如果是自定義的 service uuid就可以. 01/07 16:47
2F:→ govert:但是你要確定你的模組 AD裡有發出 service uuid. 01/07 16:48
3F:→ govert:你要再去看一下模組的設定 01/07 16:48
4F:→ mew3133:所以g大~ad裡面沒有service uuid 01/07 17:12
5F:→ mew3133:APP就無法在background搜尋並連線囉? 01/07 17:13
6F:推 govert:在不在背景是另一回事 01/07 19:47
7F:→ govert:但是你ad裡面沒有service uuid,就是不能用uuid來scan. 01/07 19:47
8F:→ mew3133:謝謝Govert大大我了解~ 01/08 12:07
9F:→ rj2:govert大都寫得很清楚了,你的case可以scan後再判斷device name 03/08 22:25
10F:→ rj2:更正,peripheral name 03/08 22:28