Связь iPhone / Arduino через BLE - PullRequest
0 голосов
/ 28 июня 2019

В настоящее время я нахожусь на стажировке, и мне нужно настроить связь 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, но заставил их отобразить на консоли и протестировал их все, я не знаю, правильный ли это метод ... Если у вас есть трек, чтобы разблокировать меня, заранее спасибо

...