Я пытаюсь подключиться к Totalstation, которая не предлагает драйверы Bluetooth. Поскольку я делаю это по чисто диагностическим причинам, мне бы хотелось видеть необработанный вывод установленного последовательного соединения.
Что я должен сделать, чтобы передать все выходные данные из подключения Bluetooth к терминалу?
Ответы:
Как дополнение к ответу Брайана. Экран у меня не работал, сразу отображается
[screen is terminating]
Итак, я нашел этот скрипт Питер miniterm . Использование аналогично:
источник
1) Используйте,
hcitool scan
чтобы найти Mac-адрес устройства.Устройство должно быть установлено в подчиненный режим с известным контактом. Если вы не используете известный пин-код, Ubuntu создаст его, и у вас, как правило, не будет времени ввести его в неуклюжие меню вашего измерительного инструмента.
2) Я не совсем уверен, что это необходимо, но в меню bluetooth gui выполните сопряжение устройства.
3) в /etc/bluetooth/rfcomm.conf
«Bind no» имеет важное значение, в противном случае он попытается выполнить автоматическое связывание, что создает всевозможные проблемы для фактического доступа к устройству (поскольку это довольно требовательно, когда оно связано)
4)
sudo rfcomm connect 0
Если у вас есть ошибки, перезапустите службу Bluetooth.
5)
screen /dev/rfcomm0
Для фактических последовательных команд, переданных таким способом, свяжитесь с вашим поставщиком и попросите.
источник
Вот мой способ подключения к Bluetooth-устройству HC-05, подключенному к моему arduino. Не нужно писать файл, как в ответе Брайана, но идея похожа. Я протестировал его с настройкой скорости 9600 бод на устройстве HC-05.
Первый шаг: подключите устройство и введите PIN-код
Я попытался настроить сопряжение, используя GUI, но оно не работало. Вот способ командной строки, который работал для меня. Во-первых, давайте подключим устройство из командной строки. Пробег :
Убедитесь, что устройство Bluetooth запущено:
Теперь мы запустим агент, который будет «помнить булавку» для
rfcomm
:Теперь мы включаем режим сканирования, чтобы найти наше устройство и иметь возможность его сопряжения:
Через несколько секунд должен появиться MAC-адрес вашего устройства. Мы будем обозначать это как после. Затем вам просто нужно выполнить сопряжение устройства следующим образом:
Вам будет предложено ввести PIN-код, по умолчанию он
1234
на моем устройстве HC-05. Вы можете заметить, что ваше устройство может подключиться, а затем отключиться с помощью такого сообщения:но это не проблема. Вам не нужно подключаться, поэтому вы можете выйти
bluetoothctl
, набравCtrl + D
.Предоставить полезный файл
/dev/rfcomm0
Во-первых, убедитесь, что вы ранее не выполняли команду rfcomm. Действительно, даже если вы закроете
Ctrl+C
программу, она все равно будет работать в фоновом режиме.Теперь вы можете запустить
Обратите внимание, что если вы попытаетесь написать на входе rfcom, ничего не произойдет. Вам нужно использовать другую программу.
Третий и последний шаг: напишите в
/dev/rfcomm0
Есть несколько способов записи в файл, но обратите внимание, что для продолжения необходимо использовать root. Я опишу здесь несколько программ, которые могут это сделать (так что вы можете выбрать в зависимости от ваших потребностей или от того, что установлено в вашей системе, например). Если вы забудете запустить программу от имени пользователя root, у вас может быть ошибка:
Первый вариант: подключиться с помощью
screen
Экран очень мощный инструмент. Вы можете установить его (это всегда полезно), используя:
а потом беги
Если вы забудете запустить его как root, вы получите сообщение об ошибке, похожее на то, что получил Александр:
Чтобы выйти, введите «(CTRL + A) +: quit»
Второй вариант: подключиться с помощью
minicom
Установить его
а потом беги
Если вы забудете запустить его как root, у вас будет ошибка, такая как
Чтобы выйти, введите «Ctrl + A X».
Третий вариант: скрипт Python miniterm
Скачайте этот скрипт и запустите:
Пишите прямо в файл
Сначала выполните следующую команду (9600 - скорость передачи данных):
Теперь вы можете написать в этом файле, как в классическом файле:
и в теории читать из него с помощью
Но я не знаю, что чтение не работает, если у кого-то из вас есть идея ...
источник
/def/rfcomm0
должно быть/dev/rfcomm0