iOS藍芽開發(一)藍芽相關基礎知識(轉)

來源:互聯網
上載者:User

標籤:

轉載自:http://www.cocoachina.com/ios/20150915/13454.html

原文劉彥瑋

 

 

藍芽常見名稱和縮寫

  • MFI ======= make for ipad ,iphone, itouch 專們為蘋果裝置製作的裝置

  • BLE ==== buletouch low energy,藍芽4.0裝置因為低耗電,所以也叫做BLE

  • peripheral,central == 外設和中心,發起串連的時central,被串連的裝置為perilheral

  • service and characteristic === 服務和特徵 每個裝置會提供服務和特徵,類似於服務端的api,但是機構不同。每個外設會有很多服務,每個服務中包含很多欄位,這些欄位的許可權一般分為 讀read,寫write,通知notiy幾種,就是我們串連裝置後具體需要操作的內容。

  • Description 每個characteristic可以對應一個或多個Description使用者描述characteristic的資訊或屬性

  • MFI === 開發使用ExternalAccessory 架構

  • 4.0 BLE === 開發使用CoreBluetooth 架構

藍芽基礎知識

CoreBluetooth架構的核心其實是兩個東西,peripheral和central, 可以理解成外設和中心。對應他們分別有一組相關的API和類

  • 這兩組api分別對應不同的業務情境,左側叫做中心模式,就是以你的app作為中心,串連其他的外設的情境,而右側稱為外設模式,使用手機作為外設別其他中心裝置操作的情境。

  • 服務和特徵,特徵的屬性(service and characteristic):

    每個裝置都會有一些服務,每個服務裡面都會有一些特徵,特徵就是具體索引值對,提供資料的地方。每個特徵屬性分為這麼幾種:讀,寫,通知這麼幾種方式。

12345678910111213 //objcetive c特徵的定義枚舉typedef NS_OPTIONS(NSUInteger, CBCharacteristicProperties) {    CBCharacteristicPropertyBroadcast                                               = 0x01,    CBCharacteristicPropertyRead                                                    = 0x02,    CBCharacteristicPropertyWriteWithoutResponse                                    = 0x04,    CBCharacteristicPropertyWrite                                                   = 0x08,    CBCharacteristicPropertyNotify                                                  = 0x10,    CBCharacteristicPropertyIndicate                                                = 0x20,    CBCharacteristicPropertyAuthenticatedSignedWrites                               = 0x40,    CBCharacteristicPropertyExtendedProperties                                      = 0x80,    CBCharacteristicPropertyNotifyEncryptionRequired NS_ENUM_AVAILABLE(NA, 6_0)     = 0x100,    CBCharacteristicPropertyIndicateEncryptionRequired NS_ENUM_AVAILABLE(NA, 6_0)   = 0x200};

外設、服務、特徵間的關係

藍芽中心模式流程

1. 建立中心角色

2. 掃描外設(discover)

3. 串連外設(connect)

4. 掃描外設中的服務和特徵(discover)

    - 4.1 擷取外設的services

    - 4.2 擷取外設的Characteristics,擷取Characteristics的值,擷取Characteristics的Descriptor和Descriptor的值

5. 與外設做資料互動(explore and interact)

6. 訂閱Characteristic的通知

7. 中斷連線(disconnect)

藍芽外設模式流程

1. 啟動一個Peripheral管理對象

2. 本地Peripheral設定服務,特性,描述,許可權等等

3. Peripheral發送廣告

4. 設定處理訂閱、取消訂閱、讀characteristic、寫characteristic的委託方法

藍牙裝置狀態

1. 待機狀態(standby):裝置沒有傳輸和發送資料,並且沒有串連到任何設

2. 廣播狀態(Advertiser):周期性廣播狀態

3. 掃描狀態(Scanner):主動尋找正在廣播的裝置

4. 發起連結狀態(Initiator):主動向掃描裝置發起串連。

5. 主裝置(Master):作為主裝置串連到其他裝置。

6. 從裝置(Slave):作為從裝置串連到其他裝置。

藍牙裝置的五種工作狀態

  • 準備(standby)

  • 廣播(advertising)

  • 監聽掃描(Scanning

  • 發起串連(Initiating)

  • 已串連(Connected)

藍芽和版本的使用限制

  • 藍芽2.0 === 越獄裝置

  • 藍芽4.0 === iOS 6 以上

  • MFI認證裝置(Make For ipod/ipad/iphone) === 無限制

 

iOS藍芽開發(一)藍芽相關基礎知識(轉)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.