標籤:
Core Bluetooth的使用情境
運動手環、智能家居、嵌入式裝置等等(金融刷卡器、心電測量器)
Core Bluetooth測試比較麻煩,正常情況下,得至少有2台真實的藍芽4.0裝置
Core Bluetooth的核心結構圖
Core Bluetooth的基本常識
Core Bluetooth的基本常識
- 每個藍芽4.0裝置都是通過服務(Service)和特徵(Characteristic)來展示自己的 一個裝置必然包含一個或多個服務,每個服務下面又包含若干個特徵
- 特徵是與外界互動的最小單位 比如說,一台藍芽4.0裝置,用特徵A來描述自己的出廠資訊,用特徵B來收發資料
- 服務和特徵都是用UUID來唯一標識的,通過UUID就能區別不同的服務和特徵
- 裝置裡面各個服務(service)和特徵(characteristic)的功能,均由藍牙裝置硬體廠商提供,比如哪些是用來互動(讀寫),哪些可擷取模組資訊(唯讀)等
Core Bluetooth的開發步驟
- 建立中心裝置
- 掃描外設(Discover Peripheral)
- 串連外設(Connect Peripheral)
- 掃描外設中的服務和特徵(Discover Services And Characteristics)
- 利用特徵與外設做資料互動(Explore And Interact)
- 中斷連線(Disconnect)
藍芽的現狀
絕大多數智能手機支援藍芽 4.0(BLE)
藍芽晶片發展迅速,在效能和效率方面都有很大提高,且不斷變得更小更便宜
iBeacon + 藍芽,前景一片光明
應用之一:室內導航
Estimote公司為iBeacon提供基站
3個iBeacon基站的預購價格為99美元(約合人民幣610元)
Estimote公司推出的iBeacon基站的最遠傳輸距離為50m,但是他們推薦在10m範圍內的使用效果最好
一塊紐扣電池就能為一個iBeacon基站提供長達 2 年的使用壽命,而且是在裝置不斷對外發射訊號的情況下
如何讓iOS模擬器也能測試藍芽4.0程式?
- 買一個CSR藍芽4.0 USB適配器,插在Mac上
- 在終端輸入sudo nvram bluetoothHostControllerSwitchBehavior="never"
- 重啟Mac
- 用Xcode 4.6調試代碼,將程式跑在iOS 6.1的模擬器上(蘋果把iOS 7.0模擬器對BLE的支援移除掉了)
範例程式碼:https://github.com/dongbobo1992/iOSExamples
iOS開發之藍芽(二)CoreBluetooth