PI STARTER : Webcamを使う
1.はじめに
PI STARTERはRasbianのシェルに直接アクセスできるため、linuxのコマンドを使うことができます。今回は、コマンドから簡単にWebカメラにアクセスできるfswebcam
を使って写真の撮影と表示を行ってみます。
2.ハードウエアの設定
このハードウエアの設定と、次のコードの入力はWindows PCからSSHで接続して行いました。
以前行ったWebカメラのインストール手順に従って、WebカメラをRaspberry piで使用できるようにします。
一度行っていますから、難なくインストールできました。
3.PI STARTERコード
PI STARTERの準備をします。といっても、難しいことはなく、下記のコードで動作しました。
ここで、fswebcam
の設定でつまずきました。PI STARTERはPNGファイルしか受け付けないようですが、この形式での保存に苦労しました。
$ sudo fswebcam --png 5 --no-banner image.png
でうまくPNG形式で保存できました。--png
オプションでcompression factorを指定するのですが、最初はここを”-1”(自動)にしたところ、どうやってもPNG形式で保存されずJPG形式の保存となってしまいましたが、”-1″以外の数値を入力することでこの問題を回避できました。
さて、実際のコードは下記の通りです。
ACLS
PATH$ = "/boot/SMILEBOOM/SMILEBASIC-R/workspace"
TMPFILE$="/IMAGE.PNG"
W=320
H=W*3/4
WHILE INKEY$()==""
CMD$="sudo fswebcam --png 5 --no-banner "
CMD$=CMD$+PATH$+TMPFILE$
RET$=SYSTEM$(CMD$)
IF INSTR(RET$, "failed")>=0 THEN
PRINT RET$
END
ENDIF
CLS
LOCATE 0,20
LOAD "GRP0:"+TMPFILE$
WEND
Webカメラで取得したPNGファイルの保存先をフルパスで指定して、カメラで画像を取得するコマンドfswebcam
を付けて、SYSTEM$()
命令にてシェルからコマンドを送ります。正常に画像が取得された後、LOAD
命令でファイルを読み込みGRP0
グラフィックページ0へ表示します。
4.実行
上記コードを、PI STARTERのルートである”/boot/SMILEBOOM/SMILEBASIC-R/workspace”へ”CAM”という名前で保存します。
PI STARTERにてダイレクトモードからこのプログラムを読み込みます[F6]。LOAD “と出て、コマンドプロンプトが出たら、CAMと入力し、エンターキーをおします。その後、実行します[F5]。
しばらくすると、画面に連続してWebカメラ取得画像が表示されます。
4.さいごに
PI STARTERは直接Linuxを操作できるので、大きな可能性がありますね。