Код: Выделить всё
val device: BluetoothDevice = bluetoothAdapter.getRemoteDevice(deviceAddress)
val uuid: UUID = UUID.fromString(uuidString)
try {
bluetoothSocket = device.createRfcommSocketToServiceRecord(uuid)
Log.d("BluetoothHelper", "Socket created: $bluetoothSocket")
bluetoothSocket.connect()
Log.d("BluetoothHelper", "Socket connected: $bluetoothSocket")
inputStream = bluetoothSocket.inputStream
} catch (e: Exception) {
e.printStackTrace()
Log.d("BluetoothHelper", "Socket failed!!!!!!!!!!!! $bluetoothSocket")
}
Я пытаюсь подключить свое приложение через Bluetooth к устройству ESP32S, но функция Connect(), похоже, не работает. Журналы созданных сокетов и неудачных попыток распечатываются, а подключение, очевидно, нет. Из того, что я понял в результате отладки, кажется, что bluetoothSocket соответствующим образом меняет свои значения и сохраняет назначенное ему устройство (и uuid, и deviceAddress жестко закодированы), а также OutputStream получает некоторое значение, но соединение не происходит, и inputStream остается нулевым . Единственное, что я пробовал, это изменить uuid, поскольку я использую массив байтов в своем коде cpp и строку в своем приложении Kotlin, но это не помогает. В чем еще может быть проблема, если другие функции работают правильно? Как я мог вообще повлиять на метод Connect(), если я не предоставляю ему никаких дополнительных параметров, которые ранее не использовались в прошедших функциях? Кроме того, я использую BLE.
[
Подробнее здесь:
https://stackoverflow.com/questions/787 ... 32s-device