2014-07-22 49 views
0

我有Jaalee信標。我嘗試通過各種方式從各種手機連接到他們,包括ibeacon和核心藍牙,但我一直獲得新的標識符。這意味着如果我不移動並嘗試iphone1,那麼我會得到set1的beacon uuids,然後我嘗試iphone2並獲取set2,然後我嘗試iphone1並再次獲取set1。並且沒有同時屬於set1和set2的元素。在iOS中獲取beacon的唯一標識符?

我嘗試了其他變量和屬性,但它們似乎都是常見的信標或各種iOS設備上的不同。如何解決這個問題?

+0

您需要聯繫製造商或使用iOS設備以外的其他設備進行逆向工程。如果他們發送iBeacon消息,您將無法使用核心藍牙獲取其靜態唯一標識符,並且在知道其區域UUID之前,您將無法使用iBeacon API發現它們 - 而如果它們不是iBeacon格式,你首先必須弄清楚它們是什麼。大多數其他具有BLE功能的平臺(最近的Android,包括OSX在內的桌面等)都沒有這種限制,因此更適合查明正在發生的事情。 –

回答

1

已解決。對於我的情況(Jaalee信標)我應該按以下順序執行大量的動作:

  1. 信標掃描
  2. 店標,我發現到一個字典,並要求其服務清單
  3. 如果我得到的服務名單,然後我要求的特性列表
  4. ,如果我得到的特性列表,然後我請求 特點,我需要
  5. 值。如果前面所有的步驟都成功,然後我拿到信 proximityUUID,主要和次要這些都是合作mmon表示 「唯一標識符」

所有這些步驟都是異步調用的。另外,我應該刪除我在與他們斷開連接時發現的信標字典。如果信號燈仍然連接,我還應該檢查一些步驟。

由於信標對象是異步調用的,因此我使用字典中的鍵的「太獨特」的UUID。

+0

如果您的信標在iBeacon格式的廣告數據包和BLE特性中暴露相同的信息,這似乎只有可能發揮作用。 –

+0

我無法嘗試其他信標,但似乎我應該執行所有這些步驟。只有在最後一步,我才能決定我應該使用多少特徵來獲得唯一標識符:我只能使用proximityUUID,或者達到Apple建議的所有3個特徵。 – user3798020

+0

不是。大多數信標沒有提供獨特身份的特徵。你不應該單獨使用區域UUID,因爲在iOS上,你一次只能搜索一些獨特的知識值,而你可以在每個區域找到4億個獨特的主要/次要組合。 –

0

我懷疑你每次看到不同的UUID的原因是因爲你使用的是CoreBluetooth,而CoreBluetooth沒有給你燈塔的ProximityUUID--它給你的iOS會隨機生成藍牙會話UUID。 See here for details.

如果您想要一個工具來計算ProximityUUID並且您有Mac,那麼您可以嘗試ScanBeacon($ 10)或免費Beacon CLI

完全披露:我是Radius Networks的總工程師,負責製作上述產品。

+0

第二個鏈接中斷 – user3798020

+0

對不起,你是正確的。我們不得不重新回購以做出一些改變。我們將在接下來的幾天內將其恢復使用,並且我們會在更新時對其進行更新。 – davidgyoung