Saya ingin PC Ubuntu saya mengirim perintah audio bluetooth (putar / jeda, lagu berikutnya / sebelumnya dan naik / turun) ke perangkat lain yang mengalirkan musik melalui bluetooth ke sana. Dengan kata lain, saya ingin mengimplementasikan Ubuntu PC saya "berpura-pura" menjadi semacam headphone bluetooth, yang dapat mengubah trek, dan menghentikan sementara dan melanjutkan musik.
Saya memiliki pengaturan berikut yang diilustrasikan dengan tangkapan layar pavucontrol di bawah ini ( pt2
perangkat terhubung melalui bluetooth):
Dalam konfigurasi ini streaming berfungsi seperti yang diharapkan (saya dapat mendengar musik mengalir dari pt2
), tetapi saya tidak menemukan cara untuk dapat mengirimkannya sinyal apa pun seperti jeda / lanjutkan pemutaran atau ubah trek.
Saya telah menemukan bahwa ada banyak protokol bluetooth yang memungkinkan fungsi tertentu. Jika saya memahami spesifikasi dengan benar, yang saya minati adalah A2DP, yang merupakan cara perangkat terhubung sekarang. Tetapi di bawah profil dropdown, saya juga memiliki opsi HSP / HFP head unit headset, HSP / HFPheadset gateway dan off.
Saya akan mengembangkan aplikasi saya sendiri di Python yang akan memungkinkan pengiriman perintah seperti itu, jadi saya tertarik untuk mengirimkannya melalui API Python atau melalui perintah bash.
Saya mengajukan pertanyaan ini karena saya tertarik dengan cara bagaimana saya dapat berkomunikasi dengan perangkat bluetooth.
sumber
Jawaban:
Terinspirasi oleh @kenn, saya memutuskan untuk masuk lebih dalam
dbus
dand-feet
alat - alat. Akhirnya saya mencapai tujuan saya menggunakan perintah berikut:yang tentu saja memicu bermain musik di perangkat seluler saya yang terhubung ke PC saya melalui bluetooth.
Secara umum untuk perangkat bluetooth perintah ini akan terlihat seperti:
Untuk memeriksa jalankan alamat MAC perangkat Anda
bt-devices -l
. Ini akan mencantumkan semua perangkat yang dikenal (tetapi tidak selalu terhubung atau bahkan ditemukan) dengan alamat MAC dalam tanda kurung.Untuk menemukan daftar perintah yang diizinkan, instal
d-feet
dengansudo apt install d-feet
. Setelah menjalankannya, terapkan pencarian untukbluez
permintaan di bawahSystem Bus
tab dan temukan entri dengan MAC perangkat Anda:Ada metode yang mirip dengan hal-hal yang menggunakan headphone bluetooth di bawah
org.bluez.MediaControl1
. Tetapi, ketika Anda menelusuri pohon itu, Anda dapat menemukan A WAY lebih, ini benar-benar layak perhatian Anda.dbus-send
adalah perintah untuk mengirim sinyal menggunakandbus
.--system
switch menunjukkan bahwa kami ingin menggunakan barang dariSystem Bus
tab d-feet. Saya belum mencobanya, tapi saya kira--print-reply
hanya untuk tujuan debugging dan tidak wajib.--dest=org.blez
merujukName
pada tajuk d-kaki./org/bluez/hci0/dev_<mobile_bluetooth_device_mac_address_with_numbers_underscore_separated>
danorg.bluez.MediaControl1.<command>
merujuk ke jalur pohon objek.sumber
dbus-send
perintah - perintah itu ke tombol-media PC Anda atau bagaimana Anda bermaksud menggunakannya?