[piCorePlayer] piCorePlayerでロータリーエンコーダを使ってみた-その2

こんにちは

2週間ほど悩んでいましたがやっと解決策が見つかりました。

何のことだか分からない?

記事「[Raspberry Pi] piCorePlayerでロータリーエンコーダを使ってみた」でpiCorePlayerにロータリーエンコーダを使って音量調整などができることを紹介しました。

この記事ではLMS(Logitech Media Server)が外にあり、ここに接続して動作していましたが、新しい piCoreplayerは、自分自身にLMSを走らせることができます。つまり1台のpiCorePlayerでサーバーとクライアントを走らせることができます。

これを使う手はないので、早速LMSを設定して走らせることにしましたが、悲劇はこの後に

LMSの設定

LMSはpiCorePlayerを開くとLMSと言う項目がありそこで設定を行います。

最小限の設定としては、もちろんLMSのinstallを済ませた後ですが、

「LMS autostart」の項目の「Yes」を選択しておくことと、「Configure LMS」をクリックしてLMSの設定画面を出して、設定を行います。

これは既に設定が終わった後のLMSの画面です。

詳細な設定については、ネットで検索して調べてみて下さい。

Favoritesにいくつかの局を登録(ハートマークをクリック)しておくと、「もどきラジオ」のスイッチを使って選曲することができます。

Squeezelite Settings

次に設定するのは「Squeezelite Settings」です。

下図のLMS IPを「127.0.0.1」に変更します。他に変更するところはありません。「Save」を忘れずに

本来ならば、このままで「LMS」のIPが変更しただけなので、「LMS」が外部に会った時と同じように動作するはずですが、何故か動作しませんでした。

start.sh

原因を色々調べてみたのですが、どうも「LMS」がrunするのが遅くて、この後に

以下のソフトが走らないとダメのようです。

———————————-

/usr/local/etc/init.d/lcdproc-server start
/usr/local/etc/init.d/pikeyd start
/usr/local/etc/init.d/slimmer start

———————————-

今までは、/opt/bootlocal.sh の中に入れていたのですがこれは、外部にLMSがある場合は問題ありませんでしたが、内部でLMSを走らせるようにすると、LMSの起動よりも/opt/bootlocal.shの起動が早いためLMSを捕まえることが出来なくて動作しないようです。

そこで、試しに/home/tc/start.shというスクリプトを

作って、この中に

入れてみました。

/home/tc/start.sh



#!/bi/sh

/usr/local/etc/init.d/lcdproc-server start
/usr/local/etc/init.d/pikeyd start
/usr/local/etc/init.d/slimmer start

そして

起動が終わった後に

$ sh /home/tc/start.sh

と入れてみると

ちゃんと起動して、ロータリーエンコーダとスイッチを使って選曲及び音量の調整ができるようになりました。

つまりLMSが立ち上がった後にstart.shを起動する必要があるのです。

slimmer.conf

忘れていましたが

/usr/local/etcにある

slimmer.conf の設定を変更しておく必要があります。

——————————————

OPTIONS="--input /dev/pikeyd --volume 40 --encoding ISO-8859-2"

lmshostとlmsportはDefaultをそのまま使うので不要で削除してあります。

————————————–

–lmshost 192.168.xxx.xxx –lmsport 9000

—————————————-

start.shをどこに入れる?

これをどこに入れるか 2週間ほど悩みました。その間はブログの更新はお預けでしたが。

でやっと入れる場所が見つかりました。

Tweaksの項目の中にUser Commandを入れるところがあります。

そこの中に

/home/tc/start.sh

を入れてみました。

ビンゴー

これで全てが立ち上がった後にこのスクリプトが動作することがわかりました。

Start.shにはamixerの設定も入れてあります。

———————————

amixer -c 1 set PCM 100%
/usr/local/etc/init.d/lcdproc-server start
/usr/local/etc/init.d/pikeyd start
/usr/local/etc/init.d/slimmer start

———————————–

まとめ

これでpiCorePlayer1台でネットラジオを聞くことが出来るようになりました。

このために2週間もの時間がかかりました。自分の勉強だと思うとそれほど苦にはなりませんでしたが本当に疲れました。

なおそれぞれに&を入れた方がいいのかどうかはわかりません。 何しろLinuxについてはほとんど素人なので。

もっと勉強をしなければ。でも団塊の世代にはキツイです。

なお電源ONのあと立ち上がりまで少し時間(50秒ほど)がかかります。もっと早くならないかなとは思います。

Archlinuxで走るSqueezeberryでpythonのエラーの問題が解決すれば、結構早く立ち上がるのではと思っているのですが。 これはまだ未解決です。

Arch linuxは立ち上がりまで15秒ほどです。立ち上がり早いです。

 

 

 

 

 

 

 

 

コメント