Berikut ini penjelasan yang sangat detail:
Den3243
Berikut ini adalah solusi baris perintah:
Pertama, mari kita memindai, memasangkan, mempercayai perangkat Anda dengan "bluetoothctl". Untuk melakukan itu, jalankan ini di baris perintah, terminal Anda:
bluetoothctl -a
Anda harus mendapatkan prompt perintah yang berbeda seperti:
[bluetooth]
Dengan speaker BT Anda aktif, ketikkan ini:
scan on
Dalam beberapa saat, Anda akan melihat perangkat BT tersedia. Di sebelah perangkat adalah alamat MAC-nya, seperti: 00: AA: 22: BB: 33. Sekarang ketikkan ini:
info <your mac address>
Kecualikan lebih dari dan kurang dari karakter. Apa yang Anda cari adalah semacam hubungan sebelumnya dengan pembicara BT Anda. Anda akan tahu bahwa ada hubungan sebelumnya karena bluetoothctl akan menampilkan informasi tentang perangkat BT Anda. Beberapa informasi ini adalah tentang perangkat yang dipasangkan dan dipercaya. Ini bagus.
Jika bluetoothctl mengeluh tentang tidak ada perangkat, maka kita perlu mengaturnya pada saat ini. Untuk melakukannya, ketikkan ini:
pair <your mac address>
Anda akan melihat pesan sukses tentang pasangan perangkat Anda berhasil. Sekarang mari kita percayai perangkat BT baru kami. Ketikkan ini:
trust <your mac address>
Sekali lagi, Anda harus melihat pesan sukses tentang kepercayaan. Biarkan saya pra-peringatkan Anda. Perangkat BT Anda mungkin terhubung kemudian lagi mungkin tidak. Jangan takut, kami tidak ingin terhubung. Silakan dan mari kita keluar "bluetoothctl". Untuk melakukannya, ketik:
quit
Sekarang Anda akan dibawa kembali ke prompt baris perintah. Dalam posting sebelumnya saya menyarankan Anda untuk membuat direktori skrip di direktori home Anda. Jika belum, silakan dan lakukan sekarang. Ketikkan ini pada prompt perintah:
mkdir -p ~/scripts
Tekan enter dan sekarang mari kita buat skrip bash autopair kami. Ketikkan ini:
nano ~/scripts/autopair
Masukkan kode ini ke dalam skrip:
#!/bin/bash
bluetoothctl << EOF
connect [enter your MAC add]
EOF
Kecualikan kurung!
Sekarang tekan CTRL + x secara bersamaan, dan sekarang tekan enter untuk menyimpan skrip. Kita perlu membuatnya bisa dieksekusi. Untuk melakukannya, ketikkan ini:
chmod +x ~/scripts/autopair
Saya berasumsi bahwa Anda tidak menggunakan plug speaker analog eksternal ke jack 3,5 mm. Jika ini benar, mari nonaktifkan alsa. Untuk melakukan itu, mari kita edit file di direktori / boot bernama config.txt. Untuk melakukannya, ketikkan ini di terminal Anda:
sudo nano /boot/config.txt
Halaman ke bawah ke bagian bawah file dan cari dua baris yang bertuliskan:
# Enable audio (loads snd_bcm2835)
dtparam=audio=on
Tempatkan (tanda pon #) di depan baris yang bertuliskan:
dtparam=audio=on
Agar terlihat seperti:
#dtparam=audio=on
Tekan CTRL + x dan kemudian tekan Enter untuk menyimpan file Anda.
Saya berasumsi Anda telah menginstal pulseaudio? Jika tidak, silakan jalankan perintah ini dari baris perintah:
sudo apt-get update && sudo apt-get install pulseaudio -y
Ini akan membuat Anda menjadi komponen yang sangat penting untuk membuat bluetooth berfungsi! Sekarang mari kita edit file .bashrc kami di direktori home kami. Ketikkan ini:
nano ~/.bashrc
Halaman ke bawah dan tambahkan baris ini:
pulseaudio --start
Tekan CTRL + x dan sekarang tekan Enter untuk menyimpan file Anda.
BAIK! Kita harus masuk ke dunia Python. Saya telah menulis program Python yang akan mengawasi perangkat bluetooth. Singkatnya, ini akan mengaktifkan koneksi antara RPi dan speaker Bluetooth Anda, setelah speaker Bluetooth Anda dihidupkan. Dan sebaliknya. Mari kita buat direktori bernama python di direktori home Anda. Untuk melakukannya, ketikkan ini:
mkdir -p ~/python
Sekarang mari kita buat file program python. Untuk melakukannya, ketikkan ini:
nano ~/python/on.py
Di dalam file itu, kita perlu menyalin dan menempel yang berikut:
#!/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()
Sekarang tekan CTRL + x dan kemudian tekan Enter untuk menyimpan file program Python. Sekarang kita perlu membuat file ini dapat dieksekusi. Untuk melakukannya, ketikkan ini:
chmod +x ~/python/on.py
Akhirnya, mari kita tambahkan ini ke skrip .bashrc kami di direktori home kami:
nano ~/.bashrc
Halaman ke bawah ke bagian bawah file dan tambahkan dua baris ini:
wait
~/python/on.py
Sekarang tekan CTRL + x dan kemudian tekan Enter untuk menyimpan. Nyalakan speaker bluetooth Anda dan reboot Raspberry Pi Anda.
Semoga berhasil!
-nitrolinux
Saya telah menemukan bahwa ada masalah saat ini dengan pulseaudio5 terutama ketika datang ke pemutaran audio melalui bluetooth. Karena itu saya mengusulkan bahwa daripada harus men-debug mereka ketika datang cukup gunakan PulseAudio6 untuk apa yang Anda inginkan.
Saya telah membuat repo yang akan mengotomatisasi semua yang ada di bawah ini sehingga Anda tidak perlu melakukan semua pekerjaan kaki, tetapi jika Anda masih siap melakukannya sendiri, lanjutkan di bawah.
Repo: https://github.com/BaReinhard/a2dp_bluetooth
Instal Proses:
Tunggu sampai proses instalasi selesai dan reboot. Setelah selesai, Anda harus secara inisial, memasangkan, mempercayai, dan menghubungkan perangkat Anda. Setelah waktu awal, Anda hanya perlu menghidupkan perangkat.
Memasangkan, Memercayai, dan Menghubungkan:
-------------------- Panduan lengkap: --------------------
Kompilasi PulseAudio 6
Tambahkan File-file berikut
/etc/init.d/pulseaudio
/etc/init.d/bluetooth
Aktifkan layanan init.d baru dan jadikan executable
Pastikan kita memiliki semua modul yang diperlukan
Ubah ke Home Directory dan Instal json-c dari sumber git (diperlukan untuk PA6)
Ubah ke Home Directory dan Instal libsndfile dari sumber git
Pastikan Bluetooth sedang mencari (
sudo hciconfig hci0 piscan
sudah usang)Arahkan ke Home Directory dan Instal PulseAudio 6 dari sumber git
Pastikan pulsa ada di semua grup yang diperlukan
Perbarui
/etc/pulse/system.pa
dan/etc/pulse/daemon.conf
terlihat sebagai berikut:/etc/pulse/system.pa
/etc/pulse/daemon.conf
Setup udev Rule
Edit
/etc/udev/rules.d/99-com.rules
dan tambahkan dua baris berikut:Membuat
/usr/local/bin/bluez-udev
/ usr / local / bin / bluez-udev
Pastikan bluez-udev dapat dieksekusi
Ringkasan
Apa yang sedang dilakukan di sini?
sumber
Sudahkah Anda mencoba membuat skrip Bash yang menggunakan hcitool untuk terhubung?
Tambahkan hak yang dapat dieksekusi ke file itu lalu tambahkan ke cron (Anda dapat memilih kapan saja).
Ini bekerja untuk saya ketika saya mencoba menghubungkan ke Keyboard Bluetooth. Saya tidak yakin apakah itu akan berfungsi untuk pembicara (tidak yakin apakah itu protokol yang berbeda). Semoga ini membantu!
sumber
menemukan ini lebih baik
sumber