「ソフトウェア」カテゴリーアーカイブ

Raspberry Pi でスクリーンショット


はじめに

Raspberry Pi でスクリーンショット(画面のスナップショット)を撮るツールはいろいろありますが、raspi2png は、起動画面の他、OpenGL ES, OpenVG 等の GPU 描画画面のスクリーンショットも撮ることができます。もちろん X の画面も。

snapshot
起動画面のスクリーンショット
OpenVG のスクリーンショット
OpenVG のスクリーンショット

公式サイト

raspi2png

raspi2png

raspi2png の公式サイトです。ここから raspi2png のソースを取得することができます。

インストール方法

$ sudo apt-get install libpng12-dev
$ wget https://github.com/AndrewFromMelbourne/raspi2png/archive/master.zip
$ unzip master.zip
$ cd raspi2png-master
$ make
$ sudo cp raspi2png /usr/local/bin

 

  • raspi2png はソースからビルドする必要があります。
  • raspi2png は libpng12-dev に依存するため、予めインストールしておく必要があります。
  • make install には対応していないため、ビルドしてできた raspi2png は手動で /usr/local/bin にコピーします。

 

実行方法

Usage: raspi2png [--pngname name] [--width <width>] [--height <height>] [--compression <level>] [--delay <delay>] [--display <number>] [--stdout] [--help]

    --pngname,-p - name of png file to create (default is snapshot.png)
    --height,-h - image height (default is screen height)
    --width,-w - image width (default is screen width)
    --compression,-c - PNG compression level (0 - 9)
    --delay,-d - delay in seconds (default 0)
    --display,-D - Raspberry Pi display number (default 0)
    --stdout,-s - write file to stdout
    --help,-H - print this usage information

 

実行例

$ raspi2png

スクリーンショットを snapshot.png というファイル名でカレントディレクトに保存します。

$ raspi2png --pngname filename.png

–pngname オプションで保存するファイル名を指定します。

$ raspi2png --delay 5

–delay オプションでコマンド実行後、5 秒後にスクリーンショットを撮ります。

 


Raspberry Pi の CPU 温度


Raspberry Pi の CPU 温度は vcgencmd を使って取得できます。

$ sudo vcgencmd measure_temp
temp=42.2'C

または cat コマンドを使って取得することもできます。

$ cat /sys/class/thermal/thermal_zone0/temp
42236

ただし、こちらの場合は1000倍した値になっています。

$ echo "scale=3; `cat /sys/class/thermal/thermal_zone0/temp` / 1000" | bc
42.236

bc を使えば1000分の1に変換することも可能です。

 

なお、Raspberry Pi3 では、CPUのコア温度が 80度を超えると画面右上に Yellow square という黄色四角が表示されます。85度を越えると600MHzに強制的にクロックを落とします。これを避けるにはヒートシンクを付ける等の熱対策が必要になります。


Raspberry Pi のサンプル


サンプル

Raspberry Pi のサンプル プログラムのソースコードは、/opt/vc/src/hello_pi/ に入っています。

これらのサンプルは、VideoCore を使ったもので、コンソールで動作します。(X11 アプリケーションではありません。)

ビルド方法

# cd /opt/vc/src/hello_pi
# sh rebuild.sh

 

サンプルの中からいくつか紹介します。

 

hello_triangle

OpenGL ES 1.1 のサンプル。

実行方法

# cd /opt/vc/src/hello_pi/hello_triangle
# ./hello_triangle.bin

 

 

hello_triangle2

triange2

OpenGL ES 2.0 のマンデルブローのサンプル。

実行方法

# cd /opt/vc/src/hello_pi/hello_triangle2
# ./hello_triangle2.bin

hello_teapot

OpenGL ES 1.1 のサンプル。

実行方法

# cd /opt/vc/src/hello_pi/hello_teapot
# ./hello_teapot.bin

 

hello_videocube

OpenGL ES 1.1 のサンプル。

実行方法

# cd /opt/vc/src/hello_pi/hello_videocube
# ./hello_videocube.bin

 

hello_tiger

OpenVG のサンプルです。

実行方法

# cd /opt/vc/src/hello_pi/hello_tiger
# ./hello_tiger.bin