走近AltBeacon Part1-->簡介

原文:點擊打開鏈接


簡介

藍牙技術beacon是一個大的熱點。 2014年是許多組織開展初步試點項目的一年,預計2015年將是大型烽火臺部署創造重大新服務的一年。事實上,ABI Research預測,到2019年,我們將會看到6000萬個單位商場。這將有非常多的beacon(信標)。

在大多數情況下,beacon用於確定一個人在百貨公司,機場,辦公室或博物館等建築物內的位置,並提供利用位置信息的服務。在這些情況下,beacon安裝在固定的位置,並且人的智能手機上的應用程序知道beacon的位置。 有趣的是,雖然我們已經開始看到beacon是移動而不是靜止的新類應用程序。 看看燈塔解決方案,一個可穿戴的燈塔設備,旨在跟蹤有特殊需求的學生,並保持他們的安全。我們認爲未來將會看到更多涉及移動和可穿戴beacon的解決方案。

這是針對開發人員的關於beacon應用程序開發的三部分系列的第一部分。 如果您對beacon完全陌生,建議您在深入介紹本系列將介紹的beacon和beacon應用的更多技術方面之前做一些介紹性閱讀。


Beacon廣播數據格式

關於beacon,特別是有關iBeacon(蘋果專用於beacon廣播數據的格式)的文章已經寫得很多。 iBeacon由iOS設備本地支持,但在某些情況下,還有一些需要滿足的許可要求。 您可以在Apple.com上閱讀關於iBeacon的所有信息。

但是,還有其他的beacon廣播格式規範,如Radius Networks的AltBeacon。 AltBeacon是開源的,可以在任何平臺上使用,不受限制。 Android的開源API也已經發布。

我最近花了一些時間使用AltBeacon格式和Android API,並決定分享我的經驗。我從一些“開發者的beacon基礎知識”開始。對於你們中的一些人來說,這是熟悉的,所以可以隨意跳過。


應用和beacon

典型的beacon(例如由商店部署的beacon)具有用於每個智能手機平臺的相關應用程序,其被設計爲以某種方式利用它。這些beacon的目的以及應用程序應該如何迴應的方式由組織定義。 例如,營銷部門可以設置應用程序,以彈出用戶站在前面的立體聲的20%的優惠券。

現在,一個單一的廣義的beacon應用程序無法理解它遇到的特定beacon背後的意圖(因爲你得到的特定beacon數據是別人設定的,所以你不會知道意圖),並以合理的方式行事。有一天這可能會改變。 Google的物理網絡實驗在一定程度上關心這個問題。


位置確定

任何beacon的主要目的是允許應用程序確定其與beacon的當前接近度,並由此以某種方式採取利用該位置信息的動作。 應用程序必須能夠訪問將藍牙廣播數據包中收到的beacon標識映射到實際地理位置的數據,這些地理位置使應用程序儘可能地簡單易行。 例如,可以通過將beaconID映射到經度/緯度座標來最好地服務一個應用程序,而對於另一個應用程序,從beaconID導出商店和部門ID可能更好,使得應用程序知道用戶剛剛走進倫敦一家商店的體育用品區域。

將beacon廣播數據包中的beacon標識映射到某種位置信息是打開beacon功能的關鍵。 beaconID數據可以由設備上的應用在本地映射,或者發送到雲/網絡以遠程解決。 本地數據存儲具有優勢,因爲即使沒有網絡,它也可以快速訪問和使用。 遠程存儲數據意味着所有應用程序都使用相同的數據,因爲只有一個副本,但網絡訪問將不可避免地需要更多的時間,並且需要注意確保用戶體驗不受影響。在某些情況下,最好的方法是混合存儲位置數據的中央副本,每當它發生更改時,遠程存儲並同步到應用程序的本地數據存儲。 這樣,即使沒有可用的網絡,應用程序也可以使用最新的數據副本。


隱藏在後臺

用戶不需要明確地啓動應用程序來檢測beacon。 一個好的beacon應用程序會自動在後臺運行,不需要用戶干預。需要注意確保系統資源,尤其是電池電量,不管發生的任何後臺處理都能夠節省使用。


什麼叫靠近?

這是所有beacon應用程序開發人員需要考慮的問題,它有兩個方面。 一方面,應用要求需要指出觸發行爲的條件,而這些條件必須包括與beacon或beacon距離有關的事情。 對於某些應用,只要在一個或多個beacon範圍內(幾個beacon集體可能定義一個“區域”)就足以保證觸發一個動作。 如果您想要在客戶走進商店的特定部門或乘客進入機場的登機區域時觸發某項操作,則可能會出現這種情況。

對於其他應用程序,也許用戶在應用程序通知用戶之前需要非常接近特定的beacon。 博物館或藝術畫廊指南可能只是想通知用戶,當他們非常接近具體的主要展品。

估計用戶距離beacon的距離是可能的。 這種估計的基礎是由接收機(智能手機)測量的信號強度以及包含在廣播數據包內的數據,該數據表明在距離beacon一定標準距離(例如1米)處測量時應該是什麼信號強度。 如果您使用的是API,您可能會發現API很容易提供距離估計值。 然而,你到達估計的距離,它仍然只是一個估計,儘管是一個對於大多數目的來說足夠準確的距離。


動作

根據beaconID確定用戶的位置後,應用程序應該做什麼? 答案是“因地制宜”。市場營銷是通過將產品和特別優惠得到用戶的關注而成爲beacon的流行應用。 博物館和畫廊正在創建應用程序,自動通知用戶他們剛剛進入的房間和主要展品。 機場利用beacon跟蹤整個機場旅客的進展情況。 在後一種情況下,機場beacon應用所採取的行動可能對用戶是不可見的。沒有“一刀切”的答案。

我們可以說的是,應用程序設計師必須謹慎以確保beacon應用程序獲得用戶注意的方式不會變得干擾或煩人。 畢竟用戶知道如何卸載應用程序!


AltBeacon數據格式

讓我們轉到Alebeacon。AltBeacon廣播數據在製造商特定的廣播數據(AD)結構(使用藍牙廣播包)中被編碼。 其他廣播數據格式也是如此。AltBeacon格式的完整規範可以在https://github.com/AltBeacon/spec中找到,同時還有以下兩個圖表


正如您所看到的,在廣播數據結構中,我們有一個代碼,指示這是一個稱爲BEACON CODE的AltBeacon廣播數據包,一個20位八位字節BEACON ID,唯一標識一個特定beacon,以及一個REFERENCE RSSI值,其中包含平均期望信號強度 當從beacon一米處測量時。


BEACONCODE,相當有趣,有固定的十六進制值0XBEAC。 這不可愛嗎?

AltBeacon規範建議,對於給定組織單位部署的所有beacon,BEACON ID的前16個或更多字節應該相同。 其餘部分可以細分,並以任何你喜歡的方式使用,但總體結果必須是每個beacon保留一個唯一的標識符。


 在第2部分中,我將重點介紹一下AltBeacon Android API,並介紹一下我使用API編寫的博物館指南應用程序。


注:以上僅是翻譯,大多來自谷歌翻譯,我只是一個搬運工。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章