Я пытаюсь соединиться с автомобильным устройством Bluetooth OBDII от Beaglebone Black, работающим под управлением Ubuntu Linux, и не имея большой удачи.У меня возникли трудности с соединением с устройством OBDII Bluetooth на Ubuntu
Я смог сначала настроить hci0 с помощью bluez-simple-agent, хотя он никогда не спрашивал меня о PIN-коде. PIN-код для этого устройства должен быть «1234». Теперь, когда я бегу Bluez-простой-агент, я получаю это:
[email protected]:/etc/bluetooth$ sudo bluez-simple-agent hci0 00:0D:18:A0:4E:35
Creating device failed: org.bluez.Error.AlreadyExists: Already Exists
Что было бы хорошо, если он работает, но когда я пытаюсь выполнить привязку RFCOMM, я неоднократно получить либо «Не удается подключиться RFCOMM socket: Invalid exchange "(первый раз после перезапуска устройства), а затем« Невозможно подключить разъем RFCOMM: соединение отказалось »каждый раз после этого.
Это мой файл /etc/bluetooth/rfcomm.conf файл:
rfcomm0 {
# Automatically bind the device at startup
bind no;
# Bluetooth address of the device
device 00:0D:18:A0:4E:35;
# RFCOMM channel for the connection
channel 16;
# Description of the connection
comment "OBDII";
}
И работает "RFCOMM привязку 0" не удается успешно создать устройство в/Dev/rfcomm0:
rfcomm0: 00:0D:18:A0:4E:35 channel 16 clean
Однако , пытаясь прочитать из/Dev/rfcomm0, дает мне это:
[email protected]:/etc/bluetooth$ sudo cat /dev/rfcomm0
cat: /dev/rfcomm0: Invalid exchange
[email protected]:/etc/bluetooth$ sudo cat /dev/rfcomm0
cat: /dev/rfcomm0: Connection refused
[email protected]:/etc/bluetooth$
И после этого, RFCOMM возвращает это:
[email protected]:/etc/bluetooth$ rfcomm
rfcomm0: 00:0D:18:A0:4E:35 channel 16 closed
Я думаю, что я использую правильный канал (16), основываясь на результате «sdptool записей»
[email protected]:/etc/bluetooth$ sudo sdptool records 00:0D:18:A0:4E:35
...
Protocol Descriptor List:
"L2CAP" (0x0100)
"RFCOMM" (0x0003)
Channel: 16
Profile Descriptor List:
"Serial Port" (0x1101)
Version: 0x0100
Любая помощь будет принята с благодарностью, потому что я очень хорошо из идей с этой точки зрения.
Refs:
- rfcomm
- Manually Using Bluetooth RFCOMM
- How to Set Up Bluetooth Последовательное соединение через Bluetooth
- The device
Относительно Обнаружена ошибка, как «Создание устройства не удалось: org.bluez.Error.AlreadyExists: уже существует», его потому, что устройство уже создано, попробуйте с этим DBus команды, чтобы удалить это устройство 1. Dbus-посыла --system --type = method_call --print-reply --dest = org.bluez "/org/bluez/bluetooth_PID/hci0"org.bluez.Adapter.GetProperties 2. dbus-send --system --type = method_call --print-reply --dest = org.bluez "/ org/bluez/3858/hci0" org.bluez.Adapter.RemoveDevice objpath: "/ org/bluez/3858/hci0/dev_00_0D_18_A0_4E_35", после этого попробуйте снова соединить с агента. – ashish