顯示具有 iBeacon 標籤的文章。 顯示所有文章
顯示具有 iBeacon 標籤的文章。 顯示所有文章

2014年2月7日 星期五

詳細介紹 iBeacon

iBeacon (beacon 有燈塔之意) 是由蘋果公司 (Apple Inc.) 所制定的一項室內定位(indoor positioning)技術,已於 2013年6月公佈 iOS7 內搭載這項技術。

想要認識這項技術,可以從以下幾個方面來說明:

一、應用實例


直接看影片能最快理解這項技術。

  1. Macy’s (美國的大型百貨公司)的 ShopKick。
http://www.theverge.com/2013/11/21/5129336/macys-apple-ibeacon-support-herald-union-square-stores-shopkick

  1. 美國職棒大聯盟 (MLB) 也跟上這項技術應用了
http://mashable.com/2013/09/26/mlb-at-the-ballpark-app/

  1. 美國的 Apple Store
http://www.inside.com.tw/2013/12/07/apple-guides-shoppers-inside-stores-with-ibeacon

  1. 日本的 株式會社tab
http://prtimes.jp/main/html/rd/p/000000005.000006482.html


二、技術概要


簡單講就是:

iBeacon 應用 = BLE (Bluetooth Low Energy,低公率藍芽技術) + iBeacon 定位技術

BLE 是一種傳送、收發訊號的技術;至於 iBeacon 則負責定位相關的技術。

以上面提到 Macy’s 百貨公司的例子來說,影片中的女性顧客持有 iPhone,而 iPhone 安裝了 Macy’s 提供的 ShopKick 這支 App,這個 App 就是負責接受訊號的 iBeacon 訊號接收端。在 Macy’s 百貨公司裡,安裝了能發送訊號的 iBeacon 燈塔。

所以從該女性顧客一進門就能收到最新的銷售訊息(打折資訊或限量商品資訊?),然後她一走近手提包的賣場區塊時,該 App 就能接收到就近燈塔送來的資訊,然後呈現出來讓顧客知道她可以看到哪些包包、以及每個包包的相關資訊。

說到這裡,我想到的是:這樣,以後還需要介紹商品的店員嗎?

總之,燈塔會感應到 App 和它的距離,並且在到達某個設定好的距離後,決定傳送什麼訊號/資訊給 App。像美國職棒大聯盟 (MLB) 的例子也差不多,其中一項就是:走進球場就把今日先發名單發送到 App。

從上面的例子來看,似乎就是燈塔到App的單向訊息傳送嗎?其實也不是。因為 beacon (燈塔)本身也能蒐集資訊、並且進行統計。例如:記錄並統計出哪一個商品區客戶最多?或是客戶的滯留時間最久?行人走進店內的比例?客戶們的動線統計為何?以上可以說是客戶的分析,也可以說是商品的分析。

特別值得一提的,在 iBeacon 的規範下,beacon 本身是不儲存各別客戶的地理位置的。這個說法來自 http://www.inside.com.tw/2013/12/07/apple-guides-shoppers-inside-stores-with-ibeacon。若要追蹤客戶的動線,勢必燈塔之間要存在一個識別碼來代表一個裝有 App 的裝置,同時記錄下該裝置走近自己的時間點。這個識別應該只能在一段時間內有效(例如:客戶走出店外之前),不可以做為該裝置的永久識別,這樣就沒有會針對性地取得個人資訊的問題。實際上怎麼做的?我還沒去找相關資訊就是了。

三、比較


iBeacon 的出現會讓人聯想到 NFC,會想比較兩者的差異。

一般來說,第一個被討論的觀點是感應/偵測的距離。基於 BLE 的 iBeacon 在這點是比較遠的。

第二,NFC 是點對點技術,而 BLE 是廣播型的,所以可以”散播訊息”。廣播聽起來比較不安全嗎?iBeacon 是以 UUID 作為識別進行配對的,而且俱備 128bits 的加密技術,在一般應用上所需要的安全程度和 WIFI 差不多,若嫌不安全,那大概 WIFI 也不敢用了。

第三要來談的是建置成本。因為 BLE 的感應距離比較寬展,同一空間內所需要佈署的燈塔數量會比佈署搭載 NFC 晶片的硬體要來得少得多,所以 iBeacon 的建置成本會比較低。而且很多人的行動裝置上都有藍芽晶片,但是有 NFC 晶片的裝置就少得多。所以從成本來看,NFC 比較高。

四、廠商


不是想幫廠商打廣告,只是列出來大家有得比較、容易聯想。

http://estimote.com
https://www.sticknfind.com
http://www.aplix.co.jp/?page_id=7593
http://www.sensorberg.com


五、參考


http://en.wikipedia.org/wiki/Bluetooth_low_energy
http://digi.tech.qq.com/a/20130915/001341.htm
http://www.digitimes.com.tw/tw/rpt/rpt_show.asp?cnlid=3&v=20140115-023&n=1
http://d.hatena.ne.jp/samril/20131211/1386816475
http://zh.wikipedia.org/wiki/近場通訊

2014年1月28日 星期二

iOS 7 的 iBeacon 接收端

在 iBeacon 接收端,主要有 CLLocationManager、CLLocationManagerDelegate 及 CLBeaconRegion 三個類別執行工作。

CLBeaconRegion 用來表示「和某個應用程式批配的某個範圍」。由於一個範圍內可能有多個不同的接收端要收到不同的訊息,或是同一個接收端要在不同的範圍內接受同一個訊息,所以才需要把範圍和應用程式同時批配。用以識別範圍的方式是使用 NSUUID 物件,而識別應用程式則是以 identifier 作為區分。

region = [[CLBeaconRegion alloc]
                       initWithProximityUUID:@“UUID的值”
                       identifier:@“應用程式的識別字”];
region.notifyOnEntry = YES;  //當進入指定範圍時通知
region.notifyOnExit = YES;   //當離開指定範圍時通知
region.notifyEntryStateOnDisplay = NO;


CLLocationManager 是實際進行偵測的類別,它接受 CLBeaconRegion 的實體,在指定的範圍及應用程式識別的狀況下,接收者來自發送端送來的訊息。

manager = [CLLocationManager new];
[manager startMonitoringForRegion: region];
[manager startRangingBeaconsInRegion: region];


CLLocationManagerDelegate 定義了給 CLLocationManager 物件呼叫的種種 call-back 函式,這樣當 CLLocationManager 偵測到什麼之後,就透過送訊息給這些函式讓應用程式可能針對不同的狀況、資訊進行判斷、執行自身行為。

以下僅取幾個方法為例:

- (void)locationManager:(CLLocationManager *)manager
         didEnterRegion:(CLRegion *)region
{
    //進入範圍時通知
}

- (void)locationManager:(CLLocationManager *)manager
          didExitRegion:(CLRegion *)region
{
    //離開範圍時通知
}

- (void)locationManager:(CLLocationManager *)manager
        didRangeBeacons:(NSArray *)beacons
               inRegion:(CLBeaconRegion *)region
{
    // 在範圍內時會不斷被呼叫。
    // 從 beacons 參數中可以取得 CLBeacon 物件,可以從該中取得鄰近數值 (proximity) 、準確性數值 (accuracy),以及 RSSI 等數值。
}

iOS7 的 iBeacon 簡介

beacon 有「烽火台、燈塔、電臺」等意思,這裡筆者以「廣播電台」做為物喻。而 iBeacon 是由 Apple Inc. 所制定的一種室內系統。

這個系統的作用是什麼呢?我們可以由發送端和接受端兩方面來認識它。
發送端就像廣播電台,向它的四周發送特定頻率的訊息。
接受端就像收音機,若它設定的頻率和電台的頻率一致,它就會對該訊息進行處理。
在接受端接受到的訊息裡,包括它和發送端的距離、信號強度,甚至其他客製化的資訊。
換句話說,接受端可以依其收到的資訊,選擇性/策略性地去執行一些工作。

這個技術的應用範圍可以很廣,目前已經實際上路的,是在美國的 Apple Store。每個人只要帶著安裝 iOS7 的 iDevice,在藍芽開啟的情況下,走進商店後,就可以在 Apple Store App (不是 App Store 哦)上收到一些店家想提供給你的訊息。

對於店家而言,他們也可以得到一些訊息。例如,有一個 iBeacon 接收端經常在某些個發送端的附近。換成商業的說法,就是說,他們能得知自己的哪些商品最吸睛。這樣的技術幫助下,要做購物籃策略也就能更具體地制訂。

應用還可以延伸的方向太多了,大家一同發揮想像力吧。