Подключение к Bluetooth-устройствам через CLI
Беспроводная технология Bluetooth — это всемирная спецификация для малогабаритного недорогого радиорешения, которое обеспечивает связь между мобильными компьютерами, мобильными телефонами и другими портативными портативными устройствами. Вы найдете Bluetooth-соединение в смартфонах, умных часах, беспроводных наушниках и т. д.
В этой статье мы узнаем, как подключиться к устройству Bluetooth через интерфейс командной строки в Linux.
Что такое Блюз?
BlueZ — это официальный стек протоколов Bluetooth для Linux, распространяемый под Стандартной общественной лицензией GNU (GPL), который обеспечивает поддержку основных уровней и протоколов Bluetooth. Он гибкий, эффективный и использует модульную реализацию. Он имеет много интересных особенностей:
- Полная модульная реализация
- Реальная аппаратная абстракция
- Поддержка нескольких устройств Bluetooth
- Симметричный мультипроцессорный сейф
- Стандартный сокетный интерфейс для всех уровней
Установка BlueZ
В зависимости от типа вашего дистрибутива выполните одну из приведенных ниже команд, чтобы установить BlueZ и другие связанные инструменты.
$ sudo apt -y install bluetooth bluez bluez-tools rfkill # for Debian/Ubuntu based distros
$ sudo pacman -S bluez bluez-utils util-linux # for Arch based distros
$ sudo dnf -y install bluez bluez-tools # for Fedora/CentOS
Добавление пользователя в необходимую группу
По умолчанию демон Bluetooth выдает устройства Bluetooth только тем пользователям, которые являются членами группы lp. Нам нужно убедиться, что наш текущий пользователь добавлен в группу lp для подключения к модулю Bluetooth.
Во-первых, мы проверяем выделенные группы пользователю.
id выводит информацию о данном пользователе или запущенном им процессе, если пользователь не указан.
$ id
Если lp отсутствует в выходном списке, нам нужно добавить текущего пользователя в группу lp.
$ sudo usermod -aG lp $USER $ newgrp lp $ id # to check newly added group
- sudo позволяет пользователю запускать команды с привилегиями суперпользователя.
- Команда usermod (изменить пользователя) используется для изменения свойств пользователя.
- Во флаге -aG -a добавляет пользователя к упомянутым группам, а -G дает список дополнительных групп, членом которых также является пользователь.
- Команда usermod -G заменяет группы, которые были раньше, если вы не добавите флаг -a (для добавления).
- $USER возвращает текущее имя пользователя.
Включение службы Bluetooth
Чтобы включить любую службу при запуске, мы выполняем systemctl включить команду.
$ sudo systemctl enable --now bluetooth.service
- sudo позволяет пользователю запускать команды с привилегиями суперпользователя.
- Команда enable включает указанную службу при загрузке.
- — теперь флаг запускает указанный сервис сразу.
Теперь мы можем проверить статус сервиса с помощью systemctl команда состояния. Он возвращает статус активности указанной службы.
$ sudo systemctl status bluetooth.service
Иногда служба Bluetooth может быть заблокирована, и для ее разблокировки нам нужно выполнить следующую команду.
rfkill — инструмент для включения и отключения беспроводных устройств.
$ rfkill
Если он заблокирован, выполните следующую команду, чтобы разблокировать
$ rfkill unblock bluetooth
Вы можете запустить rfkill Команда для проверки состояния Bluetooth.
Запуск утилиты
Мы будем использовать служебный инструмент под названием bluetoothctl, который позволяет выполнять различные задачи, такие как сопряжение и подключение устройства Bluetooth.
Чтобы запустить эту утилиту, просто введите bluetoothctl в CLI.
$ bluetoothctl
Поиск ближайших устройств
Прежде чем подключаться к какому-либо устройству, нам нужно отсканировать все близлежащие доступные устройства, используя приведенную ниже команду.
сканирование по команде будет активно сканировать все обнаруживаемые устройства Bluetooth вокруг пользователя.
[bluetooth]# scan on
Вывод будет похож на изображение ниже
Сопряжение устройства
Чтобы установить соединение, устройство Bluetooth должно быть сопряжено с другим устройством Bluetooth.
Введите пару [ID], где [ID] — уникальный идентификатор устройства Bluetooth, показанный в приведенной выше команде.
[bluetooth]# pair [ID]
Например, если мы хотим подключиться к первому устройству на скриншоте выше, команда будет
[bluetooth]# pair D4:8A:39:3E:3C:F5
Таким образом, мы успешно подключились и подключились к устройству Bluetooth в Linux через CLI. Некоторые из тривиальных команд, которые могут вам понадобиться, перечислены ниже.
Команда | Использовал к |
---|---|
список | Список доступных контроллеров |
устройства | Список доступных устройств |
парные устройства | Список сопряженных устройств |
отмена сопряжения [dev] | Отменить сопряжение с устройством |
обнаруживаемый <вкл./выкл.> | Установить режим обнаружения контроллера |
отключить [dev] | Отключить устройство |
выход | Выйти из программы |