PICマイコンと連携するmpdコントロールソフトウェア
IrBerryDACに搭載されたPICマイコンは、RaspberryPiのGPIOを操作して、volumio(mpd)を動かします。
Raspberry PiのI/Oはこちらにまとまっています。
そして、そのI/Oを操作するライブラリも各種用意されています。
操作する言語は、C、C++、シェルスクリプトなどなど色々な方法があるのですが、どうもRaspberry PiでのI/O操作はPythonが多いようです。
Pythonはスクリプト言語ですので、Perl cgi やjavaスクリプトのように、動作させながらちょこちょこと編集していけるので割とお気楽です。 C言語のようにコンパイルする必要がありません。
■GPIOライブラリの登録
まずは、sshでRaspberry Pi に接続します。
sudo apt-get update
sudo apt-get -y install python-rpi.gpio python-daemon
python-rpi.gpioがpythonスクリプトからGPIOを使うためのライブラリです。 一緒にpython-daemonもインストールします。 後で使うことになります。
少し時間がかかりますが、無事にインストールが終わったら次へ進みます。
■GPIO操作のスクリプトを作る
参考にした元ソースを改変したものがこちら。 -> mpd_ctrl.py
これをRaspberry Pi に転送します。
cd /home/volumio
wget nw-electric.way-nifty.com/blog/files/mpd_ctrl.py
次にパーミッションを変更して実行できるようにします。
chmod +x /home/volumio/mpd_ctrl.py
上記スクリプトは「mpc」というMPDのクライアントソフトへ命令を出しています。 mpcはvolumioに標準で入っていて、コマンドラインからMPDを簡単に操作できるようになっています。 便利ですね。 ちょっとだけ例をあげますと、
mpc play :再生開始
mpc next :次の曲へ
mpc volume 90 :ボリュームを90%に設定
という具合です。
こちらがハードウェアの回路図です。 この回路図はスイッチですが、IrBerryDACからはPICマイコンにて操作しています。 もちろんスイッチでも操作できます。
■スクリプトの自動実行
実行は、
sudo /home/volumio/mpd_ctrl.py
とします。
これを、起動時に自動で実行するには、rc.localに登録しておきます。
volumioは /etc/rc.local を起動時に上書きしますので下記のようにします。
/var/www/_OS_SETTINGS/etc/rc.local に下記の1行を加える。
/usr/bin/python /home/volumio/mpd_ctrl.py & /dev/null 2>&1
これら全てを入れたものがvolumio 1.2Beta+最新mpdバイナリとして公開しているものです。 このバイナリをSDカードに転送すれば設定済みになります。





最近のコメント