Ось дуже детальне пояснення:
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 і тепер давайте створимо наш сценарій автозапуску. Наберіть це:
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