RaspberryPi + Volumio LCD リベンジ(2)
こんな感じにLCDへ曲名など表示するプログラムソースコードを公開いたします。
曲名は、2バイト文字(日本語など)は表示できません。 これは、キャラクタLCDが対応していないからです。 mpcから取得した文字データをそのままLCDに送信していますので、2バイト文字が混じっていると、その部分で文字化けがでますが気にしないで下さい。 バグというか仕様です(笑
WEBRADIOで流れている曲名を表示できるのが意外と便利です。 この曲だれ? っていうのが解消されるのは「見えるラジオ」的な感覚です。
LCDを含めた全体の接続図はこんな感じです。
使用したLCDは、ストロベリーリナックスさんの「SB1602BW」
プログラムはこちら。 lcd_ctrl.py
このプログラムを実行するには、下記の準備が必要です。
1.SSHでログイン
SSHにてvolumioへログイン「ユーザ:root」「パス:volumio」
SSHはTeraTermを使うと便利です。
コピーは「Alt + c」 ペーストは「alt + v」 で出来ます。
2.sources.list に wheezy mainを追記
既にmpd_ctrl.pyを導入している人は飛ばしてください。
/etc/apt/sources.list に下記の一行を追加します。
deb http://archive.raspberrypi.org/debian/ wheezy main
ファイルの編集はnano を使うと簡単です。
nano /etc/apt/sources.list で該当ファイルをオープン
カーソールキーで移動して、上記1行をペースト。
「ctrl + o」 で保存。 「ctrl + x」 終了。
3.pythonのGPIO、DAEMON、SMBUSモジュールをインストール
apt-get update
apt-get -y install python-rpi.gpio python-daemon python-smbus
既にmpd_ctrl.pyを導入している人は下記のコマンドだけでOKです。
apt-get update
apt-get install python-smbus
4.i2c ドライバの準備
/etc/modules に下記を追記します。
i2c-bcm2708
i2c-dev
5.LCD表示用のプログラムをインストール
cd /home/volumio
wget nw-electric.way-nifty.com/blog/files/lcd_ctrl.py
chmod +x lcd_ctrl.py
6.自動で起動するように、/etc/rc.localを編集します。
/var/www/command/player_wdog.sh startup & > /dev/null 2>&1
/usr/bin/python /home/volumio/mpd_ctrl.py
/usr/bin/python /home/volumio/lcd_ctrl.py
exit 0
※ mpd_ctrl.py は IrBerryDACでIRリモコンを受信するときに使うスクリプトです。 lcd_ctrl.py が、LCDへ表示するスクリプトです。
スクリプトはデーモン化してあるので「 & > /dev/null 2>&1 」は要りません。
7.再起動します。
reboot
8.ハードウェアの接続方法
ちょっと手抜きになりますが実際の接続写真を載せます。
IrBerryDACからの配線は4本だけです。
LCD側は、リセット端子(1pin)を47kΩでプルアップしています。
またLEDバックライトを点灯するために、LEDアノード端子(9pin)へ3.3Vから47Ωをつなぎ、LEDカソード端子(10pin)をGNDへ接続しています。
LCDの横にあるLEDの光り漏れが激しいので、青いビニールテープを貼りました。 この辺りの処理はご自由に。 基板上の回路にショートしないように気をつけてアルミテープを貼った方が、光りがLCDのバックライトへと効率よく届くかもしれません。
※ /etc/modules は、volumio上でI2Sドライバ設定関連を触ると上書きされますので注意して下さい。 設定したはずのi2cドライバが読み込まれないという時は/etc/modulesに再度書き足します。
にほんブログ村
ブログランキングに参加中です。 めざせ1位!
もしよろしければ「ぽちっと」お願いします。
« RaspberryPi + Volumio LCD リベンジ | トップページ | volumio + mpd-0.18.16 LCD バイナリ »
「Raspberry Pi」カテゴリの記事
- MotionEyeと余っているラズパイで監視カメラ(2024.11.21)
- 秋の夜長にはRaspberryPi5 RT-linux セルフビルド(2024.10.13)
- 秋の夜長にはRaspberryPi5 64bit版 Sabreberry32 ドライバコンパイル(2024.10.10)
- RaspberryPi 5 の公式OSは32bit版でも64bit?(2024.10.09)
- 秋の夜長にはRaspberry Pi5 64bit カーネル・セフル・ビルド (2024.10.07)
コメント
« RaspberryPi + Volumio LCD リベンジ | トップページ | volumio + mpd-0.18.16 LCD バイナリ »
最近、RaspberryPi + Volumioを始めた初心者です。
素晴らしい情報と機器の開発、参考にさせていただいております。ありがとうございます。
さて、RaspberryPi + Volumio + LCDをトライしましたが、GPIOのインストールでエラーが出てしまいました。
エラー内容は
root@volumio:~# apt-get -y install python-rpi.gpio python-daemon python-smbus
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package python-rpi.gpio
E: Couldn't find any package by regex 'python-rpi.gpio'
root@volumio:~#
解決方法がございましたら、ご教授頂きたく、よろしくお願いいたします。
投稿: あきぼん3 | 2014年10月 5日 (日) 11時46分
あきぼん3さん
ソースリストの追記を書いていませんでした。記事を少し修正しました。
apt-getは、このソースリストを頼りにデータを探す仕組みになっています。
投稿: たかじん | 2014年10月 5日 (日) 13時19分
たかじん様
早速、対応いただきましてありがとうございました。
無事、エラー無く、インストールできました。
投稿: あきぼん3 | 2014年10月 5日 (日) 14時01分
液晶表示、すごく楽しみに待っておりました。
表示が出来るのは、ものすごく、うれしいです。
ハードはそれなりに解るのですが、残念なことに、リナックスはチンプンカンプンの、初心者です。
先回みたいに、SDに焼けるイメージでの状態は出来ないでしょうか?
私みたいな人の為に、検討をお願いします。
投稿: イワン | 2014年10月 5日 (日) 19時38分
あきぼん3さん
無事に導入できてよかったです。
イワンさん
おっしゃる通りと思います。 近いうちに用意しようと思います。
投稿: たかじん | 2014年10月 5日 (日) 23時17分
素晴らしいRSpiの活用法を御指南いただき本当に感謝しています。
低予算でこんなに良い音が聴けるなんて幸せです。
LCDも綺麗に表示していたのですが、
当方、無線LANアダプターを装着してタブレットやスマホで操作しておりましたが、その時点では何の問題もなくLCD表示していたのですが、無線LANアダプターを装着したまま有線LANケーブルをさしてRSpiを起動してから表示が一切されなくなりました。
なにか考えられる箇所があればご教示下さると助かります。
宜しくお願いします!
投稿: bunta | 2014年10月21日 (火) 20時13分
たかさん、こんばんは。
LCDが表示しなくなった件、自己解決できました!
考える時間を与えてくださりありがとうございます。
Linuxの勉強が少しできたような気がします!
原因は、interfacesの中の記述に間違いがあって、
詳しいことは分かりませんが、
そのせいで処理が止まっていたようです。
起動時の画面を見ているとしっかりエラーを表示していたんですね。
初心者はこれだから困りますね!お騒がせしました!
お陰様で、外出時はモバイルWi-Fiで無線LAN、家に帰るとそのまま有線LANケーブルを差して両方のアクセスポイントから操作出来るようになりました。
両方差したままモバイルWi-Fiから有線上のNASの曲を操作できる様になり大変便利!!
ただ、車など外で起動するときは有線を探しに行く時間が余計にかかって起動時間が長くなりなした。
auto eth0ではなくスキャンする時間を指定出来たりするんですかね?
奥が深いですね!!!
投稿: bunta | 2014年10月22日 (水) 18時06分
bunta さん
返信が遅くなりましてすみませんでした。 その間に自己解決されたようで、なによりです。
Wifiと有線LANとを両方使うというアグレッシブな使い方なのですね。
私も試したことありません。
LANのタイムアウトは、設定できるのかちょっとわかりません。
http://linux.blog.kaone.net/linux%20socket/linux%E3%81%AE%E3%82%B3%E3%83%8D%E3%82%AF%E3%83%88%E3%82%BF%E3%82%A4%E3%83%A0%E3%82%A2%E3%82%A6%E3%83%88
この辺りが参考になりますでしょうか。
投稿: たかじん | 2014年10月22日 (水) 21時18分