2018年2月27日火曜日
hzeller/rpi-rgb-led-matrix
を動かすための、
Raspberry Pi 用 LEDモジュール基板を組み立て、動作を確認した。
問題は特に発生せず、スムーズにLEDに表示できるようになった。
感想としては、よく出来ている。
Raspberry Pi 3 model Bで試した。
表示させているとCPU使用率80%とかになるのだが、
あまり重い感じはしない。表示もきれいだ。
各種フォーマット、各種サイズの動画を、そのまま
表示できるのも便利。 Raspberry-Piに慣れている人には
お勧めだ。
以下、もうちょっと細かい所感などを書く。
プログラムの仕組は、まだ理解していない。
サウンド出力ハードウェアを使用しているそうで、
同時に音を出力することは出来ないらしい。
LEDとRaspberry Piの電源を完全に分離したのは良かった。
おなじ5Vの電源を2つ用意するのは面倒だが、
LED側電源が容量不足で電圧低下が起こっても、
RasPi側には影響ないのは安心だ。
動画では 64x64dot, 1/16スキャン、
LEDの消費電流は20mAなので、
全点灯時は 64 x 64 x 3 / 16 x 20 [mA] = 15.36[A]の電流が
流れる。これだとACアダプタでは間に合わない。配線も大変だ。
動画では2.5Aの実験用電源を使用しているが、電流超過で
しばしば電圧が下がって、表示が赤っぽくなっているのがわかる。
電圧が下がると赤っぽくなるのは、赤色LEDのVfが2V程度で
青色、緑色の4V程度と比べると低いため、電圧が下がると
赤色のみ明るく光るため。
今回のプログラムは、思ったほど消費電流が多くない。
LEDをフルに光らせることができていないのかもしれない。
hzeller/rpi-rgb-led-matrix
は、相当、良く出来ていると思うのだが
不満な点もある。
オプションが面倒。
LEDの構成に関する長いオプションを毎回入力する
必要があるのが不満。
ドットファイルでオプションを指定できるように
して欲しい。
video-viewerのフレームレートがデタラメ。
音が出力できないので、必要性を感じていない
のだと思うが、動画再生のフレームレートの
処理が手抜きだ。プログラムを見たら、
各フレームの処理後に 1/fps秒のディレイを
入れているだけ。フレームの処理時間分だけ
ずれていく。
Qiitaに書いた
同期処理 の
方法でやれば、簡単にフレームレートを
合わせることができるはずなので、試してみたい。
実際に使おうとすると、raspberry-piは面倒。
実験している分には面白いが、
機器に組み込んで実際に使おうとすると
raspberry-piは面倒だと思ってしまう。
理由は fsprotectの組込みと
ファイルシステム(SDcard)のバックアップが
面倒だから。
fsprotectというのは、SDcardのファイルシステムを
ReadOnlyで運用し、それにRAM-Diskを被せ、
通常の読み書きできるファイルシステムに見せかける
システム。 電源を落とせば、変更された内容は
すべて消えるかわりに、いつ電源を落としても問題ない。
これ無しにRaspberry-Piを連続運転させると
shutdownせずに電源を落としたときに
SDCardの内容が壊れる可能性があるし、
そうでなくても
(swap等で)書き込み過ぎでSDCardが壊れると言われている。
fsprotect自体はapt-getで導入可能だが、
kernelにaufsを組み込む必要があり、
自分でソースをダウンロードし、パッチを当て
カーネルを作り直さないといけない。
先人たちの情報がいろいろあるとはいえ、
なかなか面倒。
これをdistributionで面倒見てほしいと
常々思っている。
あと、いろいろやっているうち、SDCardが壊れる可能性は
高いので、バックアップの必要がある。SDCardのイメージ毎
保存しておけば良いのだが、4Gとか8Gとかのファイルを
残すのに、効率の悪さを感じる。といっても、コマンド一発だし、
ちょっとした動画のファイル程度の大きさなので、
単に慣れの問題かもしれない。
次は、Raspberry-Pi Zeroでも動くか試してみたい。
プログラムの仕組も理解したい。
ESP32CompositeVideoの仕組も調べてないし、
宿題がたまる一方だ。