MFI ======= make for ipad ,iphone, itouch 專們?yōu)樘O果裝備制作的裝備 BLE ==== buletouch low energy,藍(lán)牙4.0裝備由于低耗電,所以也叫做BLE peripheral,central == 外設(shè)和中心,發(fā)起連接的時(shí)central,被連接的裝備為perilheral service and characteristic === 服務(wù)和特點(diǎn)每一個(gè)裝備會(huì)提供服務(wù)和特點(diǎn),類似于服務(wù)真?zhèn)€api,但是機(jī)構(gòu)不同。每一個(gè)外設(shè)會(huì)有很多服務(wù),每一個(gè)服務(wù)中包括很多字段,這些字段的權(quán)限1般分為讀read,寫write,通知notiy幾種,就是我們連接裝備后具體需要操作的內(nèi)容。 Description 每一個(gè)characteristic可以對(duì)應(yīng)1個(gè)或多個(gè)Description用戶描寫characteristic的信息或?qū)傩?MFI === 開發(fā)使用ExternalAccessory 框架 4.0 BLE === 開發(fā)使用CoreBluetooth 框架
CoreBluetooth框架的核心實(shí)際上是兩個(gè)東西,peripheral和central, 可以理解成外設(shè)和中心。對(duì)應(yīng)他們分別有1組相干的API和類
這兩組api分別對(duì)應(yīng)不同的業(yè)務(wù)場(chǎng)景,左邊叫做中心模式,就是以你的app作為中心,連接其他的外設(shè)的場(chǎng)景,而右邊稱為外設(shè)模式,使用手機(jī)作為外設(shè)別其他中心裝備操作的場(chǎng)景。
服務(wù)和特點(diǎn),特點(diǎn)的屬性(service and characteristic):
每一個(gè)裝備都會(huì)有1些服務(wù),每一個(gè)服務(wù)里面都會(huì)有1些特點(diǎn),特點(diǎn)就是具體鍵值對(duì),提供數(shù)據(jù)的地方。每一個(gè)特點(diǎn)屬性分為這么幾種:讀,寫,通知這么幾種方式。
//objcetive c特點(diǎn)的定義枚舉 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 };
外設(shè)、服務(wù)、特點(diǎn)間的關(guān)系
1. 建立中心角色
2. 掃描外設(shè)(discover)
3. 連接外設(shè)(connect)
4. 掃描外設(shè)中的服務(wù)和特點(diǎn)(discover)
- 4.1 獲得外設(shè)的services
- 4.2 獲得外設(shè)的Characteristics,獲得Characteristics的值,獲得Characteristics的Descriptor和Descriptor的值
5. 與外設(shè)做數(shù)據(jù)交互(explore and interact)
6. 定閱Characteristic的通知
7. 斷開連接(disconnect)
1. 啟動(dòng)1個(gè)Peripheral管理對(duì)象
2. 本地Peripheral設(shè)置服務(wù),特性,描寫,權(quán)限等等
3. Peripheral發(fā)送廣告
4. 設(shè)置處理定閱、取消定閱、讀characteristic、寫characteristic的拜托方法
1. 待機(jī)狀態(tài)(standby):裝備沒有傳輸和發(fā)送數(shù)據(jù),并且沒有連接到任何設(shè)
2. 廣播狀態(tài)(Advertiser):周期性廣播狀態(tài)
3. 掃描狀態(tài)(Scanner):主動(dòng)尋覓正在廣播的裝備
4. 發(fā)起鏈接狀態(tài)(Initiator):主動(dòng)向掃描裝備發(fā)起連接。
5. 主裝備(Master):作為主裝備連接到其他裝備。
6. 從裝備(Slave):作為從裝備連接到其他裝備。