CmdBluetooth 4.1.1

CmdBluetooth 4.1.1

测试已测试
Lang语言 SwiftSwift
许可 MIT
Released最新版本2018年8月
SPM支持 SPM

Zero_Lee 维护。



  • Zero

CmdBluetooth

Version License Platform

以简单的方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