maochun-blekit 1.0.0

maochun-blekit 1.0.0

SecuX 维护。



  • maochuns

maochun-blekit

CI Status Version License Platform

示例

要运行示例项目,请克隆仓库,然后首先从 Example 目录运行 pod install

需求

安装

maochun-blekit 可通过 CocoaPods 获得。要安装它,只需简单地将以下行添加到 Podfile 中

pod 'maochun-blekit'

用法

  • 实现 BLEDevControllerDelegate
    func enableBLESetting() {
        //Called when BLE is off
        //Ask user to turn on BLE
    }
    
    func newBLEDevice(newDev:BLEDev){
        //Return new device detected
        //Check if the device is the right one to connect with
        
        print("new dev \(newDev.name()) \(newDev.RSSI)")
        print("Advertisment dict \(newDev.advDict)")
        
    }
    
    func updateConnDevStatus(status: Int){
        guard let status = ConnDevStatus(rawValue: status) else{
            return
        }
        
       print("device update conn status \(status)")
        
        switch status {
        case ConnDevStatus.BLEOff:
            self.enableBLESetting()
            break
            
        case ConnDevStatus.ConnFailed:
            //Connect with device failed
            break
            
        case ConnDevStatus.FindServiceFailed:
            //Connect with device failed
            break
        
        case ConnDevStatus.FindCharacteristicsFailed:
            //Connect with device failed
            break
            
        case ConnDevStatus.UnsupportedDev:
            //Connect with device failed
            break
            
        case ConnDevStatus.ConnDone:
            //Conect successful. Can send data to device
            //self.bleManager.sendDataRecvReply(data: testData, sendTimeoutInSecond: 0.5, recvTimeoutInSecond: 0.5)
            break
            
    
        case ConnDevStatus.Disconnected:
            //Device disconnected
            break
            
        }
    }
  • 初始化 BLEManager
BLEManager.shared.delegate = self
  • 启动/停止 BLE 设备扫描
BLEManager.shared.scanForPeripherals(true, serviceUUIDs: [self.ServiceUUID])
BLEManager.shared.scanForPeripherals(false)
  • 连接/断开与 BLE 设备的连接
BLEManager.shared.connectDevice(dev: newDev, serviceUUID: self.ServiceUUID, 
                                rxCharUUID: self.RXCharacteristicUUID, 
                                txCharUUID: self.TXCharacteristicUUID)

BLEManager.shared.disconnectDevice()
  • 向已连接的 BLE 设备发送数据

同步发送数据

func sendDataSync(data theData: Data, timeoutInSecond:Double = 0.5) -> Bool

let ret = sendDataSync(data: testData, timeoutInSecond:0.5)
if ret{
    print("send data successful")
}else{
    print("send data failed!")
}

同步发送数据并接收回复

func sendDataRecvReply(data theData: Data, sendTimeoutInSecond:Double = 0.5, recvTimeoutInSecond:Double = 0.5) -> (ret:Bool, reply:Data?)

let (ret, reply) = BLEManager.shared.sendDataRecvReply(data: testData, 
                                    sendTimeoutInSecond: 0.5, recvTimeoutInSecond: 0.5)
if ret, let reply=reply{
    print("send data recv reply successfully! reply = \(reply)")
}else{
    print("send data recv reply failed!")
}

作者

maochuns, [email protected]

许可证

maochun-blekit 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。