IOS Objective-C 蓝牙模块开发经验

1,015 阅读2分钟

核心蓝牙框架可让您的iOS和Mac应用程序与蓝牙低功耗设备进行通信。例如,您的应用可以发现,探索和与低能量外围设备进行交互,例如心率监测器,数字恒温器,甚至其他iOS设备。

该框架是蓝牙4.0规范的抽象,用于低能耗设备。也就是说,它隐藏了开发人员对规范的许多低级细节,使您更容易开发与蓝牙低功耗设备交互的应用程序。由于该框架基于规范,因此采用了规范中的一些概念和术语。本章向您介绍使用Core Bluetooth框架开始开发优秀应用程序时需要了解的关键术语和概念。

重要提示: iOS 10.0上或之后链接的iOS应用必须在其Info.plist文件中包含其需要访问的数据类型的使用说明Key,否则将崩溃。要专门访问蓝牙外设数据,必须包含NSBluetoothPeripheralUsageDescription。

中央(Central)和外围(Peripheral)设备及其在蓝牙通信中的作用

所有蓝牙低功耗通信都涉及两个主要参与者:中央和外围设备。一个中心设备通常使用由外围设备提供的信息来完成一些特定的任务。正如图1-1所示,例如,心脏监测仪可能有用的信息,你的Mac或iOS应用可能需要以显示在用户友好的方式在用户的心脏速率。

图片 1-1 中央(Central)和外围(Peripheral)设备

中心发现并连接到广告周边

外围设备以广告包的形式广播他们拥有的一些数据。一个广告包是数据的一个相对较小的包可能包含什么外设所提供的,如外围设备的名称和主要功能的有用信息。例如,数字恒温器可以宣传它提供房间的当前温度。在低功耗蓝牙中,广告是外围设备使其存在的主要方式。

另一方面,中央可以扫描和监听任何正在广告其感兴趣的信息的外围设备,如图1-2所示。中央可以要求连接到它发现广告的任何外围设备。

图1-2 广告和发现