如果我想将数据发送到连接到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/

10-10 04:52