Bluetooth to rs232 android

Bluetooth RFCOMM / SDP connection to a RS232 adapter in android

I am trying to use the Bluetooth Chat sample API app that google provides to connect to a bluetooth RS232 adapter hooked up to another device. Here is the app for reference: http://developer.android.com/resources/samples/BluetoothChat/index.html And here is the spec sheet for the RS232 connector just for reference: http://serialio.com/download/Docs/BlueSnap-guide-4.77_Commands.pdf Well the problem is that when I go to connect to the device with:

mmSocket.connect(); (BluetoothSocket::connect()) 

I always get an IOException error thrown by the connect() method. When I do a toString on the exception I get «Service discovery failed». My question is mostly what are the cases that would cause an IOException to get thrown in the connect method? I know those are in the source somewhere but I don’t know exactly how the java layer that you write apps in and the C/C++ layer that contains the actual stacks interface. I know that it uses the bluez bluetooth stack which is written in C/C++ but not sure how that ties into the java layer which is what I would think is throwing the exception. Any help on pointing me to where I can try to dissect this issue would be incredible. Also just to note I am able to pair with the RS232 adapter just fine but I am never able to actually connect. Here is the logcat output for more reference:

I/ActivityManager( 1018): Displayed activity com.example.android.BluetoothChat/.DeviceListActivity: 326 ms (total 326 ms) E/BluetoothService.cpp( 1018): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session) D/BluetoothChat( 1729): onActivityResult -1 D/BluetoothChatService( 1729): connect to: 00:06:66:03:0C:51 D/BluetoothChatService( 1729): setState() STATE_LISTEN -> STATE_CONNECTING E/BluetoothChat( 1729): + ON RESUME + I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_CONNECTING I/BluetoothChatService( 1729): BEGIN mConnectThread E/BluetoothService.cpp( 1018): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session) E/BluetoothEventLoop.cpp( 1018): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/1498/hci0/dev_00_06_66_03_0C_51 I/BluetoothChatService( 1729): CONNECTION FAIL TOSTRING: java.io.IOException: Service discovery failed D/BluetoothChatService( 1729): setState() STATE_CONNECTING -> STATE_LISTEN D/BluetoothChatService( 1729): start D/BluetoothChatService( 1729): setState() STATE_LISTEN -> STATE_LISTEN I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_LISTEN V/BluetoothEventRedirector( 1080): Received android.bleutooth.device.action.UUID I/NotificationService( 1018): enqueueToast pkg=com.example.android.BluetoothChat callback=android.app.ITransientNotification$Stub$Proxy@446327c8 duration=0 I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_LISTEN E/BluetoothEventLoop.cpp( 1018): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/1498/hci0/dev_00_06_66_03_0C_51 V/BluetoothEventRedirector( 1080): Received android.bleutooth.device.action.UUID

The device I’m trying to connect to is the 00:06:66:03:0C:51 which I can scan for and apparently pair with just fine. The below is merged from a similar question which was successfully resolved by the selected answer here:

Читайте также:  Virtual bluetooth support include audio драйвер

How can one connect to an rfcomm device other than another phone in Android?

The Android API provides examples of using listenUsingRfcommWithServiceRecord() to set up a socket and createRfcommSocketToServiceRecord() to connect to that socket. I’m trying to connect to an embedded device with a BlueSMiRF Gold chip. My working Python code (using the PyBluez library), which I’d like to port to Android, is as follows:

sock = bluetooth.BluetoothSocket(proto=bluetooth.RFCOMM) sock.connect((device_addr, 1)) return sock.makefile() 

. so the service to connect to is simply defined as channel 1, without any SDP lookup. As the only documented mechanism I see in the Android API does SDP lookup of a UUID, I’m slightly at a loss. Using «sdptool browse» from my Linux host comes up empty, so I surmise that the chip in question simply lacks SDP support.

Источник

Bluetooth RFCOMM / SDP подключение к адаптеру RS232 в Android

Я пытаюсь использовать приложение API для примера Bluetooth Chat, которое Google предоставляет для подключения к адаптеру bluetooth RS232, подключенному к другому устройству. Вот приложение для справки: http://developer.android.com/resources/samples/BluetoothChat/index.html И вот спецификация для разъема RS232 только для справки: http://serialio.com/download/Docs/BlueSnap-guide-4.77_Commands.pdf Ну, проблема в том, что когда я иду подключиться к устройству с помощью:

mmSocket.connect(); (BluetoothSocket::connect()) 

Я всегда получаю ошибку IOException , вызванную методом connect() . Когда я делаю toString для исключения, я получаю сообщение об ошибке «Обнаружение службы». Мой вопрос в основном состоит в том, что может привести к тому, что IOException получит метод соединения? Я знаю, что они где-то в источнике, но я точно не знаю, как слой java, на котором вы пишете приложения, и уровень C/С++, содержащий фактический интерфейс стеков. Я знаю, что он использует синий bluetooth-стек, который написан на C/С++, но не уверен, как это связано с слоем java, и это то, что я думаю, бросает исключение. Любая помощь в том, чтобы указывать мне, где я могу попытаться проанализировать эту проблему, будет невероятной. Также просто отметить, что я могу просто подключиться к адаптеру RS232, но я никогда не могу подключиться к нему. Вот вывод logcat для дополнительной справки:

I/ActivityManager( 1018): Displayed activity com.example.android.BluetoothChat/.DeviceListActivity: 326 ms (total 326 ms) E/BluetoothService.cpp( 1018): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session) D/BluetoothChat( 1729): onActivityResult -1 D/BluetoothChatService( 1729): connect to: 00:06:66:03:0C:51 D/BluetoothChatService( 1729): setState() STATE_LISTEN -> STATE_CONNECTING E/BluetoothChat( 1729): + ON RESUME + I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_CONNECTING I/BluetoothChatService( 1729): BEGIN mConnectThread E/BluetoothService.cpp( 1018): stopDiscoveryNative: D-Bus error in StopDiscovery: org.bluez.Error.Failed (Invalid discovery session) E/BluetoothEventLoop.cpp( 1018): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/1498/hci0/dev_00_06_66_03_0C_51 I/BluetoothChatService( 1729): CONNECTION FAIL TOSTRING: java.io.IOException: Service discovery failed D/BluetoothChatService( 1729): setState() STATE_CONNECTING -> STATE_LISTEN D/BluetoothChatService( 1729): start D/BluetoothChatService( 1729): setState() STATE_LISTEN -> STATE_LISTEN I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_LISTEN V/BluetoothEventRedirector( 1080): Received android.bleutooth.device.action.UUID I/NotificationService( 1018): enqueueToast pkg=com.example.android.BluetoothChat [email protected] duration=0 I/BluetoothChat( 1729): MESSAGE_STATE_CHANGE: STATE_LISTEN E/BluetoothEventLoop.cpp( 1018): event_filter: Received signal org.bluez.Device:PropertyChanged from /org/bluez/1498/hci0/dev_00_06_66_03_0C_51 V/BluetoothEventRedirector( 1080): Received android.bleutooth.device.action.UUID

Устройство, к которому я пытаюсь подключиться, — это 00:06:66:03:0C:51 , который я могу сканировать и, по-видимому, с ним просто отлично. Ниже приведено совпадение с аналогичным вопросом, который был успешно разрешен выбранным ответом здесь:

Читайте также:  Bluetooth adapter ks bta100

Как можно ли подключиться к устройству rfcomm, отличному от другого телефона в Android?

В Android API приведены примеры использования listenUsingRfcommWithServiceRecord() настроить сокет и createRfcommSocketToServiceRecord() для подключения к этому сокету. Я пытаюсь подключиться к встроенному устройству с BlueSMiRF Gold. Мой рабочий код Python (с помощью библиотеки PyBluez), которую я хотел бы портировать на Android, выглядит следующим образом:

sock = bluetooth.BluetoothSocket(proto=bluetooth.RFCOMM) sock.connect((device_addr, 1)) return sock.makefile() 

. поэтому услуга подключения к сети просто определяется как канал 1 без поиска SDP. Как единственный документированный механизм, который я вижу в Android API, выполняет поиск SDP UUID, я немного не понимаю. Использование «sdptool browse» с моего Linux-хоста становится пустым, поэтому я предполагаю, что чип, о котором идет речь, просто не имеет поддержки SDP.

Источник

Android Question Wich Rs232 Bluetooth converter for B4A ?

I have a gps with rs232 output on db9 connector
I would like to ‘read’ the information coming from the gps with an Android smartphone, creating a B4A program for inserting some particular functions
Can you recommend a rs232 to bluetooth converter that is ‘seen’ correctly by the code of a B4A program?

hatzisn

Well-Known Member

m.banggood.com

[US$16.99 19% OFF] RS232 Bluetooth Serial Adapter Board Communication Master Slave 2 Modes Mini USB Bluetooth Serial Port Profile Module 5V Πίνακας ενότητας from Ηλεκτρονικά εξαρτήματα & αναλώσιμα on banggood.com

RS232 Bluetooth Serial Adapter Board Communication Master Slave 2 Modes Mini USB Bluetooth Serial Port Profile Module 5V

m.banggood.com

But you can build your own:


Pay attention to handshake and null configuration with software «handshake».

I would use an esp8266 possibly with LLT if the voltage levels were more than 3,3V and post the received bytes to mqtt broker.

Читайте также:  Компактные накладные наушники bluetooth

DHQI.gr Nikolaos Hatzistelios — Add In App Purchases to both your B4A & B4i apps ON THE FLY — Click here

con_skype-icon.png

con_facebook-icon.png

con_URL.png

Github
My contributions to the community
Living by and taking advantage of God’s laws of physics not considering what they are grants you the title of blind — Time to analyze, time to consider, time to patch, time to change — Having the mind of a Lamborghini and the ethics of a tricycle is no good for everyone — Promo ticket to use for humanity application: i6-psy‼️‼️‼️ 🏁

Источник

Оцените статью
Adblock
detector