*Linux (Ubuntu ) で, capture を使って,デジカメをUSB経由で制御する [#k7a0d56c]


*Ubuntuをインストールする [#odc899f2]
**Ubuntuとは [#ie2a6cb7]

DebianGNU/LinuxをベースにしたLinuxディストリビューションの一つ.
デスクトップが充実していて,初心者でもとても使いやすい.

-Wikipedia
--http://ja.wikipedia.org/wiki/Ubuntu
-日本語公式サイト
--http://www.ubuntulinux.jp/

**インストール [#p0cafa14]

-Ubuntu公式サイト->Download->日本語ローカライズドDesktop CDのダウンロード->最新バージョンのCDイメージ で,Ubuntu日本語ローカライズドDesktop CDのISOイメージを取ってきて,CD(DVD?)に書き込む.
-書き込んだCD(DVD)からPCを起動.「Ubuntuの起動およびインストール」を選択.
-Linuxとは思えないくらい綺麗なデスクトップが表示される.
-デスクトップにある「インストール」アイコンをダブルクリック.
-言語やキーボードの種類,アカウントなどもろもろのことを設定できるので,自分の好きなように設定し,インストールする.
-再起動(再起動の途中でCDを取り出すように言われたら従う)

という感じで,言われた通りに全て従っていけばインストールできます.めちゃくちゃ簡単です.

*captureをインストールする [#h348e4e8]

次にUbuntu 8.4, Ubuntu 8.10 に captureをインストールして
キヤノンなどのデジカメをUSB経由でコントロールした.
超高解像度の定点カメラなどが作れる.

 $ capture
 capture> start
 capture> macro on
 capture> capture cat.jpg

とか

 $ capture start
 $ capture 'macro on'
 $ capture 'capture cat.jpg'

のような手順で写真が撮れる.

captureで制御できるカメラは,
画像転送プロトコルの標準規格PTP (Picture Transfer Protocol: ISO 15704)
というのに対応したカメラである.
(さらにその中でもカメラをコントロールする拡張機能をサポートしている機種)
キヤノンのすこし古いデジカメが多く対応していて,
Cameras4Captureなどが制御できるらしい.
最近のカメラはあまりサポートされていないらしいが,安い機種なら
中古で1万円未満で買えるし,解像度も十分だと思われる.


** 現在遭遇している問題点(2009.1.24) [#jaf3390d]

Ubuntu 8.4, Ubuntu 8.10にインストールしたCaptureで,
Canon Powershot A70とCanon Powershot A520をコントロールするとき,
quitする(Captureサーバを終了させる)とカメラが応答しなくなる.
カメラの電源をoff/onしないと復旧しない.

同じUbuntuでもCanon Powershot G10ではこのような問題は出ない.
また,
debian_2006_06_10_dist.tgzをインストールした玄箱(CaptureOnKurobox)では,
A70とA520のどちらも正常にquitできる.

quitさせないで撮影し続ければ動くようである.しかし,
Captureのread.meとPerlのサンプルによると,
quitせずに400枚から1000枚の撮影をするとカメラが応答しなくなるらしい.
ある程度撮影したらquitしてもう一度起動させる必要があるようだ.



** 開発環境を整える [#u67fe1a4]


 sudo apt-get install build-essential
 sudo apt-get install libreadline5-dev

によって必要な開発環境を整える.

//メニューバーの「システム」->「システム管理」->「Synapticパッケージマネージャ」で以下のものは簡単にインストールできる.(既に入っているものが多い.)

//--Linuxをターミナルからがんがんやりたい人は,メニューバーの「アプリケーション」->「追加と削除」でターミナルをインストールしましょう.
//--ターミナルはメニューバーの「アプリケーション」->「システムツール」->「Konsole」.
//--ターミナルでapt-get update, apt-get upgradeで最新にして, つぎに以下をapt-get installで追加することもできる(はず).
//
//-ssh(あれば便利)
//-sudo(あれば便利)
//--visudoでsudoできるようにしておく
//-gcc
//-g++ 
//-make 
//-pkg-config
////-libusb-0.1-4 (最初から入っていたような気がする)
////-libusb-dev
////-libusb++-0.1-4c2 (不要だったかもしれない)
////-libusb++-dev (不要だったかもしれない)
//-libreadline5 (あれば便利,たぶんすでに入っている)
//-libreadline5-dev (あれば便利)
//
//同じ手順でapacheやImageMagickもいれられる.
//

**libusbを入れておく [#ea9923fb]

libusb-0.1-4 が既にインストールされているが,http://sourceforge.net/projects/libusb/ から最新版をダウンロード.
(最新版と言っても、libsub-0.x.xでないとダメ。libusb-1.0.0以上は不可!!)
-圧縮ファイルをダウンロードした場合
--tar xzvf ファイル名[Enter](解凍する)→ls[Enter](解凍したファイルを確認)→cd 解凍してできたファイル名[Enter]→
./configure→make→sudo make install
-libusbはusbdevfsとかusbfsと呼ばれる仮想ファイルを使用する.そこで,/proc/bus/usbをマウントする.
毎回マウントするのは面倒なので,/etc/fstabに以下を追加する.(注:sudoしましょう)
--none /proc/bus/usb usbfs defaults 0 0
-ただしこれだとrootのみアクセス可能.代わりに以下を追加すると誰でも読み書き可能になる
--none /proc/bus/usb usbfs devmode=0666 0 0
-詳しくは /usr/share/doc/libusb-0.1-4/README.Debian

**libptpを入れる [#q62146c2]
-http://sf.net/projects/libptp からlibptp2-1.1.10をダウンロード.
-libusbと同じ要領でインストール

** captureをインストール [#c9941b95]
-http://sourceforge.net/projects/capture からダウンロード.
-gtkは使わないつもりなのでMakefileのHAVE_GTK   = -DHAVE_GTKをコメントアウトする
-libreadlineを使わないなら,MakefileのAVE_READLINE = -DHAVE_READLINEもコメントアウトする
-make→sudo make install

** ライブラリを指定する [#bee4553e]
このまま動かすとlibptp2.so.1が見つからないというエラーが出る.そこで
 export LD_LIBRARY_PATH=/usr/local/lib
を/etc/profile(すべてのユーザの場合)に書く.(by 秋田先生)

bashを使っている場合、ホームディレクトリの中の.bashrcに書いてもよい。(この場合、使えるユーザは一人になる。。)

それでもうまくいかない場合,/usr/libにシンボリックリンクをはる.
-cd /usr/lib
-sudo ln -s /usr/local/lib/libptp2-1.1.10 libptp2.so.1

** 写真を撮るスクリプト例 [#ue500411]
秋田先生の定点カメラのサンプル http://akita11.jp/plan/usl5p-cam.html によると,こんなスクリプトで撮影できるようだ.

 #! /bin/sh
 export LD_LIBRARY_PATH=/usr/local/lib
 
 /bin/capture 'quit' #これはおまじない?
 sleep 1 #これはおまじない?
 /bin/capture 'start'
 /bin/capture 'flash auto'
 FILENAME=`/bin/date +%Y_%m_%d_%H%M`.jpg
 /bin/capture "capture $FILENAME"
 /bin/capture 'quit'
 #これに続く行でFILENAMEを移動や加工すれば良い


**関連ページ [#labd1f5e]
-秋田先生がUSL-5Pにcaptureをインストールした様子(参考にさせていただきました)
--http://akita11.jp/plan/usl5p-cam.html
-玄箱HGに capture をインストール
--CaptureOnKurobox
-Mac OS X に capture をインストール
--CaptureOnMacOSX

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS