BLEHelper 是一种优雅的方式来处理您的低功耗蓝牙(BLE)设备。它支持您的设备同时操作多个 BLE 设备。
使用以下导入
import BLEHelper
并将其初始化为类属性
let bleHelper = BLECentralHelper()
扫描附近的设备,并在完成后返回
bleHelper.scan(1.0, serviceUUID: nil) { (devices) -> (Void) in
//TODO: show your devices
}
通过对象来连接设备
bleHelper.connect(yourPeripheral) { (peripheral, error) -> (Void) in
//TODO: do something when connected
}
通过 deviceUUID 字符串(外设标识符)连接到设备
self.bleHelper.retrieve(deviceUUIDs: [deviceUUIDString], completion: {(peripheral, error) -> (Void) in
if error != nil {
prettyLog("error: \(error?.description)")
completion?(success: false)
return
}
prettyLog("connect with \(peripheral)")
})
读取
bleHelper.readValue("yourDeviceUUID", serviceUUID: "yourServiceUUID", characteristicUUID: "youCharacteristicUUID") { (success) -> (Void) in
prettyLog("is read success: \(success)")
}
启用通知
bleHelper.enableNotification(true, deviceUUID: "yourDeviceUUID", serviceUUID: "yourServiceUUID", characteristicUUID: "youCharacteristicUUID") { (success) -> (Void) in
prettyLog("set notify success: \(success)")
}
写入
let command = "yourCommand"
if let data = command.dataUsingEncoding(NSUTF8StringEncoding) {
bleHelper.writeValue(data, deviceUUID: "yourDeviceUUID", serviceUUID: "yourServiceUUID", characteristicUUID: "youCharacteristicUUID", withResponse: true) { (success) -> (Void) in
prettyLog("is write success: \(success)")
}
}
delegate 只有两个功能。在开始时,您必须声明您的类遵循协议:“BLECentralHelperDelegate”。
在从外围设备断开连接时被调用
func bleDidDisconnectFromPeripheral(peripheral: CBPeripheral) {
//TODO: do something...
}
接收外设数据的回调函数
func bleCentralDidReceiveData(data: NSData?, peripheral: CBPeripheral, characteristic: CBCharacteristic) {
//TODO: do something...
}
使用您的 Xcode 打开 BLEHelper.xcworkspace,并选择名为 “BLEHelperExample” 的 Scheme。
在您的 iPhone 或 iPad 上运行它!
BLEHelper 采用 MIT 许可发布。有关详细信息,请参阅 LICENSE 文件。