2014-02-17 73 views
1

在iOS中,調用[CBCentralManager scanForPeripheralWithServices:options:]可讓您指定服務UUID以選擇BLE外設。 UUID我可以用什麼樣的服務發現SensorTag使用TI SensorTag需要哪些服務UUID?

下面是一個代碼示例:

- (void)startScan { 
    NSDictionary *options = @{ CBCentralManagerScanOptionAllowDuplicatesKey: @YES }; 
    // This UUID doesn't work. 
    NSArray *services = @[[CBUUID UUIDWithString:@"F000AA00-0451-4000-B000-000000000000"]]; 

    [self scanForPeripheralsWithServices:services options:options]; 
} 
+0

把零,檢查它的廣告數據(請參閱'didDiscoverPeripheral'回調方法)通告它的服務,然後你可以使用過濾設備的服務數組。 – Larme

回答

0

您可以在這裏下載TI的示例應用程序的源代碼:http://www.ti.com/tool/sensortag-sw iOS的示例包含你正在尋找什麼。

否則,您可以使用nil服務進行掃描,並在收到didDiscoverPeripheral回調時檢查(最簡單打印出)advertisementData。與服務相對應的密鑰會告訴您外設的廣告內容,您可以使用這些鍵來縮小掃描範圍。

1

雖然SensorTag有一個服務UUID F000AA00-0451-4000-B000-000000000000,我沒有任何運氣掃描它的方式。我不得不掃描像這樣:

[central scanForPeripheralsWithServices:nil options:nil]; 

,然後遍歷服務,看是否有外圍我想要的東西。作爲一個便箋,我一直無法更新SensorTag上的固件,並希望它們最終解決此問題。

+1

如果傳感器標籤沒有通過您提到的UUID通告服務,那很正常。它可能有它們,但只有連接時才能發現它們。 – Larme

相關問題