Blend day's Note

思い立ったことをメモする

不器用な人間が RaspberryPi に 物理コントローラーつけた話

f:id:kayo_tozaki:20160411211113p:plain

どうも、3.5mmステレオプラグにハンダ付けができない私です。

お食事中の方、汚い映像を冒頭でお見せして申し訳ございませんでした。

ことの始まり

私のモニターの足元には、Volumio 1.55 が動作しているRaspberry Pi model B+ が鎮座しています。

f:id:kayo_tozaki:20160411211411p:plain

Volumioには綺麗なWebUIが標準装備されており、Webブラウザ上から操作が可能です。

f:id:kayo_tozaki:20160411212055j:plain

( スマートフォンにも対応しています )

volumio.org

更に、専用のmpcのソフトがWindwos , Mac 両OS向けに多数あり、(私はgmpcをメインで使用しています)
これを使うと、より高度な作業も可能となっている便利な音楽再生機です。

gmpclient.org

更に更に、MPC向けのアプリまであり、環境としては最高に整っております。

MPoD

MPoD

  • Katoemba
  • ミュージック
  • 無料

しかし、コレでは満足しない理由が存在していたのです。

私が満足しない理由

ずっと我慢して使っていたのですが、やっぱり我慢ならない部分がありました...

1.WebUIにアクセスするのが面倒くさい

RaspberryPi本体の電源操作ができるほど優秀なWebUIですが、やはり操作の度にいちいちWebページを開くのが面倒でした。
ですが、IPアドレスを叩く必要はなく、volumio.localでアクセスができます。

2.gmpcを使ってると、メインウィンドウが持っていかれる

次の曲に進むときに、アクティブウィンドウを奪っていくのです。
設定を変更すればそんなことは無くなるのですが...
作業に没頭したい時にコレは意外と不便でした

合わせて、曲をスキップするときに、ウィンドウを呼び出してはボタンを押すという作業がどうも面倒でした(画面三枚でカーソル移動がとても大変)

3.MPod / MPad の動作がもっさりしてる

起動時に登録したmpd に接続しに行くのはいいのですが、何故か動作がもっさりしてる上に、スリープ明けにアプリの画面を出すとフリーズするのです。

こればっかりは頭に来てしまいました。

どうしたいのか

ニコンポとかラジカセみたいに、MPD操作用の物理コントローラが欲しいとふと思い立ちました。機能としては、

  • 再生・一時停止
  • 次の曲
  • 前の曲
  • シャッフル オン/オフ 切り替え
  • リピート オン/オフ 切り替え

と、最低限の機能があればいいかなと。

RaspberryPiということもあり、私が考える手法は次のものでした

i.GPIOを使ってボタンを付ける

RaspberryPiということで、やっぱり電子工作でしょ

調べてみたら、簡単にできそうでしたが...

Raspberry Piにシャットダウンとリブートボタンを設置する | ものづくりエクスペリメント

そこで冒頭の画像です。 3.5mmステレオミニプラグの交換をするために必要なハンダ付けという作業ができないぐらい不器用だということを思い出しました。

ブレッドボードとか、大学の講義で触ったことありますが、もう一生触りたくないレベルでトラウマです...

ii.専用キーボードを用意する

フルサイズのキーボードを置いておくにはちょっと狭いスペースです。

しばらく悩んだ挙句、ある方法があることに気づきました!!

いざ、作業開始

思い立ったらすぐ行動の私です。早速ヨドバシに行って買ってきました

そうです。テンキーです。

コレをどうするのかというと

7     8:リピートトグル  9:シャッフルトグル
4:前  5:再生/停止    4:次
1     2             3

と言うようにキー割り当てすれば使えるのでは??

なので、RaspberryPiにSSHして、次の様なコマンドを打ち込むことに

# alias 4='mpd prev'
# alias 5='mpd toggle'
# alias 6='mpd next'
# alias 8='mpd repeat'
# alias 9='mpd shuffle'

コマンドは mpd help で出てきます。

http://www.eleki-jack.com/Kurobox-pro2/2007/09/music-player-daemon-mpd.html

こんなものを入力した後、キーボードをぶっさして操作すると、綺麗にコマンドが実行されました。

やったね!不器用な人間でも物理コントローラを設置できたよ!!!

ちなみに、~/.bash_profileにも上記の様なものを入れておくと、再起動した時にコマンドを再度入力する必要はないでしょう。 また、Volumioの再起動時は、自動的にrootでログインがされるので、再起動後もすぐ使えるので安心です。

設置する

現状のラズパイの関係はこんな感じ

f:id:kayo_tozaki:20160411215921j:plain

こんな感じでラズパイが出てきます。 ここに、キーボードをこう置くと...

f:id:kayo_tozaki:20160411220000j:plain

(-_-;)

f:id:kayo_tozaki:20160411220401j:plain

いい感じ♪

所感とまとめ

実はテストとして、フルサイズキーボードで実験していたのですが、予想以上に良かったのでテンキーを買ってきた次第です。

曲のスキップぐらいなら、作業中でも手を伸ばせばできますし、不要なソフトやページを付けておく必要がないのがいいです。

曲の追加やデータベース更新などのちょっと凝ったことをするときは、ブラウザないしソフトから操作すればいいので、この運用方法でも問題無いです。

結果:不器用な人間でも、物理コントローラは設置できた!

おまけ

ザ・ゴールを読み始めました。何かの役に立てたらいいなとか思ってたり思ってなかったりしてます。

あと、i-dio というものが届きました。自宅では一切電波が入らないクソ物ですが、研究室ではなんとか運用できそうなので、今度設置してこようと思います。