iOS蓝牙实现汇总

 我来答
科创17
2022-07-12 · TA获得超过5906个赞
知道小有建树答主
回答量:2846
采纳率:100%
帮助的人:176万
展开全部

一、相关介绍

CoreBluetooth专门用于与BLE设备通讯。并且现在很多蓝牙设备都支持4.0,4.0以其低功耗著称,所以一般也叫BLE(Bluetooth low energy),所以也是在iOS比较推荐的一种开发方法。

Central(中心设备);

Peripheral(外围设备);

advertising(广告);

Services(服务);

Characteristic(特征)

CoreBluetooth介绍

在CoreBluetooth中有两个主要的部分,Central和Peripheral,CBPeripheralManager 作为外围设备。CBCentralManager作为中心设备。所有可用的iOS设备可以作为外围(Peripheral)也可以作为中央(Central),但不可以同时既是周边也是中央。

外围设备(Peripheral)设备是广播设备的数据,中央设备(Central)是管理并且使用这些数据的设备。

也就是说外围(Peripheral)向周围发送广播,告诉周围的中央设备(Central)它(周边(Peripheral)这里有数据,并且说明了能提供的服务和特征值(连接之后才能获取),

其实蓝牙传值相当于网络接口,硬件的service的UUID加上characteristic的UUID,

打一个比喻:service的UUID相当于主地址,characteristic的UUID相当于短链接,短链接必须是主地址的分支,拼在一起的是接口,你和硬件设定的蓝牙传输格式类似于json,双方可识别的数据,因为蓝牙只能支持16进制,而且每次传输只能20个字节,所以要把信息流转成双方可识别的16进制。

|

二、中心设备CBCentralManager

CBCentralManager是管理中心设备的管理类,其中重要方法如下:

其中state是一个枚举,有关蓝牙是否可用的状态如下:

下面这些方法用于初始化管理中心:

三、外设CBPeripheralManager
从上面我们知道,中心设备是用来扫描周围的外设,两台设备的通讯中,必须有一个充当中心设备,一个充当外设,外设是由CBPeripheralManager进行管理,主要方法如下:

四、中心设备与外设对象CBCentral与CBPeripheral
上面介绍了中心设备管理类与外设管理类,这些类用于将设备连接建立起来,器具的数据交换的服务和一些信息则是在对应的设备对象中。

五、服务对象CBService
服务对象是用来管理外设提供的一些数据服务的,其中属性如下:

六、服务的特征值CBCharacteristic
通过绑定服务中的特征值来进行数据的读写操作,其中属性如下:

七、读写请求对象CBATTRequest
服务对象是外设向中心设备提供的相关数据服务,获取到相应服务后,中心设备可以进行读写请求,读写对象属性如下:

八、开发流程

1. 新建Central Manager实例并进行监听蓝牙设备状态

2. 开始搜索外围设备,通过delegate获得数据

3. 连接外围设备,delegate通知连接结果

4. 获得外围设备的服务,delegate获得结果

5. 获得服务的特征,delegate获得结果

6. 根据服务和特征给外围设备发送数据

7. 根据delegate回调,从外围设备读数据

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
云里物里
2024-12-14 广告
蓝牙定位是iBeacon技术最常被应用的方向之一,基于蓝牙定位可以实现诸如寻路、寻车、向导等很多商业需求,也是基于iBeacon技术实现的。蓝牙定位又可以分为一维定位和二维定位,本文将介绍两种蓝牙定位技术的实现原理及实现方法。蓝牙定位一维定... 点击进入详情页
本回答由云里物里提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式