В настоящее время я нахожусь на стажировке, и мне нужно настроить связь iPhone с картой Arduino через BLE. Я пытаюсь отправить данные в Arduino, а теперь письмо, когда я нажимаю кнопку в приложении iPhone
Мне удалось установить соединение Bluetooth на стороне Arduino (я тестировал его с помощью приложения u-blox).
Я создал быстрое приложение на XCode, с помощью которого я могу обнаружить Arduino и подключиться к нему, но я не могу отправить какие-либо данные или, по крайней мере, я не получаю их на Arduino.
Я поместил код функции, которая должна отправлять переменную msg после нажатия кнопки, ту, которая записывает переменную, и ту, которая управляет uuid.
@IBAction func switchOn(_ sender: Any) {
writeValue(msg: "a")
}
func writeValue(msg : String) {
if isMyPeripheralConected {
let dataToSend: Data = msg.data(using: String.Encoding.utf8)!
myBluetoothPeripheral.writeValue(dataToSend, for: myCharacteristic, type: CBCharacteristicWriteType.withResponse)
print("message \(msg) envoye")
} else {
print("Not connected")
}
}
func peripheral(_ peripheral: CBPeripheral, didDiscoverCharacteristicsFor service: CBService, error: Error?) {
if let characterArray = service.characteristics as [CBCharacteristic]? {
for cc in characterArray {
print("UUID: \(cc.uuid.uuidString)")
// tous les uuid qui se sont affiches
//UUID: 2A29
//UUID: 2A24
//UUID: 2A26
//UUID: 2A28
//UUID: 2456E1B9-26E2-8F83-E744-F34F01E9D703
//UUID: 2456E1B9-26E2-8F83-E744-F34F01E9D704
if(cc.uuid.uuidString == "2456E1B9-26E2-8F83-E744-F34F01E9D704") {
myCharacteristic = cc
updateUiOnSuccessfullConnectionAfterFoundCharacteristics()
}
}
}
}
Я не знаю, откуда она взялась, я подумал о проблеме с uuid, но заставил их отобразить на консоли и протестировал их все, я не знаю, правильный ли это метод ...
Если у вас есть трек, чтобы разблокировать меня, заранее спасибо