2015-09-08 18 views
1

如何在具有其他BLE設備的環境中實施啓用BLE的智能手機的狀態檢測? 解決方案需要是用戶透明的,需要在睡眠模式下使用智能手機(不需要用戶採取任何措施,並且如果後臺進程需要始終處於活動狀態)你會如何做智能手機BLE室內檢測和定位?

在我看來,兩種可能性:

  • 從智能電話本身,掃描其它BLE設備
  • 來自其它設備,尋找智能電話

第一種可能性是難以/不可能由於OS重新實現關於後臺進程的限制。 由於BLE可見性超時,第二種可能性很難/不可能實現,這使得設備在離開設置頁面時不可見。

你的解決方案是什麼?

+0

帶電話應用程序的iBeacon – Paulw11

+0

這可能是一個解決方案,iBeacon在環境中,然後通過手機掃描這些信標。但是如何確保BLE掃描始終運行,並且永遠不會在後臺中被殺死或禁用? – phenetas

+0

那麼,如果用戶允許您的應用使用後臺定位服務,那麼您永遠不能保證「永不」,但核心位置信標監控在後臺保持活動狀態 – Paulw11

回答

0

我建立了一個藍牙設備探測器,而我遇到的問題是,大多數設備根本不播放自己。如果他們不這樣做,就沒有辦法找到他們。

您需要實現的是手機上的應用程序,它可以在後臺和位置特定的藍牙廣播器中執行掃描。然後,您將使用智能手機數據連接來確定設備的位置。

這是我在2012年的本科論文,所以如果你想我可以疏通它並將它發送給你帶外。

+0

是的,後臺應用程序將是解決方案從智能手機側掃描。我唯一的擔心是不是在後臺被殺害:/ 我有興趣在你的論文,如果你可以給我一個鏈接私下請。 – phenetas

+0

我的電子郵件是[email protected],你就非得ping我 – John

2

我只能詳細地談論iOS。

對於該平臺,使用iBeacons有很大的優勢。 (具有操作系統支持的BLE的特殊用例。)位置管理器支持將iBeacons註冊爲「位置」,並且操作系統在您輸入新的信標區域時通知您的應用程序。如果它沒有運行,它甚至會啓動你的應用程序。

這樣可以很好地解決您的應用程序是否正在運行的問題。

缺點是一次只能監視20個獨特的燈塔區域。有可能讓多個信標成爲同一區域的一部分,如果你聰明,你可以使用它來管理更多的信號點(你可以使用具有通配符的信標信標作爲主要或次要版本號,然後在實際檢測到信標時詢問該參數。)

定位幾乎是不可能的。從理論上說,你可以用三邊測量法來測量多個信標的位置,但實際上距離數據過於粗糙和變化很大。

+0

謝謝。是的,我讀過關於地區監測和iBeacon顯示,針對iOS 7或更高版本:https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/LocationAwarenessPG/RegionMonitoring/RegionMonitoring.html 如果我沒理解好,操作系統現在「聽」周圍的信標,並關注GPS座標,這樣我們就可以在進入信標範圍時喚醒應用程序,並在進入指定位置時喚醒應用程序。 – phenetas

+0

不是真正的GPS位置。如果你願意的話,你可以這樣解釋它,但它實際上只在BLE發射器的範圍內。 –