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を操作できるので、大きな可能性がありますね。