Daftar Isi:

Mainkan Bluetooth di Sonos Menggunakan Raspberry Pi: 25 Langkah
Mainkan Bluetooth di Sonos Menggunakan Raspberry Pi: 25 Langkah

Video: Mainkan Bluetooth di Sonos Menggunakan Raspberry Pi: 25 Langkah

Video: Mainkan Bluetooth di Sonos Menggunakan Raspberry Pi: 25 Langkah
Video: Rental PS Sepi Tahun 2023 2024, Desember
Anonim
Image
Image
Mainkan Bluetooth di Sonos Menggunakan Raspberry Pi
Mainkan Bluetooth di Sonos Menggunakan Raspberry Pi

Saya sebelumnya menulis instruksi yang menjelaskan cara menambahkan aux atau analog line-in ke Sonos menggunakan Raspberry Pi. Seorang pembaca bertanya apakah mungkin untuk melakukan streaming audio bluetooth dari ponselnya ke Sonos. Sangat mudah untuk melakukan ini menggunakan dongle bluetooth yang dicolokkan ke saluran masuk Sonos Play:5 atau Sonos CONNECT yang lebih mahal; namun, Anda kehilangan kesetiaan dalam mengonversi bluetooth (digital) ke analog lalu kembali ke digital dan jika Anda hanya memiliki salah satu speaker Sonos yang lebih murah maka ini bukan pilihan. Instruksi ini menjelaskan cara mengatur Raspberry Pi untuk mengalirkan audio bluetooth ke speaker Sonos apa pun.

CATATAN: Perlu diingat bahwa kita akan mentransmisikan audio bluetooth ke Raspberry Pi dan mengubahnya menjadi aliran mp3 sebelum mengirimnya ke Sonos sehingga akan ada penundaan beberapa detik. Jika Anda menggunakan ini untuk menonton video, audio akan tidak sinkron.

Langkah 1:

Apa yang Anda perlukan:

Raspberry PI 3 Model B (ada Model B+ yang lebih baru dan lebih cepat tersedia tetapi saya terjebak dengan Model B biasa karena saya telah membaca beberapa masalah dengan penguncian B+ dan juga radio wifi dan bluetooth B+ memiliki pelindung logam di sekelilingnya untuk membuat mereka sesuai dengan FCC ketika dipasang di dalam perangkat lain tetapi saya menginginkan jangkauan bluetooth maksimum dan takut perisai dapat menghalanginya)

Komputer desktop atau laptop dengan pembaca kartu microSD

Monitor atau TV dengan input HDMI (hanya untuk pengaturan awal)

Keyboard dan mouse USB atau bluetooth (hanya untuk pengaturan awal)

Casing Raspberry Pi Plastik (Saya menggunakan kasing plastik untuk proyek ini untuk memaksimalkan jangkauan bluetooth)

Kartu Memori Flash Kingston 8 GB microSDHC Kelas 4

Catu Daya 5V

Langkah 2:

Gambar
Gambar
Gambar
Gambar

Navigasikan ke https://www.raspberrypi.org/downloads/raspbian/ di komputer biasa Anda dan unduh "RASPBIAN STRETCH WITH DESKTOP".

Buka juga https://etcher.io/ dan unduh Etcher dan instal.

CATATAN: Dalam instruksi saya sebelumnya, saya menjelaskan cara mengunduh NOOBS untuk menginstal Raspbian; Namun, metode ini sedikit lebih cepat. Either way baik-baik saja.

Langkah 3:

Gambar
Gambar
Gambar
Gambar

Jalankan Etcher dan klik Pilih gambar dan telusuri ke file zip. Klik Pilih drive dan ramban ke kartu microSD lalu klik Flash!

Langkah 4:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

CATATAN: Beberapa langkah selanjutnya mirip dengan instruksi saya sebelumnya, jadi lewati saja jika Anda sudah memiliki kata sandi root, IP statis, dan pengaturan VNC.

Masukkan kartu microSD ke dalam slot kartu SD di bagian bawah Raspberry Pi. Hubungkan kabel HDMI dari Raspberry Pi ke monitor atau TV Anda. Sambungkan keyboard USB, mouse, dan terakhir kabel daya Micro USB. Setelah boot, desktop Raspbian akan muncul. Ini akan memandu Anda melalui beberapa pengaturan tetapi saya akan merekomendasikan TIDAK memeriksa pembaruan. Klik Lewati. Saya terus mendapatkan kesalahan "blueman.bluez.errors. DBusFailedError: Protocol not available" ketika mencoba memasangkan bluetooth setelah semua pembaruan diinstal, jadi saya harus memulai dari awal lagi.

TIPS: Jika Anda tidak ingin waktu militer klik KANAN pada jam dan pilih Pengaturan Jam Digital dan ubah Format Jam dari %R menjadi %r

Langkah 5:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Selanjutnya kita akan mengaktifkan server VNC bawaan. Ini membuat segalanya jauh lebih mudah karena Anda cukup menyalin dan menempelkan perintah melalui VNC daripada mengetiknya. Pilih Menu GUI > Preferensi > Konfigurasi Raspberry Pi > Antarmuka. Klik Diaktifkan di sebelah VNC lalu OK. Setelah beberapa detik, ikon VNC akan muncul di bilah tugas. Klik dan kemudian ikon menu di kanan atas (kotak dengan 3 garis horizontal) dan kemudian Opsi. Dalam opsi Keamanan, atur Enkripsi ke "Pilih tidak aktif" dan Otentikasi sebagai "kata sandi VNC" lalu klik Terapkan. Kotak kata sandi akan muncul. Masukkan "raspberry" (tanpa tanda kutip) untuk kata sandi ke dalam setiap kotak dan klik OK.

Langkah 6:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Sebelum kita melangkah lebih jauh, kita perlu menetapkan alamat IP statis. Jika alamat IP Pi Anda ditetapkan secara acak oleh server DHCP router Anda, maka alamat IP dapat berubah nanti dan Anda tidak akan dapat terhubung melalui VNC (atau Sonos dalam hal ini). Klik kanan ikon koneksi jaringan di bilah tugas (ikon panah kecil atas dan bawah) dan pilih "Pengaturan Jaringan Nirkabel dan Kabel". Klik KIRI kotak kanan atas dan pilih "eth0" untuk mengkonfigurasi koneksi ethernet atau "wlan0" untuk nirkabel. Saya akan menyarankan untuk menetapkan IP statis hanya untuk satu atau yang lain. Saya memiliki masalah ketika saya pertama kali mengatur Pi saya di mana saya menetapkan alamat IP statis yang sama untuk kedua koneksi dan nirkabel Pi saya terkunci dan saya tidak dapat membuatnya kembali berfungsi dengan benar sehingga saya harus memulai dari awal menginstal OS. Pokoknya, masukkan alamat IP yang Anda inginkan di bidang alamat IP dan masukkan alamat IP router Anda di bidang Router dan Server DNS. Klik Terapkan dan Tutup.

CATATAN: Mungkin lebih mudah untuk menetapkan alamat IP statis menggunakan fitur reservasi IP DHCP router Anda jika ada. Anda mungkin memerlukan alamat MAC dari Pi atau mungkin hanya muncul di daftar perangkat yang terhubung di halaman admin router Anda. Jika Anda memerlukan alamat MAC, ketikkan perintah "ifconfig eth0" di jendela terminal untuk ethernet atau "ifconfig wlan0" untuk WiFi. Yang cukup menarik, alamat MAC WiFi akan muncul di baris yang dimulai dengan "ether"

Langkah 7:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Selanjutnya kita perlu mengatur resolusi layar default. Ini mungkin tampak konyol mengingat bagaimana kita sudah terhubung ke monitor tetapi kemudian ketika Anda terhubung melalui VNC tanpa monitor terpasang (tanpa kepala, seperti yang mereka katakan) itu akan kembali ke resolusi default 640x480 Pi yang merupakan layar yang sangat kecil untuk bekerja dengan! Pilih Menu GUI > Preferensi > Konfigurasi Raspberry Pi > Atur Resolusi. Setel ke 1280x720 atau lebih tinggi dan klik OK dan Ya untuk mem-boot ulang.

Langkah 8:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Anda mungkin ingin mengubah nama Pi Anda terutama jika Anda memiliki lebih dari satu di jaringan Anda. Saya mengganti nama saya "BluetoothPi" agar mudah dikenali. Ini akan meminta Anda untuk reboot setelah mengganti namanya.

Langkah 9:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Pada titik ini Anda mungkin ingin mulai menggunakan VNC untuk mengontrol Pi. Buka panel kontrol VNC pada desktop Raspbian lagi dan cari alamat IP di bawah "Konektivitas". Instal dan jalankan penampil VNC di komputer biasa Anda dan gunakan alamat IP itu untuk menghubungkan dan memasukkan "raspberry" (tanpa tanda kutip) sebagai kata sandi. Saya menggunakan TightVNC untuk Windows. Setelah Anda terhubung, Anda dapat menyimpan koneksi VNC Pi sebagai pintasan di desktop Anda untuk terhubung dengan cepat di masa mendatang melewati layar masuk. Anda akan mendapatkan peringatan tentang menyimpan kata sandi di dalam pintasan. Untuk menyalin dan menempel ke jendela terminal Pi, pilih atau sorot teks atau perintah di komputer biasa Anda, tekan Ctrl-C (secara harfiah tekan tombol Ctrl dan C pada keyboard Anda secara bersamaan) atau klik kanan dan pilih "Salin ", lalu aktifkan jendela penampil VNC Pi dan klik KANAN di dalam jendela terminal tepat pada kursor dan pilih Tempel.

Langkah 10:

Gambar
Gambar
Gambar
Gambar

Selanjutnya kita akan menginstal dua program, Darkice dan Icecast2. Darkice adalah yang akan mengkodekan sumber audio bluetooth kami menjadi aliran mp3 dan Icecast2 adalah yang akan menyajikannya ke Sonos sebagai aliran Shoutcast. Salin dan tempel setiap baris ini di jendela terminal satu per satu diikuti dengan tombol Enter setiap kali:

wget

mv darkice_1.0.1-999~mp3+1_armhf.deb?raw=true darkice_1.0.1-999~mp3+1_armhf.deb

sudo apt-get install libmp3lame0 libtwolame0

sudo dpkg -i darkice_1.0.1-999~mp3+1_armhf.deb

Langkah 11:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Sekarang untuk menginstal Icecast2. Ketik "Sudo apt-get install icecast2" diikuti dengan enter. Setelah menginstal sebuah jendela akan muncul menanyakan apakah Anda ingin mengkonfigurasi Icecast2. Tekan tombol panah kiri dan enter untuk memilih Ya. Pada layar kedua tekan tombol panah bawah dan enter untuk memilih OK untuk menggunakan nama host default "localhost". Pada tiga layar berikutnya tekan panah bawah dan masukkan kunci untuk setuju menggunakan "hackme" sebagai sumber default, relai, dan kata sandi administrasi. Meskipun kami menyetujui semua pengaturan default, langkah-langkah ini harus diselesaikan untuk mengaktifkan server Icecast2.

sudo apt-get install icecast2

Langkah 12:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Selanjutnya kita perlu menjalankan file manager GUI sebagai pengguna root. Untuk melakukannya, pilih Menu GUI > Jalankan. Ketik "sudo pcmanfm" dan tekan enter. Itu akan membuka file manager (setara dengan file explorer untuk kami pengguna Windows) ke direktori home (/ home/pi) dan Anda akan melihat file instalasi darkice sisa yang sebelumnya kami unduh. Klik kanan di ruang kosong dan pilih Create New lalu Empty File. Beri nama "darkice.cfg" dan klik OK. Kemudian klik KANAN file yang baru dibuat dan pilih untuk membukanya dengan Leafpad (setara dengan notepad Windows). Salin baris di bawah ini dan rekatkan ke Leafpad lalu klik File dan Simpan. Anda akan melihat baris "kualitas" dikomentari dengan # di depannya. Ini hanya digunakan jika Anda mengatur "bitrateMode = vbr" (kecepatan bit variabel). Anda tidak dapat menetapkan nilai kualitas saat menggunakan cbr (kecepatan bit konstan) atau streaming akan tersendat dan melompat. Sebaliknya, jika Anda memutuskan untuk menggunakan vbr maka Anda perlu mengomentari baris "bitrate = 160" dan menghapus komentar pada baris "kualitas".

CATATAN: Kecepatan bit mp3 kualitas tertinggi yang dapat Anda miliki adalah 320 kbps; namun, radio WiFi dan Bluetooth pada Raspberry Pi berada pada chip yang sama sehingga jika Anda memaksimalkan bandwidth keduanya, audio bluetooth dapat terputus-putus atau macet. Kami akan mengubah pengaturan nanti yang akan memperbaiki ini namun membatasi bandwidth WiFi jadi saya mengurangi bitrate audio untuk proyek ini menjadi 160 kbps karena saya berencana untuk menyimpannya di WiFi secara eksklusif. Jika Anda menggunakan ethernet, itu tidak menjadi masalah dan Anda dapat dengan aman mengatur bitrate ke 320 kbps.

[umum]durasi = 0 # durasi dalam s, 0 selamanya bufferSecs = 1 # buffer, dalam detik sambungkan kembali = ya # sambungkan kembali jika terputus

[memasukkan]

device = phone # nama perangkat bluetooth sampleRate = 44100 # sample rate 11025, 22050 atau 44100 bitsPerSample = 16 # bits channel = 2 #2 = stereo

[icecast2-0]

bitrateMode = cbr # laju bit konstan (konstanta 'cbr', rata-rata 'abr') #kualitas = 1.0 # 1.0 adalah kualitas terbaik (gunakan hanya dengan vbr) format = format mp3 #. Pilih 'vorbis' untuk OGG Vorbis bitrate = 160 # bitrate server = localhost # atau port IP = 8000 # port untuk IceCast2 access password = hackme # source password untuk server IceCast2 mountPoint = rapi.mp3 # mount point pada server IceCast2.mp3 atau.ogg name = BluetoothPi

Langkah 13:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Selanjutnya kita perlu mengikuti langkah yang sama seperti sebelumnya untuk membuat file kosong bernama "darkice.sh". File.sh setara dengan file.bat atau batch untuk DOS atau Windows. Buka menggunakan Leafpad, salin dan tempel baris di bawah ini dan simpan. Jika Anda mengikuti instruksi saya sebelumnya, Anda akan melihat garis yang memulai Darkice terlihat sedikit berbeda. Saya harus menyematkan kode dalam satu lingkaran karena setiap kali Darkice kehilangan sinyal audio bluetooth, itu akan berhenti berjalan dan tidak akan restart secara otomatis bahkan ketika audio dimulai ulang. Saya banyak meneliti masalah ini dan meskipun ada cara rumit untuk menjalankan skrip secara otomatis setiap kali perangkat bluetooth terhubung, Darkice terkadang akan berhenti setiap kali sinyal audio hilang meskipun perangkat bluetooth masih terhubung (misalnya jika Anda menutup YouTube aplikasi di ponsel Anda) jadi ini adalah cara termudah dan paling andal untuk memastikan Darkice berjalan setiap kali audio bluetooth hadir. Jika Darkice sudah berjalan, perintah tersebut akan diabaikan.

#!/bin/bash while:; lakukan sudo /usr/bin/darkice -c /home/pi/darkice.cfg; tidur 5; selesai

Langkah 14:

Gambar
Gambar

Selanjutnya kita perlu menjalankan perintah untuk membuat file darkice.sh dapat dieksekusi. Buka jendela terminal dan ketik "Sudo chmod 777 /home/pi/darkice.sh" dan tekan enter. Sekarang saatnya untuk memulai layanan server Icecast2. Ketik "sudo service icecast2 start" dan tekan enter.

sudo chmod 777 /home/pi/darkice.sh

layanan sudo icecast2 mulai

Langkah 15:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Selanjutnya kita perlu memberitahu Darkice untuk memulai secara otomatis setiap kali Pi di-boot (server Icecast2 berjalan sebagai layanan dan sudah dimulai secara otomatis setelah boot). Pertama kita perlu memilih editor teks mana yang akan digunakan. Di jendela terminal ketik "select-editor" dan tekan enter. Ketik "2" untuk memilih editor nano dan tekan enter. Kemudian ketik "crontab -e" dan enter. Selanjutnya tahan tombol Panah Bawah ke bawah untuk menggulir ke bagian bawah file teks yang muncul dan tambahkan baris ini "@reboot sleep 10 && sudo /home/pi/darkice.sh". Kemudian tekan Ctrl-X untuk keluar dan itu akan meminta "Simpan buffer yang dimodifikasi?". Tekan tombol Y untuk Ya lalu Enter untuk mengonfirmasi nama file apa pun yang dibuat secara otomatis.

editor-pilih

crontab -e

@reboot sleep 10 && sudo /home/pi/darkice.sh

Langkah 16:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Pasangkan ponsel Anda dengan Raspberry Pi menggunakan ikon bluetooth di desktop. Penting bagi Anda untuk menempatkan bluetooth Pi dalam mode penemuan dan kemudian memasangkan dari telepon Anda. Jika Anda meletakkan ponsel Anda dalam mode penemuan dan mencoba memasangkannya DARI Pi maka itu mungkin terhubung tetapi memberi Anda kesalahan yang mengatakan tidak ada layanan di ponsel Anda yang dapat digunakan Pi, yang memang benar. Kami mencoba mengirim audio KE Pi, bukan sebaliknya. Setelah dipasangkan, jalankan perintah ini di jendela terminal untuk mengungkapkan alamat MAC bluetooth perangkat Anda yang terhubung:

sudo bluetoothctl

Langkah 17:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Agar Darkice dapat menggunakan perangkat bluetooth sebagai input audio PCM, kita harus membuat file di folder "etc" bernama "asound.conf" (etc/asound.conf). Klik panah atas pada pengelola file beberapa kali untuk pergi ke direktori root dan kemudian klik dua kali folder "etc" untuk membukanya. Gulir ke bawah dan klik KANAN di ruang kosong dan buat file kosong bernama "asound.conf" dan salin dan tempel baris di bawah ini dengan alamat MAC perangkat Anda yang menggantikan alamat saya tentu saja dan simpan.

pcm.phone { ketik plug slave.pcm { ketik perangkat bluealsa "50:F0:D3:7A:94:C4" profile "a2dp" } }

Langkah 18:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Baik radio WiFi dan Bluetooth di Raspberry Pi berada pada chip yang sama, jadi jika Anda memaksimalkan bandwidth keduanya, audio bluetooth dapat tersendat atau terhenti. Ada yang menyebutnya bug dan ada yang bilang itu hanya batasan hardware. Kami akan mengubah pengaturan yang akan memperbaiki ini. Penghargaan untuk memposting perbaikan ini masuk ke "pelwell" di https://github.com/raspberrypi/linux/issues/1402 Jalankan Sudo pcmanfm lagi untuk membuka pengelola file dan ramban ke /lib/firmware/brcm. Klik dua kali file teks "brcmfmac43430-sdio.txt" untuk membukanya dan tambahkan baris ini ke bawah dan simpan.

# Parameter koeksistensi Bluetooth eksperimental dari Cypressbtc_mode=1 btc_params8=0x4e20 btc_params1=0x7530

Langkah 19:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Klik ikon menu GUI dan pilih Shutdown and Reboot. Jika Anda mengikuti semua langkah ini dengan tepat maka server audio bluetooth Anda akan mulai secara otomatis mulai dari 30 detik hingga satu menit setelah mengklik reboot. SEBELUM Anda dapat menambahkannya ke Sonos, Anda harus menghubungkan bluetooth ponsel Anda ke Pi (cukup mengetuknya di pengaturan bluetooth ponsel Anda karena sudah dipasangkan) dan mulai memutar audio dari beberapa jenis dan menaikkan volume. Ingat Anda tidak akan mendengar audio apa pun yang berasal dari speaker ponsel Anda karena dianggap terhubung ke speaker bluetooth eksternal. Salah satu cara visual untuk mengetahui apakah Icecast menerima audio bluetooth dari Darkice adalah dengan membuka https://192.168.86.107:8000 di browser web dengan IP Pi Anda menggantikan milik saya. Icecast selalu berjalan sehingga Anda akan selalu melihat halaman status tetapi jika Darkice juga menerima audio bluetooth maka Anda juga akan melihat titik pemasangan dan deskriptor aliran. Putuskan sambungan bluetooth Anda dan segarkan halaman dan halaman akan kosong lagi.

Langkah 20:

Gambar
Gambar
Gambar
Gambar

Anda harus menggunakan aplikasi pengontrol desktop Sonos untuk menambahkan aliran kustom ke Sonos. Klik Kelola > Tambah Stasiun Radio dan masukkan url untuk aliran yang dalam kasus saya adalah "https://192.168.86.107:8000/rapi.mp3". Masukkan juga Nama Stasiun dan klik OK.

Langkah 21:

Gambar
Gambar

Untuk memutar stasiun radio khusus yang baru saja kami tambahkan, pilih "Radio by Tunein" lalu "Stasiun Radio Saya". Klik GANDA KIRI untuk memutar atau klik KANAN untuk mengedit atau menambahkan stasiun ke favorit Sonos Anda.

Langkah 22:

Gambar
Gambar
Gambar
Gambar

Setelah menambahkan stasiun radio khusus, itu akan segera tersedia di aplikasi Sonos Anda. Buka aplikasi, ketuk "Sonos Saya" di bagian bawah, gulir ke bawah ke "Stasiun" dan ketuk "Lihat Semua". Gulir ke bawah hingga Anda melihat stasiun yang baru dibuat. Ketuk dan itu akan mulai diputar di kamar yang Anda pilih. Ingat, ̶ jika Anda memutuskan Anda Bluetooth dari PI maka Icecast Stream akan ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ jika Anda beralih Audio Apps mungkin ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ untuk melanjutkan mendengarkan pada Sonos You'LL harus me-restart memutar audio di ponsel lagi dan dorong bermain di t̶h̶e̶ S̶o̶n̶o̶s̶ a̶p̶p̶ a̶g̶a̶i̶n̶.̶ <---Ini telah diperbaiki; lihat pembaruan di bawah ini. Selamat mencoba dan terima kasih telah membaca!

Langkah 23: PEMBARUAN: MEMPERBAIKI STREAM TERHUBUNG KETIKA BLUETOOTH MEMUTUSKAN

Jadi streaming bluetooth bekerja sempurna dengan pengaturan ini KECUALI Sonos akan memutuskan sambungan dari server Icecast setiap kali Darkice kehilangan audio bluetooth seperti saat Anda mengganti aplikasi audio atau hanya memutuskan sambungan bluetooth yang menyebalkan karena Anda harus mendapatkan streaming audio bluetooth lagi sebelumnya Anda bahkan dapat menekan tombol putar di aplikasi Sonos. Ini menjadi masalah besar ketika saya mencoba mengalirkan audio ke Sonos dari aplikasi WatchESPN ponsel saya yang hanya layar penuh sehingga saya tidak dapat menekan tombol putar di aplikasi Sonos setelah audio bluetooth dimulai tetapi ketika saya menutup aplikasi WatchESPN Aliran Sonos tidak akan dimulai kecuali jika Anda mengaktifkan audio bluetooth terlebih dahulu! Ugh! Saya telah menarik rambut saya mencoba untuk membuat perbaikan yang elegan untuk ini. Saya mencoba encoder mp3 berbeda yang disebut liquidsoap yang memiliki opsi untuk mengirim audio senyap ketika kehilangan koneksi, tetapi saya tidak dapat membuatnya berfungsi dengan bluealsa. Saya mencoba mencampur aliran bluealsa dengan aliran alsa kartu suara dummy sekunder menggunakan dsnoop dan asym untuk mencoba mengelabui Icecast agar berpikir bahwa masih ada sinyal audio tetapi alsa benar-benar tidak memungkinkan Anda untuk memanipulasi audio bluetooth terlalu banyak. Saya kemudian mulai menyelidiki menggunakan titik pemasangan mundur menggunakan file mp3 diam di Icecast tetapi Sonos akan melihat nama titik pemasangan berubah dan terputus. Saya menggunakan file test.mp3 dan secara tidak sengaja menetapkannya sebagai nama titik mount utama satu kali alih-alih yang mundur dan melihat Sonos hanya beralih untuk memutar file itu ketika terputus dari aliran "rapi.mp3" bluetooth. Eureka! Itu tidak akan secara otomatis beralih kembali ke aliran bluetooth ketika tersedia lagi sehingga membuat saya berpikir mengapa tidak menggunakan nama titik mount yang sama? Jadi yang harus Anda lakukan adalah membuat file mp3 diam dan memberinya nama yang sama dengan aliran mp3 Darkice, "rapi.mp3", dan mengkodekannya sebagai titik pemasangan utama dalam file konfigurasi Icecast2. Apa yang terjadi adalah bahwa setiap kali Sonos kehilangan koneksi ke aliran Darkice/bluetooth rapi.mp3 itu hanya mulai mengulang file rapi.mp3 diam lainnya sampai aliran bluetooth kembali online. Dengan cara ini Anda tidak perlu mengaktifkan audio bluetooth sebelum menekan tombol putar di Sonos. Berikut cara melakukannya…

Langkah 24:

Gambar
Gambar
Gambar
Gambar
Gambar
Gambar

Pertama kita harus menginstal ffmpeg untuk membuat file mp3 senyap. Anda dapat merekam file.wav diam dari kartu suara eksternal dan mengonversinya ke mp3 menggunakan lumpuh tetapi karena saya tidak memiliki input kartu suara eksternal untuk proyek ini, menggunakan ffmpeg adalah solusi termudah. Buka jendela terminal dan ketik "Sudo apt-get install ffmpeg" dan tekan Enter:

sudo apt-get install ffmpeg

Setelah diinstal salin dan tempel baris panjang ini untuk mengkodekan file mp3 diam yang hanya berdurasi satu detik:

sudo ffmpeg -f lavfi -i anullsrc=channel_layout=stereo:sample_rate=44100 -b:a 160k -t 1 /usr/share/icecast2/web/rapi.mp3

Buka File Manager sebagai root menggunakan "sudo pcmanfm" dan telusuri ke "/etc/icecast2". Klik KANAN pada "icecast.xml" dan buka menggunakan Leafpad dan tempel baris ini tepat di bawah baris "" atas:

/rapi.mp3

Simpan dan Nyalakan Ulang dan Anda sekarang seharusnya dapat memulai stasiun bluetooth Sonos kustom Anda bahkan sebelum Anda menghubungkan ponsel Anda ke bluetooth!

Langkah 25: Tambahan

Tambahan
Tambahan
Tambahan
Tambahan
Tambahan
Tambahan
Tambahan
Tambahan

Saya ingin Raspberry Pi dan 110V AC ke 5V DC power supply mandiri dalam satu kasus sehingga saya dapat dengan mudah memindahkannya di sekitar rumah tetapi terkejut menemukan kasus seperti itu tidak ada. Saya dapat mencetak 3D nanti tetapi sementara itu saya beralih menggunakan kasing Raspberry Pi yang berbeda dan menemukan pengisi daya dinding USB tipis dan kabel pendek. Pengisi daya memiliki lapisan karet yang saya tidak bisa menempelkan pita VHB bening tetapi ternyata itu adalah stiker yang mudah dilepas; Namun, itu menciptakan ceruk kecil yang membuat pita VHB terlalu tipis jadi saya menggunakan velcro.

Direkomendasikan: