内容
1. ここで扱うカメラモジュールの種類
-
フラットケーブルタイプ
Physical Computing Lab カメラモジュールなど
-
USBケーブルタイプ
USB接続のWEBカメラなど
2. 必要なハードウェア
Tinker Board にカメラモジュールを接続して使う場合、次の機材が必要となります。
(1) カメラモジュール本体
(2) Tinker Board / Tinker Board S ボード本体
(3) マイクロSDカード
(4) 5V 2.5A以上の電源
(5) HDMIケーブル
(6) LANケーブル
(7) HDMIディスプレイ
(8) マウス
(9) キーボード
(2)~(6)は、「Tinker Board コンプリートスタータキット」を購入すれば揃います。是非ご利用ください。
3. 対象となるOSの準備と機材の組み上げ
以降では、Tinker OSでの使い方 を説明します。
フラットケーブルタイプのカメラモジュールに対応しているTinker OSは、v2.0.4以降です。
※ なお、Tinker OS v2.0.8以降では、カメラモジュールへのOSからの利用方法が変わりました。 詳細は、下記のFAQを参照ください。
https://physical-computing-lab.net/tinker-board/tb_camera_v2-0-8.html
① microSDカードの準備
※ この作業は、上記コンプリートスタータキットを使用する場合には、最新のOSが書き込み済みのmicroSDカードが同梱されているため不要です。
ASUS社のサイトから、TInkerOS Debianの最新のイメージファイルをダウンロードして、microSDカードに書き込みます。
ASUS社のサイト
https://www.asus.com/jp/Single-Board-Computer/Tinker-Board/
② microSDカードの挿入
OSを書き込んだmicroSDカードをTinker Boardに挿入してください。
③ 必要機材の接続
マウス、キーボード、LANケーブル(Wireless使用の場合は不要)、HDMIケーブル、電源を接続します。
④ カメラの接続
電源を入れる前に、カメラを接続します。以降に述べる手順に従ってください。
4. カメラの接続方法について
4.1 フラットケーブルタイプのカメラモジュールの場合
フラットケーブルとは、下記写真のような平べったいケーブルのことです。
両端の接点の向きが同じ面のものと、異なる面のものとがあります。
この2つには互換性はありません。入れ替えて使うとカメラモジュールやTinker Board本体の故障の原因となります。
必ず、使用するカメラモジュールに付属のケーブルを使うようにしてください。
フラットケーブルタイプのカメラモジュールを接続する際は、必ずTinker Boardの電源を切った状態で行ってください。
Tinker Boardには、ディスプレイ用コネクタとカメラ用コネクタがあります。コネクタの形状が似ているので注意してください。
カメラ用コネクタの位置は下記写真の通りです。
フラットケーブルは、金属の接点のある側がHDMIコネクタ側を向くように差し込んでください。
ケーブルが突き当たるまでコネクタに差し込みます。
差し込み方が甘いと、カメラが機能しませんので注意してください。
差し込んだら、白いプラスチックの両端を押してロックしてください。
ケーブルを接続し終わったらTinker OSを起動します。
なお、フラットケーブルタイプのカメラモジュールでも、コネクタの形状や規格が合わないものや、 規格は合っていてもTinkerOSにドライバが用意されていないなどで、Tinker Boardで使用できないものがあります。
Tinker Boardとの接続確認済みのカメラモジュールとして、Physical Computing ストアでは、次の5種類を扱っています。
Tinker Board用カメラモジュール(Adjustable Focus) [TSI-TB039-AF(B)]
Tinker Board用カメラモジュール(Fisheye Lens) [TSI-TB039-FL(G)]
Tinker Board用赤外線カメラモジュール(Fixed Focus) [TSI-TB039-FF(E)]
Tinker Board用赤外線カメラモジュール(Adjustable Focus) [TSI-TB039-NAF(F)]
Tinker Board用赤外線カメラモジュール(Fisheye Lens) [TSI-TB039-NFL(H)]
4.2 USBケーブルタイプのカメラの場合
USBカメラは、Tinker Board起動中でも、USBコネクタに接続したタイミングでTinker Boardに認識されます。
ただし、カメラとの相性によっては接続しても認識できないものもあるため、動作確認済みの機種など、予め情報を集めておく必要があります。
5. カメラの設定および接続確認方法
5.1 フラットケーブルタイプの場合
設定方法
接続実績のあるカメラモジュールであれば、OS上での設定や、ドライバーソフトをインストールするなどの必要はありません。
Tinker Boardにカメラモジュールを接続しOSを起動すればすぐに使うことが出来ます。
確認方法
カメラモジュールがTinker OSに認識されていれば、/dev/video* (*は0,1,2,3などの数字)というデバイスファイルが作成されています。
5.2 USBケーブルタイプの場合
設定方法
通常、事前の設定は不要で、Tinker BoardのUSBコネクタに接続するだけで認識されます。
確認方法
カメラモジュールがTinker OSに認識されていれば、/dev/video* (*は0,1,2,3などの数字)というデバイスファイルが作成されています。
また、lsusbコマンドを実行すると、Tinker BoardにUSB接続された機器の一覧が表示されます。
一覧の中に、接続したUSBカメラが存在していれば、USB機器として認識されています。
6. カメラモジュールの使用方法
6.1 使用するアプリケーション
カメラモジュールがTinker OSに認識されていても、対応しているデータ形式や解像度はカメラモジュール毎に異なり、使用可能なアプリケーションも異なることがあります。
ここでは、フラットケーブルタイプのカメラモジュール向けにGstreamerというソフトの使い方を、USBケーブルタイプのカメラ向けにCheeseおよびguvcviewを紹介します。
6.2 カメラ画像のプレビュー
フラットケーブルタイプの場合
Gstreamerを使います。
Gstreamerは、コマンドラインで実行するアプリケーションで、Tinker OSにデフォルトでインストールされています。
Tinker OSのメニューからLXTerminalを開き、次のコマンドラインを打ち込みます。
gst-launch-1.0 v4l2src ! video/x-raw,format=NV12,width=640,height=480 ! videoconvert ! autovideosink
起動すると、カメラ画像のプレビューウィンドウが開きます。
USBケーブルタイプの場合
Cheeseやguvcviewというアプリケーションが使えます。
それぞれ、インストールは、LXTerminalで、
sudo apt-get install cheese
sudo apt-get install guvcview
とします。
インストールが完了すると、GUIのメニューのSound&Videoの項目から起動できるようになります。
Cheeseを起動すると下記のように、カメラのプレビュー画像の下にコントロールパネルが付いたウィンドウが表示されます。
guvcviewも同様、コントロールウィンドウとプレビューウィンドウが開きます。
6.3 静止画の撮影
フラットケーブルタイプの場合
次のコマンドラインを打ち込みます。
gst-launch-1.0 v4l2src num-buffers=10 ! video/x-raw,format=NV12,width=640,height=480 ! jpegenc ! multifilesink location=image.jpg
静止画がimage.jpgという名前で保存されます。
USBケーブルタイプの場合
Cheeseを用いた静止画撮影
① ウィンドウ中段のPhotoボタンを押して静止画撮影モードにします。
② ウィンドウ中段の録画マークボタンを押します。
③ 3からのカウントダウンが始まり、0になると画像が撮影されます。
④ 撮影された画像は、ボタンの下のサムネイル領域に表示されます。右クリックしながらSave Asを選択するとファイルとして保存できます。
guvcviewを用いた静止画撮影
① guvcviewのコントロールウィンドウ上段のCap. Imageボタンを押します。
② my_photo-*.jpg (*=数字)という名前のファイルとして静止画が保存されます。
6.4 動画の撮影
フラットケーブルタイプの場合
次のコマンドラインを打ち込みます。
gst-launch-1.0 v4l2src num-buffers=512 ! video/x-raw,format=NV12,width=640,height=480,framerate=30/1 ! queue ! mpph264enc ! queue ! h264parse ! mpegtsmux ! filesink location=vg.ts
ctrl-Cで止めるまで、動画の保存が行われます。保存した動画のファイル名はvg.tsとなります。
USBケーブルタイプの場合
Cheeseを用いた動画撮影
① ウィンドウ中段のVideoボタンを押して動画撮影モードにします。
② ウィンドウ中段の録画マークボタンを押します。録画マークから■マークに変わり、動画撮影開始します。
③ ■マークボタンを押すことで、ボタンの下のサムネイル領域にビデオテープ(動画)アイコンが表示されます。
④ サムネイルを右クリックしながらSave Asを選択するとwebmファイルとして保存できます。
guvcviewを用いた動画撮影
① guvcviewのコントロールウィンドウ上段のCap. Videoボタンを押します。ボタンの名前はStop Videoに変わります。
② Stop Videoボタンを押すことで動画の撮影が終わり、my_video-*.mkv (*=数字)という名前のファイルとして動画が保存されます。
以上