Подключите android-BluetoothChat к bluez в Raspberry Pi - PullRequest
0 голосов
/ 23 июня 2019

Мне нужно подключить android-BluetoothChat к Raspberry Pi B +, желательно без головы.Я установил сценарии здесь , чтобы заставить Pi автоматически принимать запросы на сопряжение, и мой планшет Android (Walmart ONN) сообщает, что он связан с моим Pi.В списке появляется правильный MAC-адрес от BluetoothAdapter.getDefaultAdapter().getBondedDevices().

Когда я запускаю пример сценария rfcomm-server.py , он в конечном итоге говорит Accepted connection from ('B4:4B:D6:EE:A2:1C', 1).

Но строка mmSocket.connect() в приложении android-BluetoothChat не работаетс ужасной ошибкой java.io.IOException: read failed, socket might closed or timeout, read ret: -1.

Я все еще не получаю соединение, когда я invoke секретный метод createRfcommSocket(), который StackOverflow рекомендует победить эту ошибку.

Так чтоя должен попробовать дальше?

Еще один вопрос: для чего нужен UUID в интерфейсе?Должен ли сервер (Pi) соответствовать этому UUID?Я не вижу причин, по которым программа android-BluetoothChat генерирует один случайным образом.

Вот какой-то журнал, прежде чем кто-либо попросит его:

D/BluetoothChatService: connect to: B8:27:EB:8D:DC:E7
D/BluetoothChatService: updateUserInterfaceTitle() 1 -> 2
I/BluetoothChatService: BEGIN mConnectThread SocketType:Insecure
W/BluetoothAdapter: getBluetoothService() called with no BluetoothManagerCallback
V/PhoneWindow: DecorView setVisiblity: visibility = 0, Parent = android.view.ViewRootImpl@d4eebde, this = DecorView@22c41bf[MainActivity]
D/Surface: Surface::disconnect(this=0x7c9bc96000,api=1)
D/Surface: Surface::disconnect(this=0x7c9bc96000,api=1)
W/libEGL: EGLNativeWindowType 0x7c9bc96010 disconnect failed
V/PhoneWindow: DecorView setVisiblity: visibility = 4, Parent = android.view.ViewRootImpl@5720682, this = DecorView@7351cf7[DeviceListActivity]
D/View: [Warning] assignParent to null: this = DecorView@7351cf7[DeviceListActivity]
D/BluetoothSocket: close() this: android.bluetooth.BluetoothSocket@53c843d, channel: -1, mSocketIS: android.net.LocalSocketImpl$SocketInputStream@f3d1432, mSocketOS: android.net.LocalSocketImpl$SocketOutputStream@9d50583mSocket: android.net.LocalSocket@db37300 impl:android.net.LocalSocketImpl@4722739 fd:java.io.FileDescriptor@ba4417e, mSocketState: INIT
D/BluetoothChatService: updateUserInterfaceTitle() 2 -> 0
D/BluetoothChatService: start
D/BluetoothSocket: close() this: android.bluetooth.BluetoothSocket@53c843d, channel: -1, mSocketIS: android.net.LocalSocketImpl$SocketInputStream@f3d1432, mSocketOS: android.net.LocalSocketImpl$SocketOutputStream@9d50583mSocket: null, mSocketState: CLOSED
D/BluetoothChatService: updateUserInterfaceTitle() 0 -> 0
D/ViewRootImpl[Toast]: hardware acceleration = true , fakeHwAccelerated = false, sRendererDisabled = false, forceHwAccelerated = false, sSystemRendererDisabled = false
D/Surface: Surface::connect(this=0x7c8b558000,api=1)
D/Surface: Surface::allocateBuffers(this=0x7c8b558000)
D/mali_winsys: EGLint new_window_surface(egl_winsys_display *, void *, EGLSurface, EGLConfig, egl_winsys_surface **, EGLBoolean) returns 0x3000
D/Surface: Surface::disconnect(this=0x7c8b558000,api=1)
D/Surface: Surface::disconnect(this=0x7c8b558000,api=1)
W/libEGL: EGLNativeWindowType 0x7c8b558010 disconnect failed
D/View: [Warning] assignParent to null: this = android.widget.LinearLayout{3348471 V.E...... ......ID 0,0-202,49}
I/d.bluetoothcha: Compiler allocated 5MB to compile void android.view.ViewRootImpl.performTraversals()

1 Ответ

0 голосов
/ 24 июня 2019

Решение состоит в том, чтобы изменить MY_UUID_INSECURE на 00001101-0000-1000-8000-00805F9B34FB, за Как подключиться к Raspberry pi с помощью приложения для Android через Bluetooth

...