2013-03-28 89 views
32

我會從問題開始。用於接近檢測的藍牙LE RSSI iOS

BTLE RSSI是一種很好的方式來指示兩個設備彼此靠近嗎?它只適用於像FOB等小設備嗎?

的問題:

我目前在看製作將使用BTLE,並允許基於接近連接的應用程序。在這方面,它非常像蘋果在高級核心藍牙主題演示中展示的演示應用程序(當兩個設備幾乎接觸,然後連接)。

據我所知,接近度是根據中央發現外圍設備時的RSSI值來確定的。但是,當我嘗試使用兩個iPad時,信號似乎太強大了,但由於它與鄰近設備之間沒有很好的相關性,所以它也不太準確,因爲它沒有精確地刺接近。

我已經嘗試過蘋果示例代碼,這是類似的設備不必關閉所有的信息從一個傳遞到另一個。

如果僅僅有減少外圍設備廣告的信號強度....

預先感謝任何幫助的方式。

回答

20

馬修格里芬的經驗與我的相匹配。但是 - 當我們能夠衡量一段時間的時間時,有兩件事幫助我們更好地進行校準。

雖然我們確實需要在天線方向和IMU上包裹一個簡單的(卡爾曼)濾波器才能得到一個粗略的運行評論 - 但這不是CPU或電池燈。

  • 使用IMU你旅行的距離/方向的一個公平的想法 - 如果這是在很短的時間週期 - 我們假設其他「面」是固定的。這有助於獲得「當前」方向和「校準當前環境噪音」的價值。
  • 同樣 - 旋轉/位置變化也一樣。

我們發現一般來說,設備的重新定位是獲取方向的更好方法;並且只有在設備沒有太多旋轉時,該距離在「移動校準」之後的某些高達大約30至600秒時纔是可靠的。實際上,一旦需要4-5個「其他」設備,最好不要太流動,以保持自己的動態校準。

然而,相反是相當可靠的 - 即我們知道什麼時候不測量。最終的結果是,人們可以很好地確定「在鍵盤上」和「重新定位」/通過特定的門/開門或方向移開的事物。同樣通過隨機在房間裏跳舞來測量場地;改變方向很多 - 一旦接收機天線波瓣在固定時間後稍微有些變化,就可以很好地工作。

+0

你有任何公式將數據庫轉換爲約? – ilesh

10

我花了上週嚴格處理RSSI,試圖使用Wifi和藍牙LE傳感器進行位置三角測量和距離轉換。

不幸的是,我發現RSSI太過挑剔,不可靠,無法一直用來確定距離。理論上,RSSI和距離根據平方反比規律(雙倍距離,RSSI將下降固定數量的分貝),但實際上RSSI受不可控因素影響,如天氣(乾燥天氣允許RF以及障礙物(從一個傳感器到另一個傳感器的路徑上的任何金屬物體或人體都會導致衰減,並且任何金屬物體靠近其中一個傳感器定位將會導致信號強度的增加)。

有辦法可以嘗試彌補這一點。 This paper是我閱讀的關於如何獲得準確結果的最佳論文之一,但底線是這是一種不可靠的方法,除非您只想瞭解設備位置的一般概念。

+0

該文章的鏈接已損壞。 – Raanan

2

如果我理解的很好,您正嘗試實現類似於WWDC演示中看到的功能以及Bump這樣的應用。對於那個RSSI就足夠了。測試適當的閾值(例如> -30),你會沒事的。

+0

並不那麼簡單。 RSSI值非常嘈雜,需要過濾。 –

+0

@PhillApley我認爲這取決於你的應用程序。對於大多數情況下,如果您需要確定兩臺設備是否非常接近並且某些錯誤是可以接受的,那麼RSSI就足夠了。 – allprog

13

你完全正確的關於RSSI狂放地隨機跳躍。你應該每兩秒鐘檢索一次RSSI值(更快,並且你會得到一堆錯誤)。拋出大於〜-40分貝尖峯的RSSI值,並在向用戶聲明您的大致範圍之前,使用過去值的彙總。

至於你的以下聲明,你很幸運。

如果僅僅有減少 外圍設備廣告的信號強度的辦法....

您正在尋找該服務被稱爲TX Power Service。在您的外設上實施此服務可以讓您降低設備的發射功率。這樣可以節省廣告數據可見的範圍。然而,不幸的是,我們不能在iOS設備上訪問此服務。但是,如果您正在爲BLE外設編寫自己的固件,則這是您想要的服務。