行业动态
蓝牙外设开发的几个关键词中心设备和开发方法
2021-03-27

1. IOS已开发关键字

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

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

广播:外围设备连续广播蓝牙信号,以便中央设备可以对其进行扫描

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

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

UUID:区分不同的服务和功能,可以理解为服务和功能的ID卡,并且中央设备可以使用UUID选择所需的服务和功能

注意理解:相当于外围设备通过广播传输蓝牙信息,传输的信息具有特征ios 蓝牙开发,中央设备使用UUID来选择需要连接的蓝牙设备

ios开发 蓝牙文件传输_ios 蓝牙开发_ios 开发 蓝牙

2. CoreBluetooth框架

CoreBluetooth分为两个主要模块,中央设备是中央设备,外围设备是外围设备。它们每个都有一组API

中央

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

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

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

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

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

外围设备

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

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

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

CBMutableCharacteristic:每个服务中可以有多个特征。在外围开发为服务添加特性时使用该类。

CBATTRequest:读取或写入请求。它的实例对象具有value属性,该属性用于在外围设备执行Bluetooth读取或写入请求时加载数据。通常,外围写或读的回调方法中都有此参数。

3.设备端的代码流

注意:首先写设备端的原因是设备发出广播,并且在广播中设置了服务和特性,这等效于链接规则的设置。

ios开发 蓝牙文件传输_ios 蓝牙开发_ios 开发 蓝牙

过程1:创建设备管理类:CBPeripheralManager,并设置代理

self.periphere = CBPeripheralManager.init(delegate: self, queue: DispatchQueue.main)

过程2:以协议方式打开蓝牙后,设置服务和功能,然后打开广播

//创建特征和服务并加入到管理
func setupSeverAndCharecter() {
//创建服务
let server = CBMutableService.init(type: CBUUID.init(string: SERVER_UUID), primary: true)
//创建服务的特征
let charater = CBUUID.init(string: CHARACTERISTIC_UUID)
let characerMuTable = CBMutableCharacteristic.init(type: charater, properties: [.read , .write , .notify], value: nil, permissions: [.readable ,.writeable])
// 特征添加进服务
server.characteristics = [characerMuTable]
// 服务加入管理
self.periphere.add(server)
// 为了手动给中心设备发送数据
self.charaater = characerMuTable
}


393701618