Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
iOS Swift 之 iBeacon
藍芽應用開發學習
學習主題
• 社群成立目的簡介
• 自我介紹與哈啦
• 功力複習
• 程式實作(Swift)
• 問題與交流
社群成立目的
簡述:
諸葛魔斌來自只會拼觀光的資訊沙漠城市,也不是正統資訊相關背景出身,在程式
設計領域算是半調子,靠著自學與個人摸索,在沙漠城市中奮戰不懈。懷抱著讓資訊沙
漠城市的子弟能無門檻的學習,輕鬆簡單的跨入資訊程式的領域的癡傻夢想的非...
個人簡介
諸葛魔斌
工作室:諸葛魔斌科技創作室
學歷:高應大---工管系(非資訊科系)
E-Mail:chugermobin@gmail.com
官方網站:http://twcts.com
Facebook:https://goo.gl/vol...
學習程式的歷程
學生時期:打電動,沒有日夜的界限
二專畢業:初次接觸 dBase、Lotus  使用 Clipper 做經銷存、應收付帳系統
工作階段1:接觸 Office,開始使用Excel(Lotus)
工作階段2:品保工作,自學圖表、函...
iOS Swift 之 iBeacon 藍芽應用開發學習
維基百科---(https://zh.wikipedia.org/wiki/IBeacon)
iBeacon是蘋果公司提出的「一種可以讓附近手持電子設備檢測到的一種新的低功耗、低成本信號...
功能
一套iBeacon的部署由一個或多個在一定範圍內發射傳輸他們唯一的識別碼iBeacon信標設備組成。
接收設備上的軟體可以查找iBeacon並實現多種功能,比如通知用戶,接收設備也可以通過連結
iBeacons從iBeacon的通用屬性配...
區域監測
區域監測僅限20個區域,可以在後台運行,即使app在後台運行或者手機鎖屏,依然有不同的應用
通知監聽app(用戶)進入/退出該區。區域監測也給了關閉的app一個反應的機會,在進入相關區
域時允許彈出小窗口。
電力消耗
低功耗藍牙相比於...
最新進展
2013年中蘋果公司介紹了iBeacons,專家撰寫了文章表示iBeacons怎樣通過簡化支付提供現場支
持來幫助零售業。隨著IOS7的推出,零售商和其他中小型企業將能夠使用藍牙4.0技術。據報導,
2013年12月6日蘋果在其254...
iOS Swift 之 iBeacon 藍芽應用開發學習
應用
其實 iBeacon 是 iOS 中延伸定位服務的一種新技術,iBeacon基地台透過低功耗藍牙技術
(Bluetooth Low Energy,也就是Bluetooth Smart)建立一個訊號接收區域,只要我們帶著 iOS
裝置走入這...
Beacon 技術來源低功耗藍牙技術,他不須要網路連接,而只要有兩個藍牙點就可以運作,而且低
功耗藍牙的使用範圍約在200公尺內,也就可以直接從點與點了連結形成一個面;而 iPhone、iPad、
iPod touch…等 iOS 裝置使用的 ...
只是,使用時 iBeacon 時,還是必須透過 APP 才可以接收,也因此我們的手機必須下載相對應的
APP,才能使用這項功能。而特別的是 iPhone、iPad、iPod touch 不只可以接受低功耗藍牙的訊
號,同時也可以成為發送器,也因...
Google 地圖雖然具有定位功能,但仍以室外定位為主,只能透過衛星或網路定位找到我們在地圖
上的位置,而如果轉換到室內空間定位,那只能說聲抱歉囉!也因此,Google 一直想發展室內定
位技術,從 Android 4.3 開始,Android...
除了 iOS 和 Android 兩大系統都開始推廣 Beacon 技術的優勢之外,它還有個絕對優勢就是「省
電」,之前的定位服務大多是以 GPS全球定位系統,它必須要透過衛星才能定位,而且戶外的定位
是最清晰精準的,但只要打開有 GPS 的A...
想將 iBeacon 技術應用在生活中,並不是只要開啟藍牙就可以使用,而須要搭配 APP,只要在室
內放置 iBeacon 發送器,並開啟我們 iPhone、iPad…等裝置的藍牙,透過相對應的 APP,我們就
可以接收到訊號進而收到訊息。只是...
有了 iBeacon,以後當我們走進一家有使用 iBeacon 的商店,只要手機接收到藍牙訊號,APP 就
會自動推播通知我們店裡有什麼特價品、有哪些是我們購物清單上要購買的東西。
未來博物館也可以陳設發送器,這麼一來就可以透過 iBeacon...
此外,知名的線上交易支付平台 PayPal 也將把 iBeacon 應用在實際生活中了!只要商店、景點或
展覽有設置 iBeacon 發送器,我們就可以透過它支付小費、門票囉!
從這些應用看來,我們會發現 iBeacon 在生活中的應用可以說是...
說明
最廣義而且最簡單的 Bluetooth Beacon 在實作上並不困難。只要使用一顆合乎 Bluetooth Smart
(以前叫做 BLE)規格的晶片,然後撰寫 firmware 讓它可以在某個Bluetooth Service 中,「...
其次,Beacon 所廣播的ID 要如何具備唯一性,或者足夠的防仿冒性,則與Beacon 的用途有關。
如果Beacon 只是用來讓讓商家提供互動廣告與微定位服務,那防仿冒性的要求自然不高。但如果
Beacon 打算用來作為一種身分識別,那安全...
目前市場上,有兩大類產品,都是以 Bluetooth Smart 技術為基礎,所以經常被搞混。
(Bluetooth Smart 先前更廣為人知的名稱是 BLE,是 Bluetooth Low Energy 的縮寫)。第一大
類是所謂的 Key...
第二大類,則是 Beacon 類的產品,包括 mBeacon 以及 Apple iBeacon 在內都是。在設計理念
上,Beacon 和前述剛好相反,是設計來服務它人而不是主人。Beacon 除了在少數的情況下,多
數的時候是不會和主人的手機...
實作:
1. 藍芽設置 (Peripheral)
2. 連結藍芽 (Central)
3. iBeacon
4. 手機模擬 iBeacon
iOS Swift 之 iBeacon 藍芽應用開發學習
iOS Swift 之 iBeacon 藍芽應用開發學習
藍芽設置 (Peripheral)
1. 新建 Single View Application 專案
2. 編輯 ViewController.swift
設定 import CoreB...
iOS Swift 之 iBeacon 藍芽應用開發學習
連結藍芽 (Central)
1. 新建 Single View Application 專案
2. 設置 Main.storyboard,放置 Button 至佈局中
3. 編輯 Vi...
iOS Swift 之 iBeacon 藍芽應用開發學習
連結藍芽 (Central)
設置 Main.storyboard,放置 Button 至佈局中
iOS Swift 之 iBeacon 藍芽應用開發學習
iBeacon
1. 新建 Single View Application 專案
2. 設定 Info.plist,設置 LocationManager 權限
3. 編輯 ViewCon...
iOS Swift 之 iBeacon 藍芽應用開發學習
iBeacon
設定 Info.plist,設置 LocationManager 權限
(Location Always Usage Description 這個 App 將透過 Bea...
iOS Swift 之 iBeacon 藍芽應用開發學習
手機模擬 iBeacon
1. 新建 Single View Application 專案
2. 設定 Info.plist,設置 LocationManager 權限
3. 編輯 Vi...
iOS Swift 之 iBeacon 藍芽應用開發學習
結論
後續
可以開發 (1) 商/展場應用,園區管理
(2) 短距離 / 室內定位
(3) 未來 BLE 5.0 長距離物聯網控制
iOS Swift 之 iBeacon 藍芽應用開發學習
Upcoming SlideShare
Loading in …5
×

iOS swift 之 iBeacon 藍芽應用開發學習

2,039 views

Published on

iBeacon裝置是一個基於Bluetooth Low Energy(BLE)技術的室內定位系統,所有的裝置理論上都能相容於其他支援BLE的終端裝置。在室內定位的應用上,系統可以基於顧客在店裡的位置,直接提供產品訊息或其他資訊到顧客的手機。

Published in: Education
  • Login to see the comments

iOS swift 之 iBeacon 藍芽應用開發學習

  1. 1. iOS Swift 之 iBeacon 藍芽應用開發學習
  2. 2. 學習主題 • 社群成立目的簡介 • 自我介紹與哈啦 • 功力複習 • 程式實作(Swift) • 問題與交流
  3. 3. 社群成立目的 簡述: 諸葛魔斌來自只會拼觀光的資訊沙漠城市,也不是正統資訊相關背景出身,在程式 設計領域算是半調子,靠著自學與個人摸索,在沙漠城市中奮戰不懈。懷抱著讓資訊沙 漠城市的子弟能無門檻的學習,輕鬆簡單的跨入資訊程式的領域的癡傻夢想的非主流程 式創作者 成立目的: 為有心想要進入程式設計的門檻,並共同在資訊科技這個領域一起努力學習的朋友 所成立的社團。 這裡沒有資訊人藏步的銅牆鐵壁,只要願意在荒漠台灣努力,不僅看得到釣竿,還能親 手揮竿,絕不只有紙上談兵,一定讓努力學習者得其門而入。 歡迎有心想要跨入程式設計領域的初學者加入,更歡迎願意並有熱忱的程式高手加 入指導。
  4. 4. 個人簡介 諸葛魔斌 工作室:諸葛魔斌科技創作室 學歷:高應大---工管系(非資訊科系) E-Mail:chugermobin@gmail.com 官方網站:http://twcts.com Facebook:https://goo.gl/volM7Z 粉絲團 :https://goo.gl/LI08wh 諸葛魔斌科技創作室 社群 :https://goo.gl/kjCsz1 高雄資訊程式群學社 Line (id) :http://goo.gl/ayGW7d Line@ :http://goo.gl/TxeXki Line Bot :http://goo.gl/BrdyZl Play商店:http://goo.gl/CkVdsd App Store:http://apple.co/1Qehd64 專長:VB(VBA)、C#、Java(Android)、Swift(iOS)、PHP、Python、Conrona、 Golang、Unity、MySQL、FreeBSD、Server架設、CAD 、 …… 楊政斌
  5. 5. 學習程式的歷程 學生時期:打電動,沒有日夜的界限 二專畢業:初次接觸 dBase、Lotus  使用 Clipper 做經銷存、應收付帳系統 工作階段1:接觸 Office,開始使用Excel(Lotus) 工作階段2:品保工作,自學圖表、函數、VBA,做出自動化品管系統 興趣展開:自學VB,製作ERP系統,接觸Linux、FreeBSD,自學架設Server  諸葛魔斌誕生 大學時期:半自學 Android App(Java)、C#、iOS App(Swift) 工作轉變:成立諸葛魔斌科技創作室,接案學習,救國團電腦資訊講師 實績:
  6. 6. iOS Swift 之 iBeacon 藍芽應用開發學習 維基百科---(https://zh.wikipedia.org/wiki/IBeacon) iBeacon是蘋果公司提出的「一種可以讓附近手持電子設備檢測到的一種新的低功耗、低成本信號 傳送器」的一套可用於室內定位系統的協議。這種技術可以使一個智慧型手機或其他裝置在一個 iBeacon基站的感應範圍內執行相應的命令。 這是幫助智慧型手機確定他們大概位置或環境的一個應用程式。在一個iBeacon基站的幫助下,智 慧型手機的軟體能大概找到它和這個iBeacon基站的相對位置。iBeacon能讓手機收到附近售賣商 品的通知,也可以讓消費者不用拿出錢包或信用卡就能在銷售點的POS機上完成支付。iBeacon技 術通過低功耗藍牙(BLE),也就是智能藍牙來實現。 iBeacon為利用低功耗藍牙可以近距離感測的功能來傳輸通用唯一識別碼的一個app或作業系統。 這個識別碼可以在網上被查找到用以確定設備的物理位置或者可以在設備上觸發一個動作比如在社 交媒體簽到或者推送通知。 各種供應商創造了不同形式的iBeacon硬體設備,包括小硬幣電池設備,隨身碟和藍牙4.0通用加密 狗。
  7. 7. 功能 一套iBeacon的部署由一個或多個在一定範圍內發射傳輸他們唯一的識別碼iBeacon信標設備組成。 接收設備上的軟體可以查找iBeacon並實現多種功能,比如通知用戶,接收設備也可以通過連結 iBeacons從iBeacon的通用屬性配置服務來恢復價值。iBeacons不推送通知給接收設備(除了他 們自己的ID),然而,手機軟體可以使用從iBeacons接收到的信號來獲取推送通知。 分類 分類工作僅應用在前端,但是將返回數組iBeacons的所有屬性(UUID等)。 一個iOS設備接收一個iBeacon的傳輸可以近乎於iBeacon的距離,iBeacon的傳輸距離分為3個不 同的範圍: ◎ 最近:幾公分 ◎ 中距:幾米 ◎ 遠距:大於10米 當用戶進入、退出或者在區域內徘徊時,iBeacon的廣播有能力進行傳播,根據用戶和Beacon的 距離,這三個距離範圍可以相互交互。 iBeacon傳輸的最大射程將取決於位置、現場布置、障礙物(例如在一個皮革手袋或厚情況下)。標 準信號有近似的70米,遠程信號可達450米。 iOS Swift 之 iBeacon 藍芽應用開發學習
  8. 8. 區域監測 區域監測僅限20個區域,可以在後台運行,即使app在後台運行或者手機鎖屏,依然有不同的應用 通知監聽app(用戶)進入/退出該區。區域監測也給了關閉的app一個反應的機會,在進入相關區 域時允許彈出小窗口。 電力消耗 低功耗藍牙相比於傳統藍牙在功耗和效率方面有顯著提高,在16個不同的iBeacon廠商的一項研究 報告稱,電池的壽命在1到24個月的範圍之內。蘋果公司,用一枚紐扣電池提供了1~3個月的生活, 設置了100ms的廣告頻率,這樣如果電池提供時間增加到2~3年就相當於廣告頻率增到到900ms。 在部署beacon啟用手機app時,手機電池的消耗是一個必須要考慮的因素。最新的報告顯示附近有 ibeacon時,舊的手機會消耗更多的電量,然而新一點的手機在同樣的環境下則更加高效。 除了瀏 覽手機消耗的時間,掃描附近的瀏覽量和信標數依然是電池消耗很重要的因素,正如Aislelabs指出 的報告一樣。 在後續的報告中,Aislelabs發現了蘋果5s,蘋果5c和舊版的蘋果4s在電池消耗方面 的一個大幅的改善。在10個ibeacons的周圍,蘋果4s每小時消耗了11%的電量而蘋果5s則每小時 比它少消耗5%的電量。 一個高效節能的ibeacon應用程式需要考慮這些方面去保持應用的響應性和 電池消耗之間的平衡。 iOS Swift 之 iBeacon 藍芽應用開發學習
  9. 9. 最新進展 2013年中蘋果公司介紹了iBeacons,專家撰寫了文章表示iBeacons怎樣通過簡化支付提供現場支 持來幫助零售業。隨著IOS7的推出,零售商和其他中小型企業將能夠使用藍牙4.0技術。據報導, 2013年12月6日蘋果在其254個零售店中使用了iBeacons。 截至2014年5月,花費最低5美金到30美金以上就可購買不同的iBeacons硬體設備。 每一個不同的 設備對自己的默認發射功率和廣告頻率都有不同的默認設置。一些硬體的廣告頻率可以快到每100 毫秒一次而還有一些的可以低至1赫茲。 iBeacon技術還在襁褓期,有報導指出一個軟體存在的異 樣,最新安卓系統的藍牙堆疊在面對許多iBeacons時會崩潰。 兼容設備 支持藍牙4.0的IOS設備(iPhone4s及以上,iPad第三代及以上,iPad mini第一代及以上,iPod Touch第五代)。 支持OS X Mavericks 10.9作業系統和藍牙4.0的蘋果計算機。 安卓4.3及以上(如三星 Galaxy S3/S4/S4 Mini, 三星 Galaxy Note 2/3, HTC One, Google/LG Nexus 7 2013 version/Nexus 4/Nexus 5, HTC Butterfly, OnePlus One) 支持Lumia Cyan及以上更新服務Windows Phone設備(報告顯示,不包含Windows Phone 8.1) iOS Swift 之 iBeacon 藍芽應用開發學習
  10. 10. iOS Swift 之 iBeacon 藍芽應用開發學習
  11. 11. 應用 其實 iBeacon 是 iOS 中延伸定位服務的一種新技術,iBeacon基地台透過低功耗藍牙技術 (Bluetooth Low Energy,也就是Bluetooth Smart)建立一個訊號接收區域,只要我們帶著 iOS 裝置走入這個訊號區域後,相對應的 APP 就會發出提醒詢問我們是否要接受訊號,一旦接受 iBeacon 訊號後,他就會偵測我們所在的位置,除了室內定位之外,還可以透過無線感應器和藍牙 通知我們附近有什麼樣的產品或是距離櫃台的距離。 iOS Swift 之 iBeacon 藍芽應用開發學習
  12. 12. Beacon 技術來源低功耗藍牙技術,他不須要網路連接,而只要有兩個藍牙點就可以運作,而且低 功耗藍牙的使用範圍約在200公尺內,也就可以直接從點與點了連結形成一個面;而 iPhone、iPad、 iPod touch…等 iOS 裝置使用的 Beacon 技術就稱為 iBeacon 囉! iOS Swift 之 iBeacon 藍芽應用開發學習
  13. 13. 只是,使用時 iBeacon 時,還是必須透過 APP 才可以接收,也因此我們的手機必須下載相對應的 APP,才能使用這項功能。而特別的是 iPhone、iPad、iPod touch 不只可以接受低功耗藍牙的訊 號,同時也可以成為發送器,也因此讓全球的 iOS 裝置可以透過 iBeacon 串接起來。但如果你以 為 iBeacon 技術只有 Apple iOS 系統使用的話,那可就大錯特錯囉! iOS Swift 之 iBeacon 藍芽應用開發學習
  14. 14. Google 地圖雖然具有定位功能,但仍以室外定位為主,只能透過衛星或網路定位找到我們在地圖 上的位置,而如果轉換到室內空間定位,那只能說聲抱歉囉!也因此,Google 一直想發展室內定 位技術,從 Android 4.3 開始,Android 也開始使用 Beacon 技術囉,只是 Android 裝置目前僅 能當作接收器使用,並不能當成發送訊息的裝置。 iOS Swift 之 iBeacon 藍芽應用開發學習
  15. 15. 除了 iOS 和 Android 兩大系統都開始推廣 Beacon 技術的優勢之外,它還有個絕對優勢就是「省 電」,之前的定位服務大多是以 GPS全球定位系統,它必須要透過衛星才能定位,而且戶外的定位 是最清晰精準的,但只要打開有 GPS 的APP,我們就會發現手機電力快速下降。至於 Beacon, 它使用的是低功耗藍牙,所以並耗電量低,在室外也許沒有什麼用途,但只要有接收器就可以快速 定位,並大幅度提升室內定位的精準度。 iOS Swift 之 iBeacon 藍芽應用開發學習
  16. 16. 想將 iBeacon 技術應用在生活中,並不是只要開啟藍牙就可以使用,而須要搭配 APP,只要在室 內放置 iBeacon 發送器,並開啟我們 iPhone、iPad…等裝置的藍牙,透過相對應的 APP,我們就 可以接收到訊號進而收到訊息。只是,截至目前為止,每一款發送器的外型、續航力…等都不一樣, 甚至連相對應的 APP 都不一樣,也為這個新市場投下了新商機。 iOS Swift 之 iBeacon 藍芽應用開發學習
  17. 17. 有了 iBeacon,以後當我們走進一家有使用 iBeacon 的商店,只要手機接收到藍牙訊號,APP 就 會自動推播通知我們店裡有什麼特價品、有哪些是我們購物清單上要購買的東西。 未來博物館也可以陳設發送器,這麼一來就可以透過 iBeacon 為民眾進行導覽。 iOS Swift 之 iBeacon 藍芽應用開發學習
  18. 18. 此外,知名的線上交易支付平台 PayPal 也將把 iBeacon 應用在實際生活中了!只要商店、景點或 展覽有設置 iBeacon 發送器,我們就可以透過它支付小費、門票囉! 從這些應用看來,我們會發現 iBeacon 在生活中的應用可以說是相當廣泛,而且是很實際的應用, 也將為生活帶來更多的便利,也難怪眾多科技網站都認為 iBeacon 未來很可能會取代 NFC 功能, 並將帶來生活的另一番變革了! iOS Swift 之 iBeacon 藍芽應用開發學習
  19. 19. 說明 最廣義而且最簡單的 Bluetooth Beacon 在實作上並不困難。只要使用一顆合乎 Bluetooth Smart (以前叫做 BLE)規格的晶片,然後撰寫 firmware 讓它可以在某個Bluetooth Service 中,「定 期」發送一段「特定格式」廣播訊息。此時,手機端的 App 則透過 Bluetooth Lib,在前景或背景 模式中,去掃描該 Bluetooth Service 中所有的廣播訊息,然後將這些廣播訊息的內容送到特定的 網路服務中去比對,然後再根據比對的結果進行對應的工作。這就是一種 Beacon 應用。 然而在這種看似單的流程中,有三個主要變數會影響使用者對Beacon 應用的使用體驗:一個是訊 息廣播的格式與內容,二是訊息廣播的間隔密度,三是廣播的訊號強度。 舉例來說,Apple 的 iBeacon 主要目的之一,是結合提供區域商店的精準推撥廣告服務,或是進行 精準的室內定位。在這個情境下,App 多數會在背景來執行對 iBeacon 廣播訊息的掃描。此時, 廣播訊息之間的間隔密度就不宜太長,才不會影響App 在背景偵測 iBeacon 的反應性。這也就是 為什麼iBeacon 的規範中,對廣播訊息的間隔要求不得超過0.15 秒。當然,廣播訊息間隔越短,耗 電量就越多。此時,對Beacon 供電方式的設計,以及Beacon 的體積,就會形成另外一種限制。 這也就是為什麼iBeacon 的硬體,在加入足夠的電池之後,都無法做得太小的主要原因。 iOS Swift 之 iBeacon 藍芽應用開發學習
  20. 20. 其次,Beacon 所廣播的ID 要如何具備唯一性,或者足夠的防仿冒性,則與Beacon 的用途有關。 如果Beacon 只是用來讓讓商家提供互動廣告與微定位服務,那防仿冒性的要求自然不高。但如果 Beacon 打算用來作為一種身分識別,那安全性就是另一種議題。 最後,廣播訊息的強度,則與Beacon 的應用領域有關係。類似iBeacon 這樣的商家微定位服務, 並不需要將訊號打太遠。但是,對於失物協尋或者社會安全的的服務,距離則是一個重要的關鍵。 mBeacon 就是在綜合上述考量下的產物。因此,它提供了可程式化的廣播內容與廣播間隔,防偽 機制,以及多元化的電力與機構選項。它是全世界第一個多用途的Beacon 平台。它希望提供跨作 業系統的支援,並且在單一框架中提供多元化的應用,成為虛擬與實體世界之間的關鍵連結。 iOS Swift 之 iBeacon 藍芽應用開發學習
  21. 21. 目前市場上,有兩大類產品,都是以 Bluetooth Smart 技術為基礎,所以經常被搞混。 (Bluetooth Smart 先前更廣為人知的名稱是 BLE,是 Bluetooth Low Energy 的縮寫)。第一大 類是所謂的 KeyFinder 或 Keytag,中國大陸習慣叫藍牙防丟器,像 Tile 以及 Stick&Find、 Trackr Bravo、BeLuvv (Guardian & Puppy)、Nut⋯⋯都是這類,市場上起碼有 20 個品牌。第二 大類才是所謂的 Beacon,包括 Apple 的 iBeacon,Qualcomm 的 Gimball,與 mBeacon 都是。 第一類的產品並不算是 Beacon,而是一種基於 FindMe 這個標準 Bluetooth Profile 的產品。透 過實施 FindMe 這個標準的藍牙服務,可以讓裝置與主人的手機的App 端之間建立經常性連線,即 使 App 在背景運作,這個連線依然存在。因為連線是經常性存在,因此手機可以發送訊號隨時找尋 裝置,裝置也可以隨時發送訊號尋找手機。如果訊號過低即將斷線,手機端的 App 還會收到通知, 所以 App 可以即時發出聲響或訊息通知主人,或者自動記錄斷線的座標。然而,也因為是經常性連 線,所以只要裝置在主人手機的連線範圍內時(通常是 30 到 50 公尺),裝置是不會進入廣播的模 式,當然也就不會被範圍內被其他人的藍牙手機發現。只有當主人的手機不在連線範圍內時,裝置 才會進入廣播的模式,但是廣播的內容通常只是裝置的名稱,而不是一種編碼。最後,如果主人的 手機斷線一段時間,例如 48 小時,裝置就會自動關閉。根據上述的特點,簡單的說,這類產品基 本上是設計來服務「裝置的主人」,而不是來服務「非特定的其他人」。 iOS Swift 之 iBeacon 藍芽應用開發學習
  22. 22. 第二大類,則是 Beacon 類的產品,包括 mBeacon 以及 Apple iBeacon 在內都是。在設計理念 上,Beacon 和前述剛好相反,是設計來服務它人而不是主人。Beacon 除了在少數的情況下,多 數的時候是不會和主人的手機之間建立經常性的連線。相反地,它們會持續以某種時間間隔來廣播 某種編碼,以及某些可參數化的屬性。 到目前為止,mBeacon 寵物吊牌與鑰匙圈,是全世界唯一建立在 Beacon 概念上的「協尋器」產 品。這樣做,當然會使 mBeacon 寵物吊牌或鑰匙圈不具備前述 Key Finder 類產品的雙向呼叫與 即時斷線警告功能,而只能提供從手機 App 呼叫裝置的功能。但也因此獲得更遠的協尋距離,以及 更靈敏的協尋反應。同時,也賦與寵物吊牌與鑰匙圈更多元化的功能。 當手機App 結合 mBeacon 以及雲端服務之後,各種虛實整合的創新應用將成為移動互連網的下一 波主流應用: 尋找走失的小朋友,老人,或者寵物 近場遊戲與近場交友 商場導覽與近場行動廣告 智慧型會員卡與行動支付 門禁與身分安全識別 大型場所的進出與人群流量管理 車輛(汽車、機車、自行車)管理與識別 社會安全與照護 登山迷途救援 iOS Swift 之 iBeacon 藍芽應用開發學習
  23. 23. 實作: 1. 藍芽設置 (Peripheral) 2. 連結藍芽 (Central) 3. iBeacon 4. 手機模擬 iBeacon iOS Swift 之 iBeacon 藍芽應用開發學習
  24. 24. iOS Swift 之 iBeacon 藍芽應用開發學習 藍芽設置 (Peripheral) 1. 新建 Single View Application 專案 2. 編輯 ViewController.swift 設定 import CoreBluetooth 判斷藍芽是否開啟,如果不是藍牙4.x ,也會傳回電源未開啟 取得行動裝置取個藍芽名字 收到 central 端的訂閱/取消指令
  25. 25. iOS Swift 之 iBeacon 藍芽應用開發學習 連結藍芽 (Central) 1. 新建 Single View Application 專案 2. 設置 Main.storyboard,放置 Button 至佈局中 3. 編輯 ViewController.swift 設定 import CoreBluetooth 判斷藍芽是否開啟,如果不是藍牙4.x ,也會傳回電源未開啟 找到藍芽裝置 訂閱按鈕處理 取消訂閱按鈕處理 讀資料按鈕處理 寫資料按鈕處理 斷線按鈕處理 重新連線按鈕處理
  26. 26. iOS Swift 之 iBeacon 藍芽應用開發學習 連結藍芽 (Central) 設置 Main.storyboard,放置 Button 至佈局中
  27. 27. iOS Swift 之 iBeacon 藍芽應用開發學習 iBeacon 1. 新建 Single View Application 專案 2. 設定 Info.plist,設置 LocationManager 權限 3. 編輯 ViewController.swift 設定 import CoreBluetooth & import CoreLocation 判斷藍芽是否開啟,如果不是藍牙4.x ,也會傳回電源未開啟 找到藍芽裝置 訂閱按鈕處理 取消訂閱按鈕處理 讀資料按鈕處理 寫資料按鈕處理 斷線按鈕處理 重新連線按鈕處理
  28. 28. iOS Swift 之 iBeacon 藍芽應用開發學習 iBeacon 設定 Info.plist,設置 LocationManager 權限 (Location Always Usage Description 這個 App 將透過 Beacon 定位)
  29. 29. iOS Swift 之 iBeacon 藍芽應用開發學習 手機模擬 iBeacon 1. 新建 Single View Application 專案 2. 設定 Info.plist,設置 LocationManager 權限 3. 編輯 ViewController.swift 設定 import CoreBluetooth & import CoreLocation 當某裝置進行掃描周圍藍牙裝置時 開始廣播訊號
  30. 30. iOS Swift 之 iBeacon 藍芽應用開發學習 結論 後續 可以開發 (1) 商/展場應用,園區管理 (2) 短距離 / 室內定位 (3) 未來 BLE 5.0 長距離物聯網控制
  31. 31. iOS Swift 之 iBeacon 藍芽應用開發學習

×