簡體   English   中英

如何估計兩個Android設備之間的距離? (藍牙優先)

[英]How to estimate distance between two android devices? (bluetooth preferred)

目標是沒有真正的距離。 這是更簡單的事情。
目標是檢查另一個設備是否非常非常接近 對或錯。 假設 10 或 15 厘米很近,所以我們的檢查是正確的,任何更遠的設備都無法通過檢查,這是錯誤的。

我的第一種方法是使用 api 的方法fetchUuidsWithSdp()但它失敗了!
無論是距離幾厘米的設備還是在大房間的另一端,延遲似乎都是一樣的!

即使沒有藍牙,任何解決方案都是可以接受的。 例如,我完全不熟悉wifi direct p2p協議。 也許那里可能有一些有用的東西來粗略估計距離。

編輯:我正在閱讀有關接收信號強度指示器( RSSI )的信息。 這可以用於我們的特殊情況,粗略估計設備之間的距離。 但也許可以結合一些東西來提高准確性。

編輯:我將 Ralgha 的答案用於測試。 我確實建立了一個連接,並有一個在設備之間進行乒乓的小協議。
當以1 字節進行乒乓時,非常接近時平均延遲為 22.6000 毫秒,而在房間的另一個角落時為 22.6087 毫秒。
當以1024 字節進行乒乓時,距離非常近時平均延遲為 40.3173 毫秒,而在房間的另一個角落時則更小,為 32.3138 毫秒。
畢竟,延遲確實不攜帶任何有關距離的信息

謝謝!

你可以用聲音測量距離

我研究了藍牙定位,它和檢測信號強度一樣簡單。 為了獲得真正准確的結果,您還需要考慮您使用的手機類型、電池類型和電池狀況。 您還必須考慮環境及其對信號強度的影響,以及可能干擾信號的障礙物,例如人、牆壁、桌子等。

要確定距離,您還需要使用三角測量技術來確定移動設備的位置。 您還可以在您的環境中設置多個發射器並針對每個發射器進行測量。 了解這些發射器的位置后,您就可以計算出手機的位置。

但是,信號強度會有所不同,您必須進行大量校准。 有許多科學論文可以深入了解所需的算法。 還有幾家公司提供這種服務,用於商場、博物館等。

也就是說,如果您可以獲得信號強度,那么您應該能夠計算出基本的遠近結果,它不會完全准確,在這種情況下,我仍然認為擁有多個發射器仍然有助於很多。

論文,一些陷阱PDF(下載),另一篇論文

我從谷歌搜索藍牙定位中讀到了很多論文,它們會給你一些指導。

我能想到的唯一可行的方法是使用 NFC。 要使用藍牙或 Wi-Fi,您必須通過信號強度來實現,但每個發射器都不同,因此根本不可靠。

延遲是相當無用的,因為無線電波以光速傳播,而傳播一英寸和一英里之間的時間差基本上為零。 要測量這種差異,您需要比手機更高的分辨率。

您沒有指定此距離檢測的目標,但如果您可以為此添加一些額外要求(即手機方向和閃光燈),則可能會使用完全不同的方法。

如果兩個設備都以兩個攝像頭面對面的方式定向,則可以使用閃光燈來驗證正確的手機和距離。 相機圖像中產生的白點的大小隨着距離的增加而迅速減小,特定的閃光序列可以區分其他手機閃光燈和其他光源。

這可能需要一些調整才能在戶外工作,因為對於相同的距離,光斑尺寸會小得多......

問候。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM