İçindekiler:

Raspberry Pi Kullanarak Sonos'ta Bluetooth Oynatın: 25 Adım
Raspberry Pi Kullanarak Sonos'ta Bluetooth Oynatın: 25 Adım

Video: Raspberry Pi Kullanarak Sonos'ta Bluetooth Oynatın: 25 Adım

Video: Raspberry Pi Kullanarak Sonos'ta Bluetooth Oynatın: 25 Adım
Video: 30 лучших советов и рекомендаций по Windows 10 на 2020 год 2024, Kasım
Anonim
Image
Image
Raspberry Pi Kullanarak Sonos'ta Bluetooth Oynatın
Raspberry Pi Kullanarak Sonos'ta Bluetooth Oynatın

Daha önce bir Raspberry Pi kullanarak Sonos'a bir aux veya analog hat girişinin nasıl ekleneceğini açıklayan bir talimat yazmıştım. Bir okuyucu, bluetooth sesini telefonundan Sonos'a aktarmanın mümkün olup olmayacağını sordu. Bunu, daha pahalı Sonos Play:5 veya Sonos CONNECT'in girişine takılı bir bluetooth dongle kullanarak yapmak kolaydır; ancak, bluetooth'u (dijital) analoğa, sonra tekrar dijitale dönüştürmenin aslına uygunluğunu kaybedersiniz ve yalnızca daha ucuz Sonos hoparlörlerinden birine sahipseniz, bu bir seçenek değildir. Bu talimat, bluetooth sesini herhangi bir Sonos hoparlörüne aktarmak için bir Raspberry Pi'nin nasıl kurulacağını açıklar.

NOT: Bluetooth sesini Raspberry Pi'ye ileteceğimizi ve Sonos'a göndermeden önce bir mp3 akışına dönüştüreceğimizi, bu nedenle birkaç saniyelik bir gecikme olacağını unutmayın. Bunu bir video izlemek için kullanıyorsanız, ses senkronize olmayacaktır.

Aşama 1:

Neye ihtiyacınız olacak:

Raspberry PI 3 Model B (daha yeni, daha hızlı bir Model B+ var, ancak normal Model B'ye takıldım çünkü B+'nın kilitlenmesiyle ilgili bazı sorunları okudum ve ayrıca B+'nın wifi ve bluetooth radyolarının etraflarında metal koruma var. başka bir cihaza takıldığında FCC uyumlu, ancak maksimum bluetooth aralığı istedim ve ekranın bunu engelleyebileceğinden korktum)

microSD kart okuyuculu bir masaüstü veya dizüstü bilgisayar

HDMI girişli monitör veya TV (yalnızca ilk kurulum için)

USB veya bluetooth klavye ve fare (yalnızca ilk kurulum için)

Plastik Ahududu Pi Kasası(Bluetooth menzilini en üst düzeye çıkarmak için bu proje için plastik bir kasa kullanıyorum)

Kingston 8 GB microSDHC Sınıf 4 Flash Bellek Kartı

5V Güç Kaynağı

Adım 2:

resim
resim
resim
resim

Normal bilgisayarınızda https://www.raspberrypi.org/downloads/raspbian/ adresine gidin ve "RASPBIAN STRETCH WITH MASAÜSTÜ"nü indirin.

Ayrıca https://etcher.io/ adresine gidin ve Etcher'ı indirin ve kurun.

NOT: Önceki talimatımda Raspbian'ı kurmak için NOOBS'un nasıl indirileceğini anlattım; ancak, bu yöntem biraz daha hızlıdır. Her iki şekilde de iyidir.

Aşama 3:

resim
resim
resim
resim

Etcher'ı çalıştırın ve Görüntü seç'e tıklayın ve zip dosyasına göz atın. Sürücü seç'e tıklayın ve microSD karta göz atın, ardından Flash'a tıklayın!

4. Adım:

resim
resim
resim
resim
resim
resim
resim
resim

NOT: Bu sonraki adımlardan bazıları önceki yönergelerime benzer, bu nedenle zaten kök parolanız, statik IP'niz ve VNC kurulumunuz varsa ileri atlayın.

MicroSD kartı Raspberry Pi'nin alt tarafındaki SD kart yuvasına takın. Raspberry Pi'den bir HDMI kablosunu monitörünüze veya TV'nize bağlayın. USB klavyeyi, fareyi ve son olarak Mikro USB güç kablosunu bağlayın. Önyüklemeden sonra Raspbian masaüstü görünecektir. Birkaç ayarda size yol gösterecek ancak güncellemeleri kontrol etmemenizi tavsiye ederim. Atla'yı tıklayın. Tüm güncellemeler yüklendikten sonra bluetooth'u eşleştirmeye çalışırken "blueman.bluez.errors. DBusFailedError: Protokol mevcut değil" hatası almaya devam ettim, bu yüzden baştan başlamak zorunda kaldım.

İPUCU: Askeri saat istemiyorsanız, saate SAĞ tıklayın ve Dijital Saat Ayarları'nı seçin ve Saat Formatını %R'den %r'ye değiştirin.

Adım 5:

resim
resim
resim
resim
resim
resim

Ardından, yerleşik VNC sunucusunu etkinleştireceğiz. Bu, komutları yazmak yerine VNC aracılığıyla kopyalayıp yapıştırabileceğiniz için işleri çok daha kolaylaştırır. GUI Menüsü > Tercihler > Raspberry Pi Yapılandırması > Arayüzler'i seçin. VNC'nin yanındaki Etkin'e ve ardından Tamam'a tıklayın. Birkaç saniye sonra görev çubuğunda bir VNC simgesi belirecektir. Tıklayın ve ardından sağ üstteki menü simgesine (3 yatay çizgili kutu) ve ardından Seçenekler'e tıklayın. Güvenlik seçeneklerinde Şifrelemeyi "Kapalı tercih" ve Kimlik Doğrulamayı "VNC şifresi" olarak ayarlayın ve ardından Uygula'yı tıklayın. Bir şifre kutusu açılacaktır. Parola için her kutuya "ahududu" (tırnak işaretleri olmadan) girin ve Tamam'ı tıklayın.

6. Adım:

resim
resim
resim
resim
resim
resim

Daha ileri gitmeden önce statik bir IP adresi atamamız gerekiyor. Pi'nizin IP adresi, yönlendiricinizin DHCP sunucusu tarafından rastgele atanırsa, IP adresi daha sonra değişebilir ve VNC (veya bu konuda Sonos) aracılığıyla bağlanamazsınız. Görev çubuğundaki ağ bağlantıları simgesine (küçük yukarı ve aşağı ok simgesi) SAĞ tıklayın ve "Kablosuz ve Kablolu Ağ Ayarları"nı seçin. Sağ üst kutuya SOL tıklayın ve ethernet bağlantısını yapılandırmak için "eth0" veya kablosuz için "wlan0" öğesini seçin. Yalnızca birine veya diğerine statik bir IP atamanızı tavsiye ederim. Pi'mi ilk kurduğumda bir sorun yaşadım ve her iki bağlantıya da aynı statik IP adresini atadım ve Pi'min kablosuz bağlantısı kilitlendi ve tekrar düzgün çalışmasını sağlayamadım, bu yüzden işletim sistemini baştan kurmaya başlamak zorunda kaldım. Her neyse, IP adresi alanına istediğiniz IP adresini girin ve hem Yönlendirici hem de DNS Sunucuları alanına yönlendiricinizin IP adresini girin. Uygula ve Kapat'ı tıklayın.

NOT: Varsa, yönlendiricinizin DHCP IP rezervasyon özelliğini kullanarak statik bir IP adresi atamak daha kolay olabilir. Pi'nin MAC adresine ihtiyacınız olabilir veya yönlendiricinizin yönetici sayfasındaki bağlı cihazlar listesinde görünebilir. MAC adresine ihtiyacınız varsa, ethernet için terminal penceresinde "ifconfig eth0" veya WiFi için "ifconfig wlan0" komutunu yazın. İlginçtir ki, WiFi MAC adresi "eter" ile başlayan satırda görünecektir.

7. Adım:

resim
resim
resim
resim
resim
resim

Ardından, varsayılan ekran çözünürlüğünü ayarlamamız gerekiyor. Bu, bir monitöre nasıl bağlı olduğumuzu görmek aptalca görünebilir, ancak daha sonra bir monitör takılı olmadan (dedikleri gibi başsız) VNC aracılığıyla bağlandığınızda, Pi'nin çok küçük bir ekran olan varsayılan 640x480 çözünürlüğüne geri dönecektir. birlikte çalışmak! GUI Menüsü > Tercihler > Raspberry Pi Yapılandırması > Çözünürlüğü Ayarla'yı seçin. 1280x720 veya daha yükseğine ayarlayın ve yeniden başlatmak için Tamam ve Evet'e tıklayın.

Adım 8:

resim
resim
resim
resim
resim
resim

Özellikle ağınızda birden fazla varsa Pi'nizin adını değiştirmek isteyebilirsiniz. Kolayca tanımlanabilmesi için benimkini "BluetoothPi" olarak değiştirdim. Yeniden adlandırdıktan sonra yeniden başlatmanızı isteyecektir.

9. Adım:

resim
resim
resim
resim
resim
resim
resim
resim

Bu noktada Pi'yi kontrol etmek için VNC'yi kullanmaya başlamak isteyebilirsiniz. Raspbian masaüstünde VNC kontrol panelini tekrar açın ve "Bağlantı" altında IP adresini arayın. Normal bilgisayarınıza bir VNC görüntüleyici kurun ve çalıştırın ve bu IP adresini bağlanıp parola olarak "ahududu" (tırnak işaretleri olmadan) girmek için kullanın. Windows için TightVNC kullandım. Bağlandıktan sonra, gelecekte oturum açma ekranını atlayarak hızlı bir şekilde bağlanmak için Pi'nin VNC bağlantısını masaüstünüze bir kısayol olarak kaydedebilirsiniz. Kısayolda şifreyi kaydetme konusunda bir uyarı alacaksınız. Pi'nin terminal penceresine kopyalamak ve yapıştırmak için, normal bilgisayarınızdaki metni veya komutları seçin veya vurgulayın, Ctrl-C tuşlarına basın (klavyenizde kelimenin tam anlamıyla Ctrl ve C tuşlarına aynı anda basın) veya sağ tıklayın ve "Kopyala" yı seçin. ", ardından Pi'nin VNC görüntüleyici penceresini etkinleştirin ve sağ imlecin üzerindeki terminal penceresinin içine SAĞ tıklayın ve Yapıştır'ı seçin.

Adım 10:

resim
resim
resim
resim

Daha sonra Darkice ve Icecast2 olmak üzere iki program yükleyeceğiz. Darkice, bluetooth ses kaynağımızı bir mp3 akışına kodlayacak ve Icecast2, onu Sonos'a Shoutcast akışı olarak sunacak. Bu satırların her birini terminal penceresinde birer birer kopyalayıp yapıştırın ve ardından her seferinde Enter tuşuna basın:

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

Adım 11:

resim
resim
resim
resim
resim
resim
resim
resim

Şimdi Icecast2'yi kurmak için. "sudo apt-get install icecast2" yazıp enter'a basın. Kurulduktan sonra, Icecast2'yi yapılandırmak isteyip istemediğinizi soran bir pencere açılacaktır. Evet'i seçmek için sol ok tuşuna basın ve girin. İkinci ekranda aşağı ok tuşuna basın ve "localhost" varsayılan ana bilgisayar adını kullanmak için Tamam'ı seçmek için girin. Sonraki üç ekranda aşağı oka basın ve varsayılan kaynak, aktarma ve yönetim şifresi olarak "hackme" kullanmayı kabul etmek için enter tuşuna basın. Tüm varsayılan ayarları kabul etsek de, Icecast2 sunucusunu etkinleştirmek için bu adımların tamamlanması gerekir.

sudo apt-get install icecast2

Adım 1/2:

resim
resim
resim
resim
resim
resim

Daha sonra GUI dosya yöneticisini root kullanıcısı olarak çalıştırmamız gerekiyor. Bunu yapmak için GUI Menüsü > Çalıştır'ı seçin. "sudo pcmanfm" yazın ve enter'a basın. Bu, dosya yöneticisini (biz Windows kullanıcıları için dosya gezgininin eşdeğeri) ana dizine (/home/pi) açacaktır ve daha önce indirdiğimiz artık darkice kurulum dosyasını göreceksiniz. Boş bir alana SAĞ tıklayın ve Yeni Oluştur'u ve ardından Dosyayı Boşalt'ı seçin. "darkice.cfg" olarak adlandırın ve Tamam'ı tıklayın. Ardından, yeni oluşturulan dosyayı SAĞ tıklayın ve Leafpad (Windows not defterinin eşdeğeri) ile açmayı seçin. Aşağıdaki satırları kopyalayıp Leafpad'e yapıştırın, ardından Dosya ve Kaydet'e tıklayın. "Kalite" satırının önünde # ile yorumlandığını fark edeceksiniz. Yalnızca "bitrateMode = vbr" (değişken bit hızı) ayarladıysanız kullanılır. cbr (sabit bit hızı) kullanırken ayarlanmış bir kalite değerine sahip olamazsınız, aksi takdirde akış kekeler ve atlar. Tersine, vbr kullanmaya karar verirseniz, "bitrate = 160" satırını yorumlamanız ve "kalite" satırının yorumunu kaldırmanız gerekir.

NOT: Sahip olabileceğiniz en yüksek kaliteli mp3 bit hızı 320 kbps'dir; bununla birlikte, Raspberry Pi'deki hem WiFi hem de Bluetooth radyoları aynı çip üzerindedir, bu nedenle her ikisinin bant genişliğini en üst düzeye çıkarırsanız, bluetooth sesi takılabilir veya donabilir. Daha sonra bunu düzeltecek bir ayarı değiştireceğiz, ancak bu WiFi bant genişliğini biraz sınırlandırıyor, bu yüzden bu projenin ses bit hızını yalnızca WiFi üzerinde tutmayı planladığım için 160 kbps'ye düşürdüm. Ethernet kullanıyorsanız bu bir sorun değildir ve bit hızını güvenle 320 kbps'ye ayarlayabilirsiniz.

[general]süre = 0 # süre s, 0 sonsuza kadar arabellekSn = 1 # arabellek, saniye cinsinden yeniden bağlan = evet # bağlantı kesilirse yeniden bağlan

[giriş]

cihaz = telefon # bluetooth cihazının adı sampleRate = 44100 # sample rate 11025, 22050 veya 44100 bitsPerSample = 16 # bit kanalı = 2 # 2 = stereo

[icecast2-0]

bitrateMode = cbr # sabit bit hızı ('cbr' sabiti, 'abr' ortalama) #quality = 1.0 # 1.0 en iyi kalitedir (yalnızca vbr ile kullanın) format = mp3 # formatı. OGG için 'vorbis'i seçin Vorbis bitrate = 160 # bitrate server = localhost # veya IP port = 8000 # IceCast2 için port erişim şifresi = hackme # IceCast2 sunucusu için kaynak şifre mountPoint = rapi.mp3 # IceCast2 sunucusundaki bağlama noktası.mp3 veya.ogg adı = BluetoothPi

Adım 13:

resim
resim
resim
resim
resim
resim
resim
resim

Ardından, "darkice.sh" adlı boş bir dosya oluşturmak için önceki adımların aynısını izlememiz gerekiyor..sh dosyası, DOS veya Windows için bir.bat veya toplu iş dosyasının eşdeğeridir. Leafpad'i kullanarak açın, aşağıdaki satırları kopyalayıp yapıştırın ve kaydedin. Önceki talimatımı takip ettiyseniz, Darkice'i başlatan satırın biraz farklı göründüğünü fark edeceksiniz. Kodu bir döngüye yerleştirmek zorunda kaldım çünkü Darkice bluetooth ses sinyalini kaybettiğinde çalışmayı durduracak ve ses yeniden başlatılsa bile otomatik olarak yeniden başlamayacaktır. Bu sorunu çok araştırdım ve bir bluetooth cihazı bağlandığında otomatik olarak bir komut dosyası çalıştırmanın karmaşık yolları olsa da, bluetooth cihazı hala bağlı olsa bile (örneğin YouTube'u kapatırsanız) Darkice bazen ses sinyali kesildiğinde duracaktır. uygulama) bu nedenle, bu, Bluetooth ses mevcut olduğunda Darkice'in çalıştığından emin olmanın en kolay ve en güvenilir yoludur. Darkice zaten çalışıyorsa, komut yoksayılır.

#!/bin/bashwhile:; sudo /usr/bin/darkice -c /home/pi/darkice.cfg yapın; uyku 5; tamamlamak

Adım 14:

resim
resim

Ardından darkice.sh dosyasını çalıştırılabilir hale getirmek için bir komut çalıştırmamız gerekiyor. Terminal penceresini açın ve "sudo chmod 777 /home/pi/darkice.sh" yazın ve enter tuşuna basın. Şimdi Icecast2 sunucu hizmetini başlatma zamanı. "Sudo service icecast2 start" yazın ve enter'a basın.

sudo chmod 777 /home/pi/darkice.sh

sudo hizmeti icecast2 başlangıcı

Adım 15:

resim
resim
resim
resim
resim
resim
resim
resim

Daha sonra Darkice'e Pi her başlatıldığında otomatik olarak başlamasını söylemeliyiz (Icecast2 sunucusu bir hizmet olarak çalışır ve önyüklemeden sonra zaten otomatik olarak başlar). Öncelikle hangi metin düzenleyiciyi kullanacağımızı seçmeliyiz. Terminal penceresine "select-editör" yazın ve enter'a basın. Nano düzenleyiciyi seçmek için "2" yazın ve enter tuşuna basın. Ardından "crontab -e" yazın ve girin. Ardından, görünen metin dosyasının sonuna kadar kaydırmak için Aşağı Ok tuşunu basılı tutun ve "@reboot sleep 10 && sudo /home/pi/darkice.sh" satırını ekleyin. Ardından çıkmak için Ctrl-X tuşlarına basın ve "Değiştirilen arabellek kaydedilsin mi?" Evet için Y tuşuna basın, ardından otomatik olarak oluşturulan dosya adını onaylamak için Enter'a basın.

seçici editör

crontab -e

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

16. Adım:

resim
resim
resim
resim
resim
resim

Masaüstündeki bluetooth simgesini kullanarak telefonunuzu Raspberry Pi ile eşleştirin. Pi'nin bluetooth'unu keşif moduna almanız ve ardından telefonunuzdan eşleştirmeniz önemlidir. Telefonunuzu keşif moduna alır ve Pi'den eşleştirmeye çalışırsanız, bağlanabilir ancak telefonunuzda Pi'nin kullanabileceği hiçbir hizmet olmadığını söyleyen bir hata verebilir, ki bu doğrudur. Sesi Pi'ye göndermeye çalışıyoruz, tersi değil. Eşleştirildikten sonra, bağlı cihazınızın bluetooth MAC adresini ortaya çıkarmak için terminal penceresinde bu komutu çalıştırın:

sudo bluetoothctl

Adım 17:

resim
resim
resim
resim
resim
resim

Darkice'in bluetooth cihazını PCM ses girişi olarak kullanabilmesi için "etc" klasöründe "asound.conf" (etc/asound.conf) adında bir dosya oluşturmamız gerekiyor. Kök dizine gitmek için dosya yöneticisindeki yukarı oka birkaç kez tıklayın ve ardından açmak için "etc" klasörüne çift tıklayın. Aşağı kaydırın ve boş bir alana SAĞ tıklayın ve "asound.conf" adlı boş bir dosya oluşturun ve aşağıdaki satırları elbette benimkinin yerine cihazınızın MAC adresi ile kopyalayıp yapıştırın ve kaydedin.

pcm.phone { tip plug slave.pcm { bluealsa cihazı tipi "50:F0:D3:7A:94:C4" profili "a2dp" } }

18. Adım:

resim
resim
resim
resim
resim
resim

Raspberry Pi'deki hem WiFi hem de Bluetooth radyoları aynı çip üzerinde olduğundan, her ikisinin de bant genişliğini en üst düzeye çıkarırsanız, bluetooth sesi kesilebilir veya donabilir. Bazıları buna bir hata diyor ve bazıları bunun sadece bir donanım sınırlaması olduğunu söylüyor. Bunu düzeltecek bir ayarı değiştireceğiz. Bu düzeltmeyi göndermenin kredisi, https://github.com/raspberrypi/linux/issues/1402 adresindeki "pelwell"e gider. Dosya yöneticisini açmak ve /lib/firmware/brcm'ye göz atmak için sudo pcmanfm'i tekrar çalıştırın. "brcmfmac43430-sdio.txt" metin dosyasını açmak için çift tıklayın ve bu satırları en alta ekleyin ve kaydedin.

# Cypressbtc_mode=1 btc_params8=0x4e20 btc_params1=0x7530'dan deneysel Bluetooth birlikte yaşama parametreleri

Adım 19:

resim
resim
resim
resim
resim
resim

GUI menü simgesine tıklayın ve Kapat ve Yeniden Başlat'ı seçin. Tüm bu adımları tam olarak takip ettiyseniz, bluetooth ses sunucunuz, yeniden başlatmayı tıkladıktan sonra 30 saniye ile bir dakika arasında herhangi bir yerde otomatik olarak başlayacaktır. Sonos'a eklemeden ÖNCE, telefonunuzun bluetooth'unu Pi'ye bağlamanız (zaten eşlendiğinden telefonunuzun bluetooth ayarlarında üzerine tıklamanız) ve bir tür ses çalmaya başlamanız ve sesi açmanız gerekir. Harici bir bluetooth hoparlöre bağlı olduğunu düşündüğü için telefonunuzun hoparlöründen gelen hiçbir sesi duymayacağınızı unutmayın. Icecast'in Darkice'den bluetooth ses alıp almadığını anlamanın görsel bir yolu, Pi'nizin IP'sinin benimkiyle değiştirildiği bir web tarayıcısında https://192.168.86.107:8000 açmaktır. Icecast her zaman çalışır, bu nedenle her zaman durum sayfasını görürsünüz, ancak Darkice ayrıca bluetooth sesi alıyorsa, o zaman bağlantı noktası ve akış tanımlayıcısını da görürsünüz. Bluetooth bağlantısını kesin ve sayfayı yenileyin, tekrar boş olacaktır.

Adım 20:

resim
resim
resim
resim

Sonos'a özel bir akış eklemek için Sonos masaüstü denetleyici uygulamasını kullanmanız gerekir. Yönet > Radyo İstasyonu Ekle'ye tıklayın ve benim durumumda "https://192.168.86.107:8000/rapi.mp3" olan akışın url'sini girin. Ayrıca bir İstasyon Adı girin ve Tamam'a tıklayın.

Adım 21:

resim
resim

Yeni eklediğimiz özel radyo istasyonunu çalmak için "Radyo by Tunein" ve ardından "Radyo İstasyonlarım" öğesini seçin. Oynatmak için SOL ÇİFT tıklayın veya istasyonu düzenlemek veya Sonos favorilerinize eklemek için SAĞ tıklayın.

Adım 22:

resim
resim
resim
resim

Özel radyo istasyonunu ekledikten sonra, Sonos uygulamanızda hemen kullanılabilir olacaktır. Uygulamayı açın, alttaki "Sonos'um"a dokunun, "İstasyonlar"a gidin ve "Tümünü Gör"e dokunun. Yeni oluşturduğunuz istasyonu görene kadar aşağı kaydırın. Üzerine dokunun ve seçtiğiniz odalarda oynamaya başlayacaktır. Ol, ̶ yapıldığı takdirde bağlantının kesilmesi Bluetooth mesafede The pl Sonra saplar IceCast akışı olacak ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ yapıldığı takdirde geçiş Ses Uygulamaları, Mayıs ̶d̶i̶s̶c̶o̶n̶n̶e̶c̶t̶.̶ için Devam bir dinleme Sonos ̶y̶o̶u̶'̶l̶l̶ bilgisi için yeniden başlatma işlemi Çalma ses üzerinde Telefon tekrar Push PLAY'deki  ̶t̶h̶e̶ ̶S̶o̶n̶o̶s̶ ̶a̶p̶p̶ ̶a̶g̶a̶i̶n̶.̶ <---Bu düzeltildi; aşağıdaki güncellemeye bakın. İyi şanslar ve okuduğunuz için teşekkürler!

23. Adım: GÜNCELLEME: BLUETOOTH BAĞLANTISI KESİLDİĞİNDE AKIŞI BAĞLI TUTMAK SABİTLENDİ

Bu nedenle, bluetooth akışı bu kurulumla mükemmel bir şekilde çalışıyordu HARİÇ Sonos, Darkice bluetooth sesini kaybettiğinde, örneğin ses uygulamalarını değiştirdiğinizde veya sadece bluetooth bağlantısını kestiğinde olduğu gibi, Icecast sunucusuyla bağlantıyı kesecekti, çünkü daha önce tekrar bluetooth ses akışı almanız gerekecekti. Sonos uygulamasındaki oynat düğmesine bile basabilirsiniz. Bu, telefonumun yalnızca tam ekran olan WatchESPN uygulamasından Sonos'a ses akışı yapmaya çalışırken çok büyük bir sorun haline geldi, bu nedenle bluetooth sesini başlattıktan sonra Sonos uygulamasında oynat düğmesine basamadım, ancak WatchESPN uygulamasını kapattığımda Önce bluetooth sesini başlatmadığınız sürece Sonos akışı başlamaz! Ah! Bunun için zarif bir düzeltme bulmaya çalışırken saçımı çekiyorum. Bağlantı kesildiğinde sessiz ses gönderme seçeneği olan Liquidsoap adında farklı bir mp3 kodlayıcı denedim ama bluealsa ile çalıştıramadım. Bluealsa akışını dsnoop ve asym kullanarak ikincil bir kukla ses kartı alsa akışıyla karıştırmaya çalıştım ve Icecast'i hala bir ses sinyali olduğunu düşünmesi için kandırmaya çalıştım ama aynı zamanda bluetooth sesini çok fazla manipüle etmenize izin vermiyor. Daha sonra Icecast'te sessiz bir mp3 dosyası kullanarak bir geri dönüş bağlama noktası kullanmayı araştırmaya başladım, ancak Sonos bağlama noktası adının değiştiğini ve bağlantıyı kestiğini görecekti. Bir test.mp3 dosyası kullanıyordum ve yanlışlıkla bir kez yedek yerine ana bağlama noktası adı olarak belirledim ve Sonos'un bluetooth "rapi.mp3" akışıyla bağlantısı kesildiğinde bu dosyayı oynatmaya geçtiğini fark ettim. Evreka! Tekrar kullanılabilir olduğunda otomatik olarak bluetooth akışına geri dönmeyecekti, bu yüzden neden aynı bağlama noktası adını kullanmadığımı düşünmeme neden oldu? Yani yapmanız gereken sessiz bir mp3 dosyası oluşturmak ve ona Darkice mp3 akışıyla aynı adı, "rapi.mp3" vermek ve onu Icecast2 yapılandırma dosyasındaki ana bağlama noktası olarak sabit kodlamak. Olan şu ki, Sonos, Darkice/bluetooth rapi.mp3 akışıyla bağlantısını kaybettiğinde, bluetooth akışı tekrar çevrimiçi olana kadar diğer sessiz rapi.mp3 dosyasını döngüye almaya başlıyor. Bu şekilde, Sonos'ta oynat'a basmadan önce bluetooth sesini açmanız gerekmez. İşte nasıl yapılacağı…

Adım 24:

resim
resim
resim
resim
resim
resim

Önce sessiz bir mp3 dosyası oluşturmak için ffmpeg kurmamız gerekiyor. Harici bir ses kartından sessiz bir.wav dosyası kaydedip lame kullanarak mp3'e dönüştürebilirsiniz ama bu proje için harici bir ses kartı girişi olmadığı için ffmpeg kullanmak en kolay çözümdü. Terminal penceresini açın ve "sudo apt-get install ffmpeg" yazın ve Enter'a basın:

sudo apt-get install ffmpeg

Yüklendikten sonra, süresi yalnızca bir saniye olan sessiz bir mp3 dosyasını kodlamak için bu uzun satırı kopyalayıp yapıştırın:

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

Dosya Yöneticisini "sudo pcmanfm" kullanarak root olarak açın ve "/etc/icecast2" dizinine gidin. "icecast.xml" üzerine SAĞ tıklayın ve Leafpad'i kullanarak açın ve şu satırları üst "" satırının hemen altına yapıştırın:

/rapi.mp3

Kaydedin ve Yeniden Başlatın ve telefonunuzu bluetooth'a bağlamadan önce artık özel Sonos bluetooth istasyonunuzu başlatabilmelisiniz!

Adım 25: Ek

zeyilname
zeyilname
zeyilname
zeyilname
zeyilname
zeyilname
zeyilname
zeyilname

Raspberry Pi ve 110V AC'den 5V DC'ye güç kaynağının tek kasada bağımsız olmasını istedim, böylece onu evin içinde kolayca taşıyabilirdim ama böyle bir kasanın olmadığını görünce şaşırdım. Daha sonra 3D yazdırabilirim ama bu arada farklı bir Raspberry Pi kasası kullanmaya başladım ve ince bir USB duvar şarj cihazı ve kısa kablo buldum. Şarj cihazının kauçuk kaplı bir kaplaması vardı, bu yüzden net bir VHB bant yapıştıramadım ama bunun kolayca çıkarılabilen bir çıkartma olduğu ortaya çıktı; ancak bu, VHB bandı çok ince yapan küçük bir girinti oluşturdu, bu yüzden cırt cırt kullandım.

Önerilen: