Debian 4.0にインストールしようとしたらいろいろ問題がありました. 詳細はCaptureOnDebian40を見てください. ということで,古いバージョンへインストールしてうまくいった記録です.

Linux (Debian 3.1R5) で, capture を使って,デジカメをUSB経由で制御する

Debian 4.0r1 に 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万円未満で買えるし,解像度も十分だと思われる.

Debian 3.1R5を探してインストールする

すでに,古いバージョンなので探すのが大変かもしれない.. debian-31r5-i386-netinst.isoというなまえなので, ぐぐると見つかるかも.

apt-getする先は,すでに4.0を指しているので,インストールの途中で エラーが出て中断する.気にしない. 起動しなおしたら, apt-getする先も3.x (コードネーム sarge )を指すように設定しておく. /etc/apt/source.listを

http://gyazo.com/5a6845b5895b72b11db264dc4b62df59.png

のように書き換える. そのあとapt-get update, apt-get upgradeしておく.

apt-get installで開発環境を整える

  • ssh(あれば便利)
  • sudo(あれば便利)
    • visudoでsudoできるようにしておく
  • gcc
  • g++
  • make
  • pkg-config
  • libreadline5 (あれば便利,)
  • libreadline5-dev (あれば便利)

libusbを入れておく

  • すでに,libusb-0.1-4が入っている.これでもできそうだったけど, いろいろ不具合らしいものもあって,よくわからない, もしかしたら古いのかもしれない(0.1.8以上が必要らしい)
  • そこで,apt-get remove libusb-0.1-4 で, アンインストールした.
  • かわりに,http://sourceforge.net/projects/libusb/ からlibusb-0.1.12をダウンロード.
    • ./configure→make→sudo make install
  • libusbはusbdevfsとかusbfsと呼ばれる仮想ファイルを使用する.そこで,/proc/bus/usbをマウントする. 毎回マウントするのは面倒なので,/etc/fstabに以下を追加する.
    • 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
  • /etc/fstabを書き換えても反映されない. 再起動するか,もしくは,以下のようにして,アンマウントしマウントし直す.
    sudo umount /proc/bus/usb
    sudo mount -a

libptpを入れる

captureをインストール

  • http://sourceforge.net/projects/capture からcapture-1.0.4-cvs-20070710をダウンロード.
  • gtkは使わないつもりなのでMakefileのHAVE_GTK = -DHAVE_GTKをコメントアウトする
  • libreadlineを使わないなら,MakefileのAVE_READLINE = -DHAVE_READLINEもコメントアウトする
  • make→sudo make install

デジカメを接続して動作テストする

  • キヤノンのデジカメを接続する場合には, 画像再生モードにして,電源を入れて,USBを接続する.
  • captureを動かし,startコマンドでカメラが起動すれば成功.

ライブラリを指定する

このまま動かすとlibptp2.soが見つからないというエラーが出る.そこで

export LD_LIBRARY_PATH=/usr/local/lib

として指定しておく. ちなみにこの変更を恒久的に設定するには, ~/.bashrc_profileに書くか,/etc/profile(すべてのユーザの場合)に書く.(by 秋田先生)

写真を撮るスクリプト例

秋田先生の定点カメラのサンプル 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を移動や加工すれば良い

関連ページ

  • 秋田先生がUSL-5Pにcaptureをインストールした様子(参考にさせていただきました)
  • 玄箱HGに capture をインストール
  • Mac OS X に capture をインストール
    • CaptureOnMacOSX

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2007-09-27 (木) 02:53:44 (3709d)