CmdBluetooth
以简单的方fa通fa ae aa蓝牙,v0.1 已经支持 swift3.0
Pods 安装
pod 'CmdBluetooth', '~> 0.3'
如何使用 CmdBluetooth
初始化中心
var centralManager = CmdCentralManager.manager
扫描设备
centralManager.scanWithServices(nil, duration: 5, discoveryHandle: { discovery in
//deal with discovery
}, completeHandle: {
//scan finish in duration
})
连接
self.centralManager.connect(discovery, duration: 3, success: { (central, peripheral) in
//connect discovery successful
}, fail: { error in
//connect discovery fail with error
})
配置中心管理器与解析器
解析器
在与设备通信之前,您需要准备一个解析器,该解析器提供BLE信息,如读取UUID字符串、写入UUID字符串,您可以这样做,只需将UUIDStr替换为您自己的
class MyParser: CmdBaseParser {
static let notifyCharacterUUIDStr = "FFF1"
static let writeCharacterUUIDStr = "FFF2"
/**
define types for writing data to BLE device, like this
*/
func writeDataWithResponse(_ data: Data) {
do {
try super.writeData(data, characterUUIDStr: MyParser.writeCharacterUUIDStr, withResponse: true)
} catch let error {
print("[Error: ]__Write Data Error " + "\(error)")
}
}
/**
write data to BLE without Response
*/
func writeDataWithoutResponse(_ data: Data) {
do {
try super.writeData(data, characterUUIDStr: MyParser.writeCharacterUUIDStr, withResponse: false)
} catch let error {
print("[Error: ]__Write Data Error " + "\(error)")
}
}
/**
read data, such as read battery/ read heart rate
*/
func readData(_ characterUUIDStr: String) {
do {
try super.readCharacteristic(characterUUIDStr)
} catch let error {
print("[Error: ]__Read Data Error " + "\(error)")
}
}
//......Many....many ^_^!
}
接收数据中心
通过parser.dataComingMonitor
接收来自BLE的所有数据,需要一个监视器,您可以创建监视器如下
class ReceiveDataCenter: NSObject, ParserDataReceiveDelegate {
func receiveData(_ data: Data, peripheral: CBPeripheral, characteristic: CBCharacteristic) {
print("receive data: " + "\(data)")
}
}
高级初始化
let parser = MyParser()
let receiverCenter = ReceiveDataCenter()
parser.dataComingMonitor = receiverCenter
centerManager.parser = parser