2014/11/03


硬體不能缺軟體. 有 iBeacon 發訊器 [實作, iBeacon 發訊器 x 防丟器 (Bluetooth, CC2540, iBeacon)], 也要有搭配應用的軟體. 萊恩大兵摸著石頭過河, 寫了一個 iBeacon 尋寶遊戲 (iOS app), 可以和 iBeacon 發訊器湊對使用. 


這個 app 的功能很單純, 就是會偵測特定的 iBeacon 訊號 (UUID), 然後根據 Major/Minor 的值, 顯示不同的畫面來. 看擷圖比較清楚.

(1) App icon


(2) 啟動畫面 (Launch Image)
印章文字分別是萊恩大兵, 鋼鐵人實作聯盟和口丁工作室.



(3) 偵測主畫面 (依訊號強弱會有不同的圖示)




(4) 捕捉畫面
有三種神獸, 分別是皮卡丘, 傑尼龜和妙蛙種子.










(5) 支援 ANCS (Apple Notification Center Service) 



這隻 iOS app 的程式碼已上傳到 Github_GoGoPrivateRyan/iBeaconSensor, 大家請自行取用. 

程式碼的詳細解說可參考文章尾的連結, 萊恩大兵這邊僅列一下這隻 iOS app 有用到技術與關鍵字, 方便有興趣的朋友 google-ing.

[程式碼 關鍵字]
(1) Add CoreLocation framework support
(2) Background mode
  - Location updates
  - Uses Bluetooth LE as accessory
(3) UITableView, UINavigationController, Prototype Cell, Segue, UIImage, 
(4) Has LaunchImage and AppIcon
(5) Set Device Orientation to Portrait mode only
(6) Pass beacon data (major, minor) to different view
(7) Support Apple Notification Center Service in iOS 8


為了讓這個尋寶遊戲更真實, 萊恩大兵在家中某處藏了個發訊器, 還畫了張藏寶圖讓兒子動腦筋. 效果還不錯. XD.





最後提醒一下, 這隻 iOS app 得開啟通知與定位服務才能正常運作. 





平常不用時, 得把這些設定關掉, 會比較省電. 




開發這隻 iOS app 的過程中, 萊恩大兵遇到一個問題還解決不了~ 不會改 project name 或檔名. 

萊恩大兵有找過資料或作法, 但總是會遇到編譯失敗的問題. 如果有人知道解法, 再請分享給萊恩大兵. 謝謝.

[iOS app 開發 參考資料]
Tutorial: iBeacon App Development with CoreLocation on Apple iOS 7/8
iOS Programming 101: Customize UITableView and UITableViewCell Background using Storyboard


[萊恩大兵的其它文章]

自製大四軸

自製大四軸, 實作分享@華山文創園區
自製大四軸, (1) 零組件篇, 遙控器 (Drone, Quadcopter, Futaba, Maker, Arduino, Animatronic Eye)
自製大四軸, (2) 零組件篇, 飛控板 (Drone, Quadcopter, MultiWii, Arduino, Futaba, Maker)
自製大四軸, (3) 零組件篇, 自行雷切木質機架 (Drone, Quadcopter, Maker, Laser Cut)
自製大四軸, (4) 零組件篇, 馬達與電變調整 (Drone, Quadcopter, Maker, Electric Speed Control, Motor)
自製大四軸, (5) 組裝篇, 四軸飛行器成形 (Drone, Quadcopter, MultiWii, Arduino, Maker, Electric Speed Control, Motor)
自製大四軸, (6) 調整篇, 飛行前兩三事 (Drone, Quadcopter, Maker, Futaba, Arduino, MultiWii)
自製大四軸, (7) 充電篇, iMax B6 充電器操作記要 (Charger, Battery)
自製大四軸, (8) 問題篇, 機架損壞維修 (Drone, Quadcopter, Laser Cut)
自製大四軸, (9) 改良篇, 方便拆卸的木質機架 (Drone, Quadcopter, Maker, Laser Cut)
自製大四軸, (10) 外飛篇, 新手的青蛙跳與遛狗 (Drone, Quadcopter, Maker, MultiWii)

自動報球速的棒球


CC2540 Bluetooth Low Energy
筆記, CC2540 Bluetooth Low Energy, (1) 開發環境 架設 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (2) 跑第一個範例程式 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (3) SimpleBLEPeripheral 簡單介紹 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (4) 在智慧手機上執行範例程式 (Bluetooth, CC2540)
筆記, CC2540 Bluetooth Low Energy, (5) 偵測與發送 iBeacon 訊號 (Bluetooth, CC2540, iBeacon)
實作, iBeacon 發訊器 x 防丟器 (Bluetooth, CC2540, iBeacon)
實作, iBeacon 尋寶遊戲 (Bluetooth, CC2540, iBeacon, iOS app)
實作, BLE + iOS app, 遙控燈泡君 (Bluetooth, CC2540, iOS app)
做實驗, 用 iBeacon 做自動控制的可行性 (Bluetooth, iBeacon, CC2540, Automation, URL Scheme, iOS app)

OpenCV 學習路徑
記錄, OpenCV 學習路徑, (1) 環境安裝與第一個範例 (OpenCV, Python)
記錄, OpenCV 學習路徑, (2) 辨識多邊形 (OpenCV, Python)
記錄, OpenCV 學習路徑, (3) 人臉辨識 (OpenCV, Python, Face Recognition)

小惡魔 無線溫度感測器

108 大眼仔
Plot Clock

體驗, 原住民互動故事書@宜蘭大同鄉泰雅生活館
體驗, 蛋生音互動裝置@兒童美術館 (Arduino, 3D Printing, HC-SR04, Interactive)


實作, 電容感應音樂樹

6 意見:

張貼留言