我正在使用Swift开发iOS应用程序,将蓝牙打印机集成到其中以打印信息。我已经使用了CoreBluetooth框架,但是不知道可以写入哪个服务和特征来进行打印。
//find CBService
func peripheral(peripheral: CBPeripheral!, didDiscoverServices error: NSError!) {
//println("CBPeripheralDelegate didDiscoverServices")
for service in peripheral.services {
println("Service: Discover service \(service)")
println("Service: UUID \(service.UUID) ")
peripheral.discoverCharacteristics(nil, forService: service as! CBService)
}
}
//find CBCharacteristics
func peripheral(peripheral: CBPeripheral!, didDiscoverCharacteristicsForService service: CBService!, error: NSError!) {
//if service.UUID == CBUUID(string: "18F0"){
for characteristic in service.characteristics {
let chara: CBCharacteristic? = characteristic as? CBCharacteristic
println("Char: service \(service.UUID) Discover char \(chara)")
println("Char: UUID \(chara!.UUID)")
peripheral.readValueForCharacteristic(chara)
/*
println("0")
switch chara!.UUID {
case CBUUID(string: "2AF1"):
println("1")
var rawArray:[UInt8] = [0x01];
let data = NSData(bytes: &rawArray, length: rawArray.count)
peripheral.writeValue(data, forCharacteristic: chara, type: CBCharacteristicWriteType.WithoutResponse)
default: println("")
}
*/
}
//}
}
系统显示以下结果:
服务:发现服务 服务:UUID 电池 服务:发现服务 服务:UUID 1803 服务:发现服务 服务:UUID 1802 服务:发现服务 服务:UUID 1811 服务:发现服务 服务:UUID 1804 服务:发现服务 服务:UUID 18F0 服务:发现服务 服务:UUID 设备信息 服务:发现服务 服务:UUID E7810A71-73AE-499D-8C15-FAA9AEF0C3F2
特征:发现特征 特征:UUID 电池电量 特征:发现特征 特征:UUID 2A06 特征:发现特征 特征:UUID 2A06 特征:发现特征 特征:UUID 2A47 特征:发现特征 特征:UUID 2A46 特征:发现特征 特征:UUID 2A48 特征:发现特征 特征:UUID 2A45 特征:发现特征 特征:UUID 2A44 特征:发现特征 特征:UUID 2A07 特征:发现特征 特征:UUID 2AF1 特征:发现特征 特征:UUID 2AF0 特征:发现特征 特征:UUID 系统ID 特征:发现特征 特征:UUID 制造商名称字符串 特征:发现特征 特征:UUID BEF8D6C9-9C21-4C9E-B632-BD58C1009F9F
有没有蓝牙专家可以指导我,谢谢。
BEF8D6C9-9C21-4C9E-B632-BD58C1009F9F
,因为这是唯一的非标准特征。 - Paulw11CBCharacteristic
的properties
,以确定您是否只能读取它们,还是可以写入、通知等。 - Larme