Tag Archives: Linux

Genel

Raspberry PI İle Müzik Keyfi

Bayram arefesi boşluğu ile evde bir süredir “LCD ye yazı yazmaktan başka bir işe yaramayan” Raspberry PI cihazını * değerlendirmeye karar verdim. Aslında bu işler için uzun süredir benim emektar IBM makineyi dedike etmiştim ancak kendisi yaşı itibarıyla kaynakları yetersiz, yedek parçasını bulmak neredeyse imkansız, çok ısınıyor ve çok yer kaplıyordu. Ben de Raspberry PI’mi ağa bağlayıp kolları sıvadım.

– İlk olarak aşağıdaki komutu çalıştırarak ses modülünün işletimm sistemindeki durumunu kontrol ettim.

$ sudo lsmod | grep snd_bcm2835

Eğer herşey yolundaysa aşağıdaki çıktının alınması gerekiyormuş.

snd_bcm2835            18169  0 
snd_pcm                81518  3 snd_bcm2835,snd_soc_core,snd_pcm_dmaengine
snd                    61518  7 snd_bcm2835,snd_soc_core,snd_timer,snd_pcm,snd_seq,snd_seq_device,snd_compress

Eğer snd_bcm2835 modülü yüklü değilse modprobe komutu ile snd_bcm2835 modülünü çalışır hale geitrmeliymişiz. Ancak bende gerek olmadı.

$ sudo modprobe snd_bcm2835

– Ben Raspberry PI’yi miksere analog ses çıkışından bağladığım için sesin bu bağlantı noktasından alınması için aşağıdaki komutu çalıştırdım.

$ amixer cset numid=3 1

Buradaki 3, raspberry pi mikserdeki kontrolün kimliği, 1 ise bu kontrol için atadığım değeri temsil ediyor.
Kontrol listesini görmek için aşağıdaki komutu kullanabilirsiniz.

$ amixer controls

numid=3,iface=MIXER,name='PCM Playback Route'
numid=2,iface=MIXER,name='PCM Playback Switch'
numid=1,iface=MIXER,name='PCM Playback Volume'
numid=5,iface=PCM,name='IEC958 Playback Con Mask'
numid=4,iface=PCM,name='IEC958 Playback Default'

İlgili kontrolün alabileceği değerleri görmek için ise aşağıdaki komutu çalıştırabilirsiniz.

$ amixer cset numid=3
numid=3,iface=MIXER,name='PCM Playback Route'
  ; type=INTEGER,access=rw------,values=1,min=0,max=2,step=0
  : values=0

Gördüğünüz üzere ben 3 nolu kontrol için 0=otomatik, 1=anaolug çıkış, 2=hdmi değerlerini temsil eder.

– Sıra geldi medya oynatıcı uygulamayı yüklemeye. Açıkcası bu konuda çok derinlemesine araştırma yaptığımı söyleyemem. Benim için uygulamanın herhangibir medya dosyasını shellden çalabilmesi yeterliydi. mpg321 uygulamasını tercih ettim. Kurulum için aşağıdaki komutu çalıştırdım.

$ sudo apt-get -y install mpg321

– SSH bağlantısı kesildiğinde uygulama kapandığından screen yükleyerek uygulamanın bağlantı kesilsede müziği çalmaya devam etmesini sağladım.

$ sudo apt-get install screen

– Son olarak ben evde yatan usb sabit disklerden birini içine mp3 doldurduktan sonra cihaza mount ettim. Siz dilerseniz müziklerinize ağ ve/veya. vs farklı kaynaklardan erişebilirsiniz.

Kurulum işleri bu kadar.

– Müzik çalmaya başlamadan önce screen i çalıştırmanızı öneririm. Bilgisayarınızı kapattığınızda müzik zevkiniz bölünmesin :)

$ screen

– Cihazın müzikleri çalmaya başlaması için aşağıdaki komutu çalıştırdım.

$ find /media/myusbdisk/ -name "*.mp3"|mpg321 -@ -

– Ses kontrolü için farklı bir screen oturumunda ** aşağıdaki komutlarla volüm kontrolü sağlayabilirsiniz.

$ amixer cset numid=1 (0-100 arası bir değer)%
$ amixer cset numid=1 mute

Ve… müzik keyfi…
20141003_175733_1

Edit 04.10.2014:
Ne yaptıysanız ses çıkmadıysa ve amixer yazdığınızda aşağıdaki ekran çıktısını alıyorsanız master volume mute durumundadır.

Simple mixer control 'PCM',0
  Capabilities: pvolume pvolume-joined pswitch pswitch-joined penum
  Playback channels: Mono
  Limits: Playback -10239 - 400
  Mono: Playback -10239 [0%] [-99999.99dB] [off]

Sorunu gidermek için aşağıdaki komutu çalıştırarak sorunu giderebilirsiniz:

$ amixer set PCM unmute

*: Raspberry Type B 700 MHz CPU ve 512 MB Ram belleğe sahip yaklaşık 100 küsür TL ye alabileceğiniz bir cihaz. Deneysel amaçlar dışında Raspberry PI bu işler için hem çok gelişmiş hem de çok pahalı. 5 TL lik bir PIC mikro denetleyicinin üzerine yazacağınız küçücük bir program kodu ile bu tarz işleri kolayca daha ucuza yapabilirsiniz.

**: Screen’de farklı oturum açmak için CTRL + a + c, oturumlar arasında gezmek için CTRL + a + (“) yapabilirsiniz.

Kaynaklar:
http://www.raspberrypi-spy.co.uk/2013/06/raspberry-pi-command-line-audio/
http://alexpb.com/notes/articles/2012/11/14/error-when-playing-audio-on-raspbian-on-a-raspberry-pi/
http://jeffskinnerbox.wordpress.com/2012/11/15/getting-audio-out-working-on-the-raspberry-pi/
http://www.raspberrypi.org/documentation/configuration/audio-config.md