Bluetooth LE est très longue et lourde avec beaucoup de délégués entre les deux. Le chemin minimum pour écrire vos données est:
- Assurez-vous que vous avez la permission Bluetooth: CBCentralManagerDelegate.centralManagerDidUpdateStateand le cas échéant commencer la numérisation avec scanForPeripherals
- CBCentralManagerDelegate.didDiscover Si tel est le périphérique que vous voulez alors vous définissez comme délégué
- CBPeripheralDelegate.peripheral: didDiscoverServices: Si tel est le service que vous souhaitez ensuite arrêter le balayage et discoverCharacteristics: pour: Service
CBPeripheralDelegate.peripheral: didDiscoverCharacteristicsFor: Service Si une caractéristique dans le tableau des caractéristiques est celui que vous voulez alors:
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)
}
}
}
Vous ne pouvez le faire avec Bluetooth LE dans iOS et vous avez besoin de savoir l'ID périphérique, le service et la caractéristique. Je pense que vous devez faire plus de recherches sur les bases de BluetoothLE et revenir avec des questions plus spécifiques. il y a des applications comme Light Blue Explorer qui vont découvrir les périphériques, les services et les caractéristiques afin que vous puissiez vous assurer que l'arduino publie cette information avant de commencer avec le code iOS. –
J'ai fait tout cela. Le seul bit qui me manque est de savoir comment envoyer les données ... J'ai cherché ici pour une réponse mais je n'arrive pas à en trouver une –