Вот очень подробное объяснение:
Den3243
Вот решение командной строки:
Во-первых, давайте отсканируем, создадим пару, доверяем вашему устройству с помощью «bluetoothctl». Для этого запустите это в командной строке вашего терминала:
bluetoothctl -a
Вы должны получить другую командную строку, например:
[bluetooth]
Когда ваш динамик BT включен, введите:
scan on
Через несколько секунд вы увидите доступные устройства BT. Рядом с устройством будет его MAC-адрес, например: 00: AA: 22: BB: 33. Теперь введите это:
info <your mac address>
Исключить символы больше и меньше. То, что вы ищете, это какая-то предыдущая связь с вашим оратором BT. Вы будете знать, что была предыдущая ассоциация, потому что bluetoothctl покажет информацию о вашем устройстве BT. Часть этой информации будет о сопряженном и доверенном устройстве. Это хорошо.
Если bluetoothctl жалуется на отсутствие устройства, то нам нужно настроить это в данный момент. Для этого введите:
pair <your mac address>
Вы должны увидеть сообщение об успешном сопряжении вашего устройства. Теперь давайте доверять нашему новому устройству BT. Введите это:
trust <your mac address>
Опять же, вы должны увидеть сообщение об успешном доверии. Позвольте мне заранее предупредить вас. Ваше устройство BT может подключиться, а затем может и не подключиться. Не бойтесь, мы не хотим, чтобы это связывало. Идем дальше и давайте выйдем из "bluetoothctl". Для этого введите:
quit
Теперь вы вернетесь в командную строку. В предыдущем посте я предложил вам создать каталог сценариев в вашем домашнем каталоге. Если нет, продолжайте и сделайте это сейчас. Введите это в командной строке:
mkdir -p ~/scripts
Нажмите enter, и теперь давайте создадим наш скрипт bash для автопары. Введите это:
nano ~/scripts/autopair
Введите этот код в скрипт:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
Исключить скобки!
Теперь нажмите одновременно CTRL + x, а затем нажмите Enter, чтобы сохранить скрипт. Нам нужно сделать его исполняемым. Для этого введите:
chmod +x ~/scripts/autopair
Я предполагаю, что вы не используете внешние аналоговые динамики подключить к разъему 3,5 мм. Если это правда, давайте отключим Alsa. Для этого давайте отредактируем файл в каталоге / boot с именем config.txt. Для этого введите это в своем терминале:
sudo nano /boot/config.txt
Пролистайте страницу до конца файла и найдите две строки:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
Поместите (знак фунта #) перед строкой, которая гласит:
dtparam=audio=on
Выглядеть:
#dtparam=audio=on
Нажмите CTRL + x, а затем нажмите Enter, чтобы сохранить файл.
Я предполагаю, что у вас есть Pulseaudio установлен? Если нет, продолжайте и запустите эту команду из командной строки:
sudo apt-get update && sudo apt-get install pulseaudio -y
Это даст вам очень важный компонент для работы Bluetooth! Теперь давайте отредактируем наш файл .bashrc в нашем домашнем каталоге. Введите это:
nano ~/.bashrc
Страница вниз и добавьте эту строку:
pulseaudio --start
Нажмите CTRL + x и теперь нажмите Enter, чтобы сохранить ваш файл.
ОК! Нам нужно войти в мир Python. Я написал программу на Python, которая будет следить за устройством Bluetooth. Короче говоря, он активирует соединение между RPi и вашим динамиком Bluetooth, как только ваш динамик Bluetooth будет включен. Наоборот. Давайте создадим каталог с именем python в вашем домашнем каталоге. Для этого введите:
mkdir -p ~/python
Теперь давайте создадим файл программы Python. Для этого введите:
nano ~/python/on.py
Внутри этого файла нам нужно скопировать и вставить следующее:
#!/usr/bin/python
#
# Monitor removal of bluetooth reciever
import os
import sys
import subprocess
import time
def blue_it():
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 0:
print("Bluetooth UP")
print(status)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
waiting()
def waiting():
subprocess.call('killall -9 pulseaudio', shell=True)
time.sleep(3)
subprocess.call('pulseaudio --start', shell=True)
time.sleep(2)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
while status == 2:
print("Bluetooth DOWN")
print(status)
subprocess.call('~/scripts/autopair', shell=True)
time.sleep(15)
status = subprocess.call('ls /dev/input/event0 2>/dev/null', shell=True)
else:
blue_it()
blue_it()
Теперь нажмите CTRL + x, а затем нажмите Enter, чтобы сохранить файл программы Python. Теперь нам нужно сделать этот файл исполняемым. Для этого введите:
chmod +x ~/python/on.py
Наконец, давайте добавим это в наш скрипт .bashrc в нашем домашнем каталоге:
nano ~/.bashrc
Страница вниз в конец файла и добавить эти две строки:
wait
~/python/on.py
Теперь нажмите CTRL + x, а затем нажмите Enter, чтобы сохранить. Включите динамик Bluetooth и перезагрузите Raspberry Pi.
Удачи!
-nitrolinux