Core Bluetooth 里面的名词还是挺多的,这里简单记录一下,一上来的时候,还是很容易混淆的,这里记录一下。
Basic Concept
Bluetooth low energy (BLE,还有地方叫做BTLE,最恨各种简写了) 简单说是一种低功耗的短距离无线传输技术,主要用于低功耗设备传输,比如心率、记步器、智能家居方向,还有连接其他iOS设备。
Core Bluetooth API 支持BLE4.0,做了协议封装,让开发者不需要完整了解BLE协议就可以快速开发APP。
Central and Peripheral
BLE中有2个非常重要的概念就是Central和Peripheral,有一点类似Client Server。
- Peripheral是数据的发送方(比如运动手环需要把位置,步数等数据传递给其他设备)。
- Central是数据的接收方(比如手机接收手环传递来的步数)
Centrals Discover and Connect to Peripherals That Are Advertising
Peripheral把advertising packets广播出去,advertising packet 包括会包含一些重要的信息,比如设备名字,所提供的服务。
Central 则是扫描自己感兴趣的advertising packet,比如一个APP需要查找当前家里的室温,会通过参数设定,只是检索温度设备发来的packet。
Data structure
- Peripheral 是最上层的一种服务抽象,比如iOS 系统内置的ANCS服务,另外我们自己也可以创建自己的服务。
- characteristic 则是用来描述服务中的具体内容(比如手环有传递行走路程的接口,还有行走位置的接口),一个服务可以包含多个characteristics。
How to
YmsCoreBluetooth 是个不错的框架,有很详细的介绍,这里就不赘述了。