1

我正在开发一个需要 iPhone 作为外围设备的低功耗蓝牙 (BLE) 项目。我正在使用BLEManager来处理与CoreBluetooth相关的工作,其中包括对CentralPeripheral模式的良好实现。

问题

我对外围架构的设计模式和最佳实践一无所知。服务和特征的定义没有模式。看来我可以选择以下模式之一:

  • 定义多个服务,具有一个读/写/通知特性
  • 定义一项服务,具有一些读/写/通知特性
  • 定义一项服务,一项读取/写入/通知的特征,并从特征更新值中提取命令

我该选择哪一个?

执行

以下是我使用BLEManager实现的外围设备的一些部分:

let peripheralServiceUUID = CBUUID(string: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")
let nameCharacteristicUUID = CBUUID(string: "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx")

var CharactersticArray = [MyCharacterstic]()

characteristic.uuid = nameCharacteristicUUID
characteristic.value = nil
characteristic.permission = [.writeable, .readEncryptionRequired]
characteristic.property = [.write, .read, .notify]
CharactersticArray.append(characteristic)

Peripheral.instance().service_UUID = peripheralServiceUUID
Peripheral.instance().service_characteristics = CharactersticArray
Peripheral.instance().localName = "iPhone"
Peripheral.instance().startAdvertising()
4

0 回答 0