Isi kandungan:

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, Julai
Anonim
Image
Image
Mainkan Bluetooth di Sonos Menggunakan Raspberry Pi
Mainkan Bluetooth di Sonos Menggunakan Raspberry Pi

Saya sebelum ini menulis instruksinya yang menerangkan bagaimana menambahkan aux atau analog-line ke Sonos menggunakan Raspberry Pi. Seorang pembaca bertanya adakah mungkin untuk mengalirkan audio bluetooth dari telefonnya ke Sonos. Sangat mudah untuk melakukan ini dengan menggunakan dongle bluetooth yang disambungkan ke barisan Sonos Play yang lebih mahal: 5 atau Sonos CONNECT; namun, anda kehilangan kesetiaan menukar bluetooth (digital) ke analog kemudian kembali ke digital dan jika anda hanya memiliki salah satu pembesar suara Sonos yang lebih murah maka ini bukan pilihan. Petunjuk ini menerangkan cara mengatur Raspberry Pi untuk mengalirkan audio bluetooth ke mana-mana pembesar suara Sonos.

CATATAN: Perlu diingat bahawa kami akan menghantar audio bluetooth ke Raspberry Pi dan mengubahnya menjadi aliran mp3 sebelum menghantarnya ke Sonos sehingga akan terjadi penundaan selama beberapa saat. Sekiranya anda menggunakan ini untuk menonton video, audio tidak segerak.

Langkah 1:

Apa yang anda perlukan:

Raspberry PI 3 Model B (terdapat Model B + yang lebih baru dan lebih cepat tetapi saya tetap menggunakan Model B biasa kerana saya telah membaca beberapa masalah dengan penguncian B + dan juga radio wifi dan bluetooth B + yang mempunyai pelindung logam di sekitarnya untuk dibuat mereka mematuhi FCC ketika dipasang di dalam peranti lain tetapi saya mahukan jangkauan bluetooth maksimum dan takut pelindung dapat menghalangnya)

Komputer desktop atau komputer riba dengan pembaca kad microSD

Monitor atau TV dengan input HDMI (untuk persediaan awal sahaja)

Papan kekunci dan tetikus USB atau bluetooth (hanya untuk persediaan awal)

Sarung Plastik Raspberry Pi (Saya menggunakan kotak plastik untuk projek ini untuk memaksimumkan jangkauan bluetooth)

Kad Memori Flash Kingston 8 GB microSDHC Kelas 4

Bekalan Kuasa 5V

Langkah 2:

Imej
Imej
Imej
Imej

Navigasi ke https://www.raspberrypi.org/downloads/raspbian/ di komputer biasa anda dan muat turun "RASPBIAN STRETCH WITH DESKTOP".

Pergi ke https://etcher.io/ dan muat turun Etcher dan pasangkannya.

CATATAN: Dalam arahan sebelumnya saya telah menerangkan cara memuat turun NOOBS untuk memasang Raspbian; namun, kaedah ini sedikit lebih pantas. Sama ada cara baik.

Langkah 3:

Imej
Imej
Imej
Imej

Jalankan Etcher dan klik Pilih gambar dan semak fail zip. Klik Select drive dan semak kad microSD kemudian klik Flash!

Langkah 4:

Imej
Imej
Imej
Imej
Imej
Imej
Imej
Imej

CATATAN: Beberapa langkah seterusnya adalah serupa dengan arahan saya sebelumnya, jadi langkau ke hadapan jika anda sudah mempunyai kata laluan root, IP statik dan VNC.

Masukkan kad microSD ke dalam slot kad SD di bahagian bawah Raspberry Pi. Sambungkan kabel HDMI dari Raspberry Pi ke monitor atau TV anda. Sambungkan papan kekunci USB, tetikus dan akhirnya kabel kuasa USB Mikro. Selepas boot, desktop Raspbian akan muncul. Ini akan memandu anda melalui beberapa tetapan tetapi saya mengesyorkan TIDAK memeriksa kemas kini. Klik Langkau. Saya terus mendapat ralat "blueman.bluez.errors. DBusFailedError: Protocol not available" ketika cuba memasangkan bluetooth setelah semua kemas kini dipasang, jadi saya harus memulakannya sekali lagi.

PETUA: Sekiranya anda tidak mahu masa ketenteraan, klik kanan pada jam dan pilih Tetapan Jam Digital dan ubah Format Jam dari% R ke% r

Langkah 5:

Imej
Imej
Imej
Imej
Imej
Imej

Seterusnya kita akan mengaktifkan pelayan VNC terbina dalam. Ini menjadikan perkara menjadi lebih mudah kerana anda hanya boleh menyalin dan menampal arahan melalui VNC daripada menaipnya. Pilih Menu GUI> Pilihan> Konfigurasi Raspberry Pi> Antaramuka. Klik Diaktifkan di sebelah VNC dan kemudian OK. Setelah beberapa saat, ikon VNC akan muncul di bar tugas. Klik dan kemudian ikon menu di kanan atas (kotak dengan 3 garis mendatar) dan kemudian Pilihan. Dalam pilihan Keselamatan tetapkan Enkripsi ke "Prefer off" dan Pengesahan sebagai "kata laluan VNC" kemudian klik Terapkan. Kotak kata laluan akan muncul. Masukkan "raspberry" (tanpa tanda petik) untuk kata laluan ke dalam setiap kotak dan klik OK.

Langkah 6:

Imej
Imej
Imej
Imej
Imej
Imej

Sebelum melangkah lebih jauh, kita perlu memberikan alamat IP statik. Sekiranya alamat IP Pi anda ditetapkan secara rawak oleh pelayan DHCP penghala anda, maka alamat IP boleh berubah kemudian dan anda tidak akan dapat menyambung melalui VNC (atau Sonos dalam hal ini). Klik kanan ikon sambungan rangkaian pada bar tugas (ikon anak panah atas dan bawah) dan pilih "Tetapan Rangkaian Tanpa Wayar dan Berwayar". KIRI-klik kotak kanan atas dan pilih "eth0" untuk mengkonfigurasi sambungan ethernet atau "wlan0" untuk wayarles. Saya akan menasihatkan untuk menetapkan IP statik hanya untuk satu atau yang lain. Saya menghadapi masalah ketika pertama kali menyiapkan Pi saya di mana saya memberikan alamat IP statik yang sama ke kedua-dua sambungan dan wayarles Pi saya terkunci dan saya tidak dapat mengembalikannya berfungsi dengan betul jadi saya harus memulakan pemasangan OS secara keseluruhan. Bagaimanapun, masukkan alamat IP yang anda mahukan di medan alamat IP dan masukkan alamat IP penghala anda di medan Router dan DNS Server. Klik Terapkan dan Tutup.

CATATAN: Mungkin lebih mudah untuk menetapkan alamat IP statik menggunakan ciri tempahan IP DHCP penghala anda jika mempunyai satu. Anda mungkin memerlukan alamat MAC Pi atau mungkin hanya muncul dalam senarai peranti yang disambungkan di halaman pentadbir penghala anda. Sekiranya anda memerlukan alamat MAC maka ketik perintah "ifconfig eth0" di tetingkap terminal untuk ethernet atau "ifconfig wlan0" untuk WiFi. Cukup menarik, alamat MAC WiFi akan muncul di baris yang bermula dengan "ether"

Langkah 7:

Imej
Imej
Imej
Imej
Imej
Imej

Seterusnya kita perlu menetapkan resolusi skrin lalai. Ini mungkin kelihatan konyol seperti bagaimana kita sudah tersambung ke monitor tetapi kemudian apabila anda menyambung melalui VNC tanpa monitor terpasang (tanpa kepala, seperti yang mereka katakan) ia akan kembali ke resolusi lalai 640x480 Pi yang merupakan skrin yang sangat kecil untuk bekerja dengan! Pilih Menu GUI> Pilihan> Konfigurasi Pi Raspberry> Tetapkan Resolusi. Tetapkan ke 1280x720 atau lebih tinggi dan klik OK dan Ya untuk reboot.

Langkah 8:

Imej
Imej
Imej
Imej
Imej
Imej

Anda mungkin mahu menukar nama Pi anda terutamanya jika anda mempunyai lebih dari satu di rangkaian anda. Saya menamakan semula "BluetoothPi" milik saya agar mudah dikenali. Ia akan meminta anda menghidupkan semula setelah menamakannya semula.

Langkah 9:

Imej
Imej
Imej
Imej
Imej
Imej
Imej
Imej

Pada ketika ini anda mungkin ingin mula menggunakan VNC untuk mengawal Pi. Buka panel kawalan VNC di desktop Raspbian sekali lagi dan cari alamat IP di bawah "Connectivity". Pasang dan jalankan penampil VNC pada komputer biasa anda dan gunakan alamat IP itu untuk menyambung dan memasukkan "raspberry" (tanpa tanda petik) sebagai kata laluan. Saya menggunakan TightVNC untuk Windows. Setelah anda menyambung, anda boleh menyimpan sambungan VNC Pi sebagai jalan pintas di desktop anda untuk menyambung dengan cepat pada masa hadapan dengan melewati skrin log masuk. Anda akan mendapat amaran tentang menyimpan kata laluan dalam jalan pintas. Untuk menyalin dan menampal ke tetingkap terminal Pi, pilih atau sorot teks atau perintah di komputer biasa anda, tekan Ctrl-C (tekan butang Ctrl dan C pada papan kekunci anda pada masa yang sama) atau klik kanan dan pilih "Salin ", kemudian aktifkan tetingkap penampil VNC Pi dan klik KANAN di dalam tetingkap terminal tepat di kursor dan pilih Tampal.

Langkah 10:

Imej
Imej
Imej
Imej

Selanjutnya kita akan memasang dua program, Darkice dan Icecast2. Darkice adalah apa yang akan mengekodkan sumber audio bluetooth kami ke aliran mp3 dan Icecast2 adalah yang akan memberikannya kepada Sonos sebagai aliran Shoutcast. Salin dan tampal setiap baris ini di tetingkap terminal satu demi satu diikuti dengan kekunci 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:

Imej
Imej
Imej
Imej
Imej
Imej
Imej
Imej

Sekarang untuk memasang Icecast2. Ketik "sudo apt-get install icecast2" diikuti dengan enter. Selepas dipasang, tetingkap akan muncul dan bertanya sama ada anda mahu mengkonfigurasi Icecast2. Tekan kekunci anak panah kiri dan masukkan untuk memilih Ya. Pada skrin kedua tekan kekunci anak panah ke bawah dan masukkan untuk memilih OK untuk menggunakan nama hos lalai "localhost". Pada tiga skrin berikutnya tekan anak panah ke bawah dan masukkan kekunci untuk bersetuju menggunakan "hackme" sebagai sumber lalai, kata laluan dan kata laluan pentadbiran. Walaupun kami menyetujui semua tetapan lalai, langkah-langkah ini mesti diselesaikan untuk mengaktifkan pelayan Icecast2.

sudo apt-get install icecast2

Langkah 12:

Imej
Imej
Imej
Imej
Imej
Imej

Seterusnya kita perlu menjalankan pengurus fail GUI sebagai pengguna root. Untuk melakukan ini, pilih Menu GUI> Jalankan. Ketik "sudo pcmanfm" dan tekan enter. Itu akan membuka pengurus fail (setara dengan penjelajah fail untuk kita pengguna Windows) ke direktori utama (/ home / pi) dan anda akan melihat fail pemasangan darkice yang tersisa yang kami muat turun sebelumnya. Klik KANAN di tempat kosong dan pilih Buat Baru dan kemudian Kosongkan Fail. Namakan "darkice.cfg" dan klik OK. Kemudian klik kanan pada fail yang baru dibuat dan pilih untuk membukanya dengan Leafpad (setara dengan notepad Windows). Salin baris di bawah dan tampal ke Leafpad kemudian klik Fail dan Simpan. Anda akan melihat baris "kualiti" dikomentari dengan tanda # di hadapannya. Ia digunakan hanya jika anda menetapkan "bitrateMode = vbr" (kadar bit berubah-ubah). Anda tidak dapat menetapkan nilai kualiti ketika menggunakan cbr (bitrate malar) atau aliran akan tersekat dan lompat. Sebaliknya, jika anda memutuskan untuk menggunakan vbr maka anda perlu mengulas baris "bitrate = 160" dan melepaskan baris "kualiti".

CATATAN: Kadar bit mp3 berkualiti tertinggi yang anda dapat ialah 320 kbps; namun, kedua-dua radio WiFi dan Bluetooth pada Raspberry Pi berada pada cip yang sama, jadi jika anda memaksimumkan lebar jalur kedua-duanya, audio bluetooth dapat tergagap atau membeku. Kami akan mengubah tetapan kemudian yang akan memperbaikinya namun ia membatasi lebar jalur WiFi sehingga saya mengurangkan kadar bit audio untuk projek ini kepada 160 kbps kerana saya merancang untuk tetap menggunakan WiFi secara eksklusif. Sekiranya anda menggunakan ethernet, ini bukan masalah dan anda boleh menetapkan kadar bit kepada 320 kbps dengan selamat.

[umum] tempoh = 0 # tempoh dalam s, 0 penyangga selamanya

[input]

device = phone # name of bluetooth device sampleRate = 44100 # rate sample 11025, 22050 atau 44100 bitPerSample = 16 # bit saluran = 2 # 2 = stereo

[icecast2-0]

bitrateMode = cbr # kadar bit malar (pemalar 'cbr', 'abr' rata-rata) #quality = 1.0 # 1.0 adalah kualiti terbaik (gunakan hanya dengan vbr) format = format mp3 #. Pilih 'vorbis' untuk bitrate OGG Vorbis = 160 # pelayan bitrate = localhost # atau port IP = 8000 # port untuk kata laluan akses IceCast2 = hackme # kata laluan sumber untuk pelayan IceCast2 mountPoint = rapi.mp3 # titik pemasangan pada pelayan IceCast2.mp3 atau.ogg name = BluetoothPi

Langkah 13:

Imej
Imej
Imej
Imej
Imej
Imej
Imej
Imej

Seterusnya kita perlu mengikuti langkah yang sama seperti sebelumnya untuk membuat fail kosong yang disebut "darkice.sh". Fail.sh adalah setara dengan fail.bat atau batch untuk DOS atau Windows. Buka menggunakan Leafpad, salin dan tampal baris di bawah dan simpan. Sekiranya anda mengikuti arahan saya sebelumnya, anda akan melihat garis yang bermula Darkice kelihatan sedikit berbeza. Saya harus memasukkan kod dalam satu lingkaran kerana setiap kali Darkice kehilangan isyarat audio bluetooth, ia akan berhenti berjalan dan tidak akan dimulakan semula secara automatik walaupun audio dimulakan semula. Saya meneliti masalah ini dengan banyak dan walaupun ada cara yang rumit untuk menjalankan skrip secara automatik setiap kali peranti bluetooth disambungkan, Darkice kadang-kadang akan berhenti setiap kali isyarat audio hilang walaupun peranti bluetooth masih tersambung (mis. Jika anda menutup YouTube pada telefon anda) jadi ini adalah kaedah termudah dan paling dipercayai untuk memastikan Darkice berjalan setiap kali audio bluetooth hadir. Sekiranya Darkice sudah berjalan, perintah itu akan diabaikan.

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

Langkah 14:

Imej
Imej

Seterusnya kita perlu menjalankan perintah untuk membuat fail darkice.sh dapat dilaksanakan. Buka tetingkap terminal dan ketik "sudo chmod 777 /home/pi/darkice.sh" dan tekan enter. Kini tiba masanya untuk memulakan perkhidmatan pelayan Icecast2. Ketik "sudo service icecast2 start" dan tekan enter.

sudo chmod 777 /home/pi/darkice.sh

perkhidmatan sudo icecast2 bermula

Langkah 15:

Imej
Imej
Imej
Imej
Imej
Imej
Imej
Imej

Selanjutnya kita perlu memberitahu Darkice untuk memulakan secara automatik setiap kali Pi di boot (pelayan Icecast2 berfungsi sebagai perkhidmatan dan sudah mula secara automatik setelah boot). Mula-mula kita perlu memilih editor teks mana yang akan digunakan. Pada tetingkap terminal, ketik "pilih-editor" dan tekan enter. Ketik "2" untuk memilih editor nano dan tekan enter. Kemudian taip "crontab -e" dan masukkan. Seterusnya tahan kekunci Panah Bawah ke bawah untuk menatal hingga ke bahagian bawah fail teks yang muncul dan tambahkan baris ini "@reboot sleep 10 && sudo /home/pi/darkice.sh". Kemudian tekan Ctrl-X untuk keluar dan ia akan meminta "Simpan buffer yang diubah?". Tekan kekunci Y untuk Ya kemudian Enter untuk mengesahkan apa sahaja nama fail yang dihasilkan secara automatik.

pilih-penyunting

crontab -e

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

Langkah 16:

Imej
Imej
Imej
Imej
Imej
Imej

Pasangkan telefon anda dengan Raspberry Pi menggunakan ikon bluetooth di desktop. Penting untuk anda meletakkan bluetooth Pi dalam mod penemuan dan kemudian memasangkannya dari telefon anda. Sekiranya anda meletakkan telefon anda dalam mod penemuan dan cuba memasangkannya DARI Pi maka ia mungkin tersambung tetapi memberi anda kesalahan yang mengatakan bahawa tidak ada perkhidmatan di telefon anda yang dapat digunakan oleh Pi, yang benar. Kami cuba menghantar audio ke Pi, bukan sebaliknya. Setelah dipasangkan, jalankan perintah ini di tetingkap terminal untuk mendedahkan alamat MAC bluetooth peranti anda yang disambungkan:

sudo bluetoothctl

Langkah 17:

Imej
Imej
Imej
Imej
Imej
Imej

Agar Darkice dapat menggunakan peranti bluetooth sebagai input audio PCM, kita harus membuat file di folder "etc" yang disebut "asound.conf" (etc / asound.conf). Klik anak panah ke atas pada pengurus fail beberapa kali untuk pergi ke direktori root dan kemudian klik dua kali folder "dll" untuk membukanya. Tatal ke bawah dan Klik KANAN di tempat kosong dan buat fail kosong yang disebut "asound.conf" dan salin dan tampal baris di bawah dengan alamat MAC peranti anda sebagai ganti tentu saja dan simpan.

pcm.phone {type plug slave.pcm {type bluealsa device "50: F0: D3: 7A: 94: C4" profil "a2dp"}}

Langkah 18:

Imej
Imej
Imej
Imej
Imej
Imej

Kedua-dua radio WiFi dan Bluetooth pada Raspberry Pi berada pada cip yang sama, jadi jika anda menggunakan lebar jalur kedua-duanya, audio bluetooth boleh tergagap atau membeku. Ada yang menyebutnya bug dan ada yang mengatakan itu hanya batasan perkakasan. Kami akan mengubah tetapan yang akan mengatasi masalah ini. Kredit untuk memposting perbaikan ini diberikan kepada "pelwell" di https://github.com/raspberrypi/linux/issues/1402 Jalankan sudo pcmanfm sekali lagi untuk membuka pengurus fail dan melayari ke / lib / firmware / brcm. Klik dua kali fail teks "brcmfmac43430-sdio.txt" untuk membukanya dan tambahkan baris ini ke bahagian bawah dan simpan.

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

Langkah 19:

Imej
Imej
Imej
Imej
Imej
Imej

Klik ikon menu GUI dan pilih Shutdown and Reboot. Sekiranya anda mengikuti semua langkah ini dengan tepat maka pelayan audio bluetooth anda akan bermula secara automatik dari 30 saat hingga satu minit setelah mengklik but semula. SEBELUM anda dapat menambahkannya ke Sonos, anda mesti menyambungkan bluetooth telefon anda ke Pi (cukup mengetuknya pada tetapan bluetooth telefon anda kerana sudah dipasangkan) dan mula memainkan audio semacam dan menaikkan kelantangannya. Ingat, anda tidak akan mendengar audio dari pembesar suara telefon anda kerana menganggapnya bersambung dengan pembesar suara bluetooth luaran. Salah satu cara visual untuk mengetahui sama ada Icecast menerima audio bluetooth dari Darkice adalah dengan membuka https://192.168.86.107:8000 dalam penyemak imbas web dengan IP Pi anda menggantikan 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 muat semula halaman dan ia akan kosong lagi.

Langkah 20:

Imej
Imej
Imej
Imej

Anda mesti menggunakan aplikasi pengawal desktop Sonos untuk menambahkan aliran tersuai ke Sonos. Klik pada Urus> Tambah Stesen Radio dan masukkan url untuk aliran yang dalam kes saya adalah "https://192.168.86.107:8000/rapi.mp3". Masukkan juga Nama Stesen dan klik OK.

Langkah 21:

Imej
Imej

Untuk memainkan stesen radio tersuai yang baru kami tambahkan, pilih "Radio by Tunein" dan kemudian "Stesen Radio Saya". Klik kiri untuk bermain atau klik kanan untuk mengedit atau menambah stesen ke kegemaran Sonos anda.

Langkah 22:

Imej
Imej
Imej
Imej

Setelah menambah stesen radio tersuai, ia akan segera tersedia di aplikasi Sonos anda. Buka aplikasinya, ketuk "My Sonos" di bahagian bawah, tatal ke bawah ke "Stesen" dan ketuk "Lihat Semua". Tatal ke bawah sehingga anda melihat stesen yang baru anda buat. Ketuk di atasnya dan ia akan mula bermain di bilik pilihan anda. Ingat, ̶ Jika anda memutuskan sambungan anda Bluetooth dari PI maka Icecast STREAM akan ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ jika anda menukar audio aplikasi mungkin ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ untuk meneruskan pendengaran di sonos karena perlu mulakan semula memainkan audio ke telefon anda lagi dan Tekan PLAY pada ̶T̶h̶e̶ ̶S̶o̶n̶o̶s̶ ̶a̶p̶p̶ ̶a̶g̶a̶i̶n̶.̶ <--- Perkara ini telah diperbaiki; lihat kemas kini di bawah. Semoga berjaya dan terima kasih kerana membaca!

Langkah 23: KEMASKINI: LANGKAH MENJAGA YANG TETAP DITUBUHKAN KETIKA BLUETOOTH DISCONNECTS

Oleh itu, streaming bluetooth berfungsi dengan sempurna dengan persediaan ini KECUALI Sonos akan terputus dari pelayan Icecast setiap kali Darkice kehilangan audio bluetooth seperti ketika anda menukar aplikasi audio atau hanya memutuskan sambungan Bluetooth yang menyakitkan kerana anda perlu mendapatkan streaming audio bluetooth sebelum ini anda juga boleh menekan butang main di aplikasi Sonos. Ini menjadi masalah besar ketika saya cuba mengalirkan audio ke Sonos dari aplikasi WatchESPN telefon saya yang hanya skrin penuh sehingga saya tidak dapat menekan butang main di aplikasi Sonos setelah memulakan audio bluetooth tetapi ketika saya menutup aplikasi WatchESPN Aliran Sonos tidak akan bermula kecuali jika audio bluetooth dimulakan terlebih dahulu! Aduh! Saya telah mencabut rambut saya untuk mencari penyelesaian yang elegan untuk ini. Saya mencuba pengekod mp3 lain yang disebut liquididsoap yang mempunyai pilihan untuk menghantar audio senyap ketika terputus tetapi saya tidak dapat bekerja dengan bluealsa. Saya cuba mencampurkan aliran bluealsa dengan aliran kad suara dummy sekunder dengan menggunakan dsnoop dan asym untuk mencuba Icecast untuk berfikir masih ada isyarat audio yang ada tetapi alsa sebenarnya tidak membenarkan anda memanipulasi audio bluetooth. Saya kemudian mula menyiasat menggunakan fallback mount point menggunakan fail mp3 senyap di Icecast tetapi Sonos akan melihat nama mount point berubah dan terputus. Saya menggunakan fail test.mp3 dan secara tidak sengaja menamakannya sebagai nama titik pemasangan utama satu kali dan bukan fail pengganti dan melihat Sonos hanya beralih untuk memainkan fail itu ketika terputus dari aliran "rapi.mp3" bluetooth. Eureka! Secara automatik ia tidak akan kembali ke aliran bluetooth apabila ia tersedia lagi sehingga membuat saya berfikir mengapa tidak hanya menggunakan nama titik pemasangan yang sama? Jadi apa yang harus anda lakukan ialah membuat fail mp3 senyap dan memberikannya nama yang sama dengan aliran mp3 Darkice, "rapi.mp3", dan kodkannya keras sebagai titik pemasangan utama dalam fail konfigurasi Icecast2. Apa yang berlaku adalah bahawa setiap kali Sonos terputus ke aliran Darkice / bluetooth rapi.mp3, ia akan mula mengulangi fail rapi.mp3 senyap yang lain sehingga aliran bluetooth kembali dalam talian. Dengan cara ini, anda tidak perlu mengeluarkan audio bluetooth sebelum anda bermain di Sonos. Inilah caranya untuk melakukannya …

Langkah 24:

Imej
Imej
Imej
Imej
Imej
Imej

Mula-mula kita harus memasang ffmpeg untuk membuat fail mp3 senyap. Anda boleh merakam fail.wav yang senyap dari kad suara luaran dan menukar ke mp3 menggunakan lame tetapi kerana saya tidak mempunyai input kad suara luaran untuk projek ini, menggunakan ffmpeg adalah penyelesaian termudah. Buka tetingkap terminal dan ketik "sudo apt-get install ffmpeg" dan tekan Enter:

sudo apt-get install ffmpeg

Setelah dipasang salin dan tampal baris panjang ini untuk mengekod fail mp3 senyap yang berdurasi hanya satu saat:

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

Buka Pengurus Fail sebagai root menggunakan "sudo pcmanfm" dan semak ke "/ etc / icecast2". Klik kanan pada "icecast.xml" dan buka menggunakan Leafpad dan tampal baris ini tepat di bawah baris "" atas:

/rapi.mp3

Simpan dan Nyalakan Semula dan anda kini boleh memulakan stesen bluetooth Sonos tersuai anda sebelum anda menyambungkan telefon anda ke bluetooth!

Langkah 25: Tambahan

Tambahan
Tambahan
Tambahan
Tambahan
Tambahan
Tambahan
Tambahan
Tambahan

Saya mahukan bekalan kuasa Raspberry Pi dan 110V AC hingga 5V DC dapat dilengkapkan dalam satu kes supaya saya dapat memindahkannya dengan mudah di sekitar rumah tetapi terkejut apabila mendapati kes seperti itu tidak ada. Saya mungkin mencetak 3D kemudian tetapi sementara itu saya beralih menggunakan casing Raspberry Pi yang berbeza dan menemui pengecas dinding USB tipis dan kabel pendek. Pengecas mempunyai lapisan getah yang tidak dapat dilekatkan oleh pita VHB yang jelas tetapi ternyata pelekat itu mudah dilepas; namun, itu membuat ceruk kecil yang menjadikan pita VHB terlalu nipis sehingga saya menggunakan velcro.

Disyorkan: