如果我想将数据发送到连接到Arduino的蓝牙模块,我需要特别注意哪些代码行。
我想给蓝牙模块发送一个类似75的号码,Arduino会读取它
谢谢
最佳答案
Bluetooth LE非常长而且很麻烦,中间有许多代理。写入数据的最小路径是:
确保您具有蓝牙权限:CBCentralManagerDelegate.centralmanagerdidupdatestate,如果是,请使用scanforeiperiphers开始扫描
CBCentralManagerDelegate.did发现这是否是您想要的外围设备,然后将自己设置为其代理
CBPeripheralDelegate.peripheral:diddocoverservices:如果这是您想要的服务,则停止扫描和发现特征:for:service
cbPeripherDelegate.peripheral:didDiscoverCharacteristics for:service如果特征数组中的某个特征是所需的,则:
func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
guard let characteristics = service.characteristics else {
return
}
for characteristic in characteristics {
if characteristic.uuid == CBUUID(string: characteristicIdentifier) {
let value: UInt8 = 75
let data = Data(bytes: [value])
peripheral.writeValue(data, for: characteristic, type: .withResponse)
}
}
}
关于ios - 将数据发送到蓝牙模块以供arduino rom iOS swift 3读取,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41990187/