Оглавление:

Bluetooth-динамик Raspberry Pi: 4 шага
Bluetooth-динамик Raspberry Pi: 4 шага

Видео: Bluetooth-динамик Raspberry Pi: 4 шага

Видео: Bluetooth-динамик Raspberry Pi: 4 шага
Видео: Raspberry Pi 4: запускаем видео 4K, играем в игры и боремся с перегревом. Обзоры Амперки 2024, Июль
Anonim
Bluetooth-динамик Raspberry Pi
Bluetooth-динамик Raspberry Pi

Всем привет.

Вот инструкция о том, как сделать Bluetooth-динамик с помощью Raspberry Pi. Это было сделано после новой установки последней версии Raspbian (по состоянию на 31.10.2020). В этом руководстве мы будем преобразовывать Raspberry Pi для приема звука через Bluetooth и вывода его через встроенный аудиоразъем 3.5. Если вы используете Raspberry Pi 1 или 2, вам придется использовать отдельный адаптер Bluetooth. Для этого руководства мы будем использовать Raspberry Pi 3B.

Запасы

Raspberry Pi 1, 2, 3 или 4.

Динамик с аудиовходом 3,5 мм.

Блок питания для Raspberry Pi.

Мышь и клавиатура для Raspberry Pi (или вы можете использовать SSH с другим компьютером).

Ключ Bluetooth при использовании Raspberry Pi 1 или 2.

Шаг 1: Войдите в Raspberry Pi

Этот шаг довольно интуитивно понятен!

Вам нужно будет войти в Raspberry Pi через SSH или с помощью монитора, мыши и клавиатуры. Если вы находитесь в графическом интерфейсе Raspian, откройте Терминал. Если вы используете SSH, вы уже будете там.

Прежде чем переходить к следующим шагам, рекомендуется убедиться, что вы обновили свою систему.

sudo apt-get update

sudo apt-get upgrade

Это может занять несколько минут.

Шаг 2: Разберите Bluetooth

Если вы войдете

sudo systemctl статус синий *

тогда он, вероятно, вернет что-то вроде ниже.

pi @ raspberrypi: ~ $ sudo systemctl status blue *

● bluetooth.service - служба Bluetooth Загружено: загружено (/lib/systemd/system/bluetooth.service; включено; предустановка поставщика Активно: активно (работает) с сб 2020-31 12:36:04 GMT; 40 минут назад Документы: man: bluetoothd (8) Основной PID: 523 (bluetoothd) Статус: «Выполняется» Задачи: 1 (ограничение: 2065) CGroup: /system.slice/bluetooth.service └─523 / usr / lib / bluetooth / bluetoothd 31 октября 2012 г.: 36: 04 raspberrypi systemd [1]: Запуск службы Bluetooth… 31 октября 12:36:04 raspberrypi bluetoothd [523]: демон Bluetooth 5.50 31 октября 12:36:04 raspberrypi systemd [1]: Запуск службы Bluetooth. 31 октября 2012 г.: 36: 04 raspberrypi bluetoothd [523]: Запуск сервера SDP 31 октября 12:36:04 raspberrypi bluetoothd [523]: Интерфейс управления Bluetooth 1.14 31 октября 12:36:04 raspberrypi bluetoothd [523]: Ошибка инициализации драйвера SAP. 31 октября 12:36:04 raspberrypi bluetoothd [523]: sap-server: Операция запрещена 31 октября 12:36:04 raspberrypi bluetoothd [523]: конечная точка зарегистрирована: sender =: 1.10 p 31 октября 12:36:04 raspberrypi bluetoothd [523]: Конечная точка r egistered: sender =: 1.10 p 31 октября 12:36:04 raspberrypi bluetoothd [523]: Не удалось установить конфиденциальность: отклонено (0x ● bluealsa.service - прокси BluezALSA Загружен: загружен (/lib/systemd/system/bluealsa.service; статический; предустановка поставщика:

Вы заметите, что есть ряд ошибок. Сначала мы разберемся с этим.

В первую очередь мы рассмотрим «сбой инициализации sap-драйвера». и «sap-server: операция не разрешена». Входить

sudo nano /lib/systemd/system/bluetooth.service

в терминал. Он придумает это.

[Ед. изм]

Описание = служба Bluetooth Документация = man: bluetoothd (8) ConditionPathIsDirectory = / sys / class / bluetooth [Service] Тип = dbus BusName = org.bluez ExecStart = / usr / lib / bluetooth / bluetoothd NotifyAccess = main # WatchdogSec = 10 # Перезапустить = при отказе CapabilityBoundingSet = CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC = 1 ProtectHome = true ProtectSystem = full [Установить] WantedBy = bluetooth.target Псевдоним = dbus-org.bluez.service

Добавлять

--noplugin = сок

после

ExecStart = / usr / lib / bluetooth / bluetoothd

чтобы сделать это как показано ниже.

[Ед. изм]

Описание = служба Bluetooth Документация = man: bluetoothd (8) ConditionPathIsDirectory = / sys / class / bluetooth [Service] Тип = dbus BusName = org.bluez ExecStart = / usr / lib / bluetooth / bluetoothd --noplugin = sap NotifyAccess = main # WatchdogSec = 10 # Restart = on-failure CapabilityBoundingSet = CAP_NET_ADMIN CAP_NET_BIND_SERVICE LimitNPROC = 1 ProtectHome = true ProtectSystem = full [Установить] WantedBy = bluetooth.target Псевдоним = dbus-org.bluez.service

Сохранить и выйти. (ctrl-x, y, ввод). потом

перезагрузка sudo

Когда вы вернетесь в терминал, введите

sudo systemctl статус синий *

Ошибки надо исправить, кроме одной.

Не удалось установить конфиденциальность: отклонено (0x0b)

Входить

sudo systemctl перезапуск синий *

чинить.

Мы еще не закончили. Нам также нужно будет добавить пользователя «пи» в bluetooth, используя

sudo adduser pi bluetooth

pi @ raspberrypi: ~ $ sudo adduser pi bluetooth Добавление пользователя pi в группу bluetooth… Добавление пользователя pi в группу bluetooth Готово.

Затем нам нужно дать bluealsa возможность воспроизводить аудиопотоки через аудиоинтерфейсы Raspberry Pi (а именно, через аудиоразъем 3.5).

sudo nano /lib/systemd/system/bluealsa.service

Он должен придумать

[Ед. изм]

Описание = Прокси BluezALSA Требуется = bluetooth.service После = bluetooth.service [Услуга] Тип = простой Пользователь = root ExecStart = / usr / bin / bluealsa

Добавлять

-p a2dp-источник -p a2dp-приемник

после

ExecStart = / usr / bin / bluealsa

сделать

[Ед. изм]

Описание = Прокси BluezALSA Требуется = bluetooth.service После = bluetooth.service [Услуга] Тип = простой Пользователь = root ExecStart = / usr / bin / bluealsa -p a2dp-source -p a2dp -ink

Сохраните и выйдите (ctrl-x, y, ввод).

потом

перезагрузка sudo

Это делает наш Bluetooth более-менее готовым. Теперь мы подключимся к нашему Raspberry Pi.

Шаг 3: Сопряжение, подключение и доверие

Теперь мы изложили основы создания динамика Bluetooth. Но нам все еще нужно иметь возможность подключаться, чтобы проигрывать музыку через него.

Сначала введите

sudo bluetoothctl

тогда

включить

тогда

сканировать на

должно получиться что-то вроде этого

pi @ raspberrypi: ~ $ sudo bluetoothctl

Агент зарегистрировал [bluetooth] # включение питания Успешное включение питания [bluetooth] # сканирование при запуске обнаружения [CHG] Контроллер B8: 27: EB: A2: FD: 3C Обнаружение: да [NEW] Устройство 60: D8: 19: C0: 2E: 41 FARTHINGSLAPTOP [НОВОЕ] Устройство A4: E4: B8: 59: BE: 8D A4-E4-B8-59-BE-8D [CHG] Устройство A4: E4: B8: 59: BE: 8D Имя: APR-BLACKBERRY [CHG] Устройство A4: E4: B8: 59: BE: 8D Псевдоним: APR-BLACKBERRY [CHG] Устройство A4: E4: B8: 59: BE: 8D TxPower: 0 [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 00001800-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 00001801-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 00001200-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 0000113b-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 00001124-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 0000110e-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 0000110f-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 0000111f-0000-1000-8000 -00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 00001203-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 00001116-0000-1000 -8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 00001105-0000 -1000-8000-00805f9b34fb [CHG] Устройство A4: E4: B8: 59: BE: 8D UUID: 00001132-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 RSSI: - 66 [bluetooth] #

в этом примере мы будем создавать пары и подключаться к устройству под названием FarthingsLaptop.

Итак (замените MAC-адрес устройством, к которому вы будете подключаться).

пара 60: D8: 19: C0: 2E: 41

[bluetooth] # пара 60: D8: 19: C0: 2E: 41

Попытка выполнить сопряжение с 60: D8: 19: C0: 2E: 41 [CHG] Устройство 60: D8: 19: C0: 2E: 41 Подключено: да Запросить подтверждение [агент] Подтвердить ключ доступа 478737 (да / нет): да [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00000002-0000-1000-8000-0002ee000002 [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00001000-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00001104-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00001105-0000-1000-8000 -00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00001106-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00001107-0000-1000 -8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 0000110a-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 0000110b-0000 -1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 0000110c-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 0000110e -0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00001112-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00001115-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 0000111b-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 0000111e-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 0000111f-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 0000112f-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 UUID: 00001304-0000-1000-8000-00805f9b34fb [CHG] Устройство 60: D8: 19: C0: 2E: 41 ServicesResolved: да [CHG] Устройство 60: D8: 19: C0: 2E: 41 Сопряжение: да Сопряжение успешно

Затем мы можем подключиться к устройству.

подключить 60: D8: 19: C0: 2E: 41

Успешное соединение

[bluetooth] # connect 60: D8: 19: C0: 2E: 41

Попытка подключиться к 60: D8: 19: C0: 2E: 41 [CHG] Устройство 60: D8: 19: C0: 2E: 41 Подключено: да Подключение выполнено успешно [CHG] Устройство 60: D8: 19: C0: 2E: 41 ServicesResolved: да [CHG] Устройство 60: D8: 19: C0: 2E: 41 RSSI: -59

Затем мы будем доверять устройству, чтобы мы могли подключиться к нему без подтверждения.

доверие 60: D8: 19: C0: 2E: 41

[bluetooth] # trust 60: D8: 19: C0: 2E: 41

[CHG] Устройство 60: D8: 19: C0: 2E: 41 Доверено: да Изменение доверия 60: D8: 19: C0: 2E: 41 выполнено успешно

На этом этапе вы должны быть подключены, но вы заметите, что если вы воспроизводите музыку, она не воспроизводится через динамик, подключенный к Raspberry Pi. Этим мы и займемся на следующем этапе.

Шаг 4: Воспроизведение музыки

К настоящему времени вы должны быть подключены к Raspberry Pi, но через динамик не воспроизводится музыка.

Вы можете исправить это командой

bluealsa-aplay 00: 00: 00: 00: 00: 00

Теперь вы должны слышать звук, идущий через динамик, когда вы воспроизводите мультимедиа, но вы не хотите, чтобы вам приходилось выполнять эту команду каждый раз, когда вы хотите воспроизвести песню, поэтому мы заставим ее запускаться при загрузке.

Входить

sudo nano /etc/rc.local

Он должен это придумать.

#! / bin / sh -e

# # rc.local # # Этот сценарий выполняется в конце каждого многопользовательского уровня запуска. # Убедитесь, что сценарий "выйдет из 0" в случае успеха или # любое другое значение в случае ошибки. # # Чтобы включить или отключить этот скрипт, просто измените бит выполнения #. # # По умолчанию этот скрипт ничего не делает. # Вывести IP-адрес _IP = $ (hostname -I) || истина, если ["$ _IP"]; затем printf "Мой IP-адрес% s / n" "$ _IP" fi exit 0 Энте

bluealsa-aplay 00: 00: 00: 00: 00: 00

прямо перед

выход 0

так это выглядит.

#! / bin / sh -e

# # rc.local # # Этот сценарий выполняется в конце каждого многопользовательского уровня запуска. # Убедитесь, что сценарий "выйдет из 0" в случае успеха или # любое другое значение в случае ошибки. # # Чтобы включить или отключить этот сценарий, просто измените бит выполнения #. # # По умолчанию этот скрипт ничего не делает. # Вывести IP-адрес _IP = $ (hostname -I) || истина, если ["$ _IP"]; затем printf "Мой IP-адрес% s / n" "$ _IP" fi bluealsa-aplay 00: 00: 00: 00: 00: 00 выход 0 Сохранить и выйти (ctrl-x, y, ввод)

потом

перезагрузка sudo

Когда он загрузится, подключитесь и воспроизведите песню!

Теперь у вас должен быть полнофункциональный динамик Bluetooth!

Если у вас есть какие-либо вопросы, оставьте комментарий ниже, и я свяжусь с ними, как только смогу.

Спасибо, что посмотрели.

Рекомендуемые: