行业动态
iOS蓝牙开发的关键词中心设备的扫描和连接方式
2021-03-26

该公司的一个项目提出了一些要求,其中之一就是需要集成蓝牙功能。上次执行蓝牙功能是在我刚开始的时候,所以我休假了一个周末,回顾了蓝牙的知识,并且还向您简要介绍了蓝牙的扫描和连接。

1、蓝牙集中式连接方法

2、 IOS用于蓝牙开发的关键字

3、 CoreBluetooth框架

4、代码实现

一、 IOS设备的蓝牙连接可以通过以下方式实现:

①。参加Apple(MFI)计划意味着您需要获得Apple的认证。成本高。如果有此要求,您可以自己了解。

②。 CoreBluetooth框架。仅支持4. 0个蓝牙设备ios 蓝牙开发,这是我们IOS从业人员最常用的方法。

③。 GameKit框架。此框架仅用于IOS设备之间的蓝牙连接通信,无法满足我们的需求,因此尚未进行仔细研究。

④。专用API(BluetoothManager框架)。该公司以前的项目以前曾使用过,最后一个项目使用了Dandelion上托管的企业软件包,但是新项目不打算使用私有库,因此请跳过它。

⑤。越狱。如果您可以做一个越狱软件包,那么这是免费的,您想使用它如何使用它。

二、 IOS用于蓝牙开发的关键字

中央设备(中央设备):它是用于扫描周围的蓝牙硬件的设备,例如通过手机的蓝牙扫描和连接智能手环。目前,您的手机是中心设备。

外围设备:正在扫描的设备。例如,当您将智能手环与手机的蓝牙扫描仪相连时,智能手环就是外围设备。

服务:外围设备广播和运行时会有服务,可以理解为功能模块,中央设备可以读取服务。一个外围设备可以具有多种服务。

特征:在服务单元中,服务可以具有多个特征,并且该特征将具有值。通常,读取和写入的数据就是这个值。

UUID:UUID在这里有很多含义。该设备具有其自己的硬件UUID。连接到同一外围设备的不同中央设备将显示不同的UUID。该外围设备发送的每个服务也都有自己的UUID,每个服务中的功能也都有自己的UUID。

LightBlue比较表版本:2. 6. 4

下面是IOS蓝牙架构图,可以用作参考。

IOS Bluetooth CS image.png

三、 CoreBluetooth框架

ios 蓝牙开发

蓝牙开发层次图

如上图所示,IOS中的Bluetooth开发框架CoreBluetooth位于Bluetooth低能耗协议栈的顶部。在开发时,我们仅使用CoreBluetooth框架。通过CoreBluetooth,可以轻松实现外围设备或中央设备的开发。

CoreBluetooth可以分为两个主要模块,中央设备中央模块和外围外围设备,每个模块都有自己的一套API供我们使用。

ios 蓝牙开发

使用中央设备和外围设备

上图的左侧是中央设备的开发类别。我们通常使用CBCentralManager来执行相关操作。

CBCentralManager:蓝牙中心设备管理类,用于统一调度中心设备的开发

CBPeripheral:蓝牙外围设备,例如蓝牙手镯,心率监测器。

CBService:蓝牙外围设备服务,可以有零个或多个服务。

CBCharacteristic:服务中的特征。每个蓝牙服务可以具有0个或多个特征,并且这些特征包含数据信息。

CBUUID:可以理解为服务或功能的ID卡,可用于选择所需的服务和功能。

右侧是与外围设备开发相关的类,通常围绕CBPeripheralManager进行编码。

右侧是与外围设备开发相关的类,通常围绕CBPeripheralManager进行编码。

CBPeripheralManager:在开发蓝牙外围设备时使用,用于开发蓝牙外围设备的中央管理类。

CBCentral:蓝牙中央设备,例如用于连接到蓝牙手镯的手机。

CBMutableService:开发外围设备时可以添加多个服务,因此CBMutableService用于创建和添加服务。


393701618