猫ができたら /dev/urandom > /dev/fb0
画面上でとランダムなピクセルを取得、必要なものはすべて揃っています。
私の場合、テキスト情報をダンプする必要がありました。busyboxとraspiでこれをテストしたので、うまくいくかもしれません。答えは少し長いかもしれません。コンソールを使用しない場合は、文字のピクセルを自分で印刷する必要があるからです。幸いなことに誰かが大変な仕事をしたので、それを結合するだけです。
busyboxまたはraspiにfbset
バイナリが必要です。これは、画面の寸法として設定を見つけるのに役立つ場合があります。
私の埋め込みでは次のようになります:
# fbset
mode "480x272-1"
# D: 0.104 MHz, H: 0.207 kHz, V: 0.657 Hz
geometry 480 272 480 272 16
timings 9600000 3 3 0 32 17 11
accel false
rgba 5/0,6/5,5/11,0/0
endmode
ここで重要な部分は、幅480ピクセルと高さ272ピクセルです。
あなたが述べたように、あなたはで画面を満たすことができます
cat /dev/urandom > /dev/fb0
そして、あなたはそれをクリアすることができます cat /dev/zeros > /dev/fb0
画面をクリアするよりも、寸法を適切に取得する必要があります。
偶然にも、busyboxには入力として.ppmファイルを取得するfbsplashバイナリがありました。
私が間違っていれば正しいですが、fb0
このフォーマットを受け入れているようです。WikipediaのPortable Anymapを見てみると、いくつかの「サブフォーマット」があります... fbsplashは色付きの派手なものなどを使用していますが... 簡単にするために、ASCIIでコーディングされたP1を使用しましょう。垂直線を印刷できれば、寸法が正しいことがわかります。試してみよう:
ppmタイプP1の垂直線は次のようになります。
P1
480 272
f 0 0 0 0 ... 0
f 0 0 0 0 ... 0
...
f 0 0 0 0 ... 0
したがって、272行、959文字幅になります。ドキュメントでは、busyboxではf ...の代わりに1でなければならず、raspi fの方が明るいとされています。
0の後にスペースがないことが重要です。このタスクは少し面倒な場合があります。vimでは、最初の2行をコピーしてコマンドモード(esc)に移動し、次の文字を入力できます。
of(esc)479a 0(esc)yy271p
もちろん、私は私の次元を使用しています、あなたはあなたのものを使用する必要があります。このファイルを/dev/fb0
に猫は、次のようになります。
OK、私は浮気しています...それはそこに1行だけではありません...それは約8です...しかしそれが機能しないとき(私たちは間違った寸法を持っているか、最後にスペースがありますより簡単に)。
そこまで得られた場合は、適切なピクセルを印刷して文字として表示するだけです。Marcel Sondaarと彼のGitHubのレポのおかげで、各文字を描画する必要がなくなります。
小さな微調整のいずれかで印刷するには、彼の簡単なプログラムを展開するf
代わりにX
と0
、各文字の間にスペースを挿入し、スペースの代わりにヘッダを追加し、我々はそのCHARCODEを対応する文字と.ppmファイルを持っています。
さらに一歩進んで、入力としてcharを取得するのではなく、行を取得します。ファイルをcatし、プログラムと出力にパイプする/dev/fb0
と、テキスト出力が得られます。
このソリューションをラズベリーパイでもテストしましたが、うまくいきました。このシステムは、2つ以上のリンクを投稿する評判がないことを教えてくれます。私がこれを得るまで、あなたは私の言葉に頼らなければなりません:D