LoginSignup
8
7

More than 5 years have passed since last update.

RaspberryPi + DAC + volumio = AirPlay

Last updated at Posted at 2016-03-05

はじめに

「AirPlayで音楽聴きたい」が動機。
Raspberry PiにDAC接続して、volumio導入を行いAirPlayするまでです。

準備

今回はサインスマート HIFI DAC サウンドカード モジュール I2Sインターフェース Raspberry Pi B+、2 Model B対応をチョイス。

513VfyiZkQL.jpg

volumioは公式からダウンロードして、SDカードにWin32DiskImager等で書き込んだ。

volumioの設定

有線LANで接続した場合には、http://volumio.localで見つかるはず。
右上のMENUからSYSTEMに進み、I2S Driverの設定を「Hifiberry +」にする。
ここでHifiberryなど違う選択をすると音が出ないので注意。

FireShot Capture 1 - Volumio - Audiophile Music Player - http___volumio.local_settings.php.png

AirPlayは初期設定でonになっているので特に何もしなくて良い。
各種設定はお好きなように。

PlaybackのResampling設定は初期設定(disable)のままにしておいた。
Raspberry Pi2の場合には違和感なく動作していたが、Raspberry Piの場合、パワー不足で音がぶつ切れになり使い物にならなかった。
AirPlayで音楽聞く程度ならdisableのままで良いでしょう。

赤外線リモコンを使えるようにする

ステップとしては2つ。
1.IRを使えるようにする(lirc導入等々)
2.リモコン学習

我が家にはIRKitやhomebridgeが導入済みなんで、その辺りとも連携可能。

準備

今回利用したサインスマート HIFI DAC サウンドカード モジュール I2Sインターフェース Raspberry Pi B+、2 Model B対応は赤外線リモコンの受信部があるということで、これを有効にしてみた。

基本的な手順は以下を参考にした。
Volumio を赤外線リモコンでコントロールする (1) lircの導入
赤外線でリモコンの信号を送受信する実験
RaspberryPiでLIRCする(2015/02仕様変更?)

/boot/config.txtに「dtoverlay=lirc-rpi,gpio_in_pin=26」を追記する。IR受光素子がGPIO26らしい。
また/etc/moduleに記載するのは古い仕様らしいので、記載しないように。

JMmJX.png

正常に動いているかチェック。

pi@volumio:~$ lsmod | grep lirc
lirc_rpi                6422  0
lirc_dev                8110  1 lirc_rpi
rc_core                16220  1 lirc_dev
pi@volumio:~$ dmesg | grep lirc
pi@volumio:~$ dmesg | grep lirc
[    3.658110] lirc_dev: IR Remote Control driver registered, major 245
[    3.752552] lirc_rpi: module is from the staging directory, the quality is unknown, you have been warned.
[    4.764654] lirc_rpi: auto-detected active low receiver on GPIO pin 26
[    4.774113] lirc_rpi lirc_rpi: lirc_dev: driver lirc_rpi registered at minor = 0
[    4.786114] lirc_rpi: driver registered!
pi@volumio:~$ ls /dev/lirc* -la
crw-rw---T 1 root video 245, 0  1月  1  1970 /dev/lirc0

gpioの状態を取得するとちゃんと表示されていない・・・原因調査中。

pi@volumio:~$ sudo mount -t debugfs debugfs /sys/kernel/debug
pi@volumio:~$ sudo cat /sys/kernel/debug/gpio
GPIOs 0-53, platform/3f200000.gpio, pinctrl-bcm2835:
 gpio-35  (?                   ) in  hi
 gpio-47  (?                   ) out lo

受光できるようになっていれば、以下のようにリモコンを向けてボタンを押せば受信データを取得できる。
一応動いているらしい。

pi@volumio:~$ sudo /etc/init.d/lirc stop
pi@volumio:~$ mode2 -d /dev/lirc0
space 16777215
pulse 8943
space 4412
pulse 609
space 518
pulse 607
space 560
pulse 566
space 518
pulse 617
space 546
pulse 570
space 517
・
・
・

リモコン学習する

こちらは、自宅のシステム構築上、先延ばしにすることにした。
理由は赤外線リモコンの信号をテレビと、IRKitなど複数の受信機が受信してしまい、少し構成を考えないと面倒なため。
追加記事用に以下の参考にしたサイトを紹介しておく。

Remote Controlling Your Raspberry Pi Hi-Fi Device
赤外線学習リモコン
【Raspberry Pi専用I2S - HIFI DAC】GEEKROO HiFi DAC PiCobber + Volumioの赤外線リモコン機能を試す

さいごに

基盤むき出しで設置するとホコリなどが心配なので、100円均一に行って、トレーディングカードのケースを買ってきた。
Raspberry Piのサイズが9cm×6cm程度。Hifi DAC接続で5cmくらいの背になっているのでジャストフィットサイズ。
ビール片手に工作する程度の簡単さ。

市販のケースだと背が高くて入らない。
ホコリが心配。
DSC_3095.JPG

100円均一で売っていたトレーディングカードケース。
サイズ的にぴったし。
DSC_3096.JPG

三箇所(LAN,Audio,USB)にカッターナイフで穴を開けてRaspberry Piを入れてみた。
いい感じ。
DSC_3098.JPG

AudioとUSB側は穴が開けにくいので注意。
構造上、ケースのプラ部分が二重になっているので、カッターナイフで「えいや」と思い切り良く作業したほうがいいと思う。

8
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
8
7