Cameras4Capture
CaptureOnDebian
CaptureOnDebian40
CaptureOnKurobox
CaptureOnMacOSX
CaptureOnUbuntu

*玄箱を使ってデジカメをUSB経由で制御する [#g1e067a6]

玄人指向のNASキット玄箱HGにcaptureをインストールして
キャノンのデジカメをUSB経由でコントロールした.
超高解像度の定点カメラなどが作れる.

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

とか

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

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

captureで制御できるカメラには,Cameras4Captureなどがあるらしい.
最近のカメラはサポートされていないらしいが,
中古で数千円で買えるし,解像度も十分だと思われる.

#ref(100_4390s.jpg);


** 玄箱にdebian Linuxをインストールして環境を整える [#i0522739]
-http://kuro.dsk.jp/からdebian_2006_06_10_dist.tgzをダウンロード
-install_debian_standalone.txtを見てインストール
--イメージの展開方法はtar xzvf debian_2006_06_10_dist.tgz -C /mnt
-install_debian.txtを見て設定
--このまま再起動すると玄箱はIPアドレス192.168.0.100で起動する
--そこで適当なマシンを192.168.0.101などに設定して,192.168.0.100にtelnetで入り,/etc/host /etc/network/interfacesなどを編集して希望のアドレスに変更した
--(今から思えば,/mntにイメージを展開したあと,再起動する前に,/mnt/etc/hostと
/mnt/etc/network/interfaces を編集すれば良かったような気がする)
-このままapt-getなどすると/etc/apt/sources.listが古いので,この中の単語woodyをsargeに置換して
以下のようにしてアップデートする
--apt-get update
--apt-get upgrade
-つぎのものをapt-get installで入れる
--gcc
--gcc++ 
--make 
--pkg-config
-capture動かすだけなら不要だけど,以下のものを結局apt-get installした
--ntpdate (玄箱のクロックは不正確なので必須)
---以下のような内容のシェルスクリプトファイルを作って/etc/cron.daily/に置いた
 #!/bin/sh
 /usr/sbin/ntpdate 133.65.17.121 #ご近所のntpサーバを指定
--ssh (telnet代わり&写真などの転送用)
--imagemagic (写真のサイズ変更などのため)
--apache (写真の公開用)
-内蔵HDDはhda1 (/) とhda3 (/mnt) の二つにパーティション分けされている
--/は2GBと小さめなので,/mnt/homeを作ってln -s /mnt/home /homeした

** libusbを入れておく [#zafb4ba7]
- apt-get install libusb-0.1-4 でもインストールできる.が,これではcaptureのmakeができなかった.
--もしかしたら古いのかもしれない(0.1.8以上が必要らしい)
-そこで,http://sourceforge.net/projects/libusb/
から最新版をダウンロード.
--./configure→make→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

**libptpを入れておく [#le09978d]
-http://sf.net/projects/libptp からダウンロード.
-./configure→make→make install

** captureをインストール [#nfe70710]
-http://sourceforge.net/projects/capture からダウンロード.
-gtk使わないつもりなのでMakefileのHAVE_GTK   = -DHAVE_GTKをコメントアウトする
-readlineをapt-getでインストールはしたものの,makeでエラーが出る.なにか足りないらしい.
--深く追求するのはあきらめて,MakefileのAVE_READLINE = -DHAVE_READLINEをコメントアウトする
--i386でapt-get install libreadline*したらmakeできたので玄箱でも出来たかもしれない.

** ライブラリを指定する [#n36c2672]
このまま動かすとlibptp2.soが見つからないというエラーが出る.そこで
 export LD_LIBRARY_PATH=/usr/local/lib
として指定しておく.
ちなみにこの変更を恒久的に設定するには, ~/.bashrc_profileに書くか,/etc/profile(すべてのユーザの場合)に書く.(by 秋田先生)

** 写真を撮るスクリプト例 [#j0ce1858]
秋田先生の定点カメラのサンプル 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を移動や加工すれば良い

** Debian i386[#ifd8fb1f]
-後日Debian i386にインストールした.以下が必要だった.
玄箱でも実は必要だったかもしれない.
--libc-dev 
--libc6-dev
--g++
---g++をインストールしたらlibc-dev, libc6-devは自動的にインストールさるようだ

-i386でapt-get install libreadline*したらcaptureがコンパイルできた.

**参考ページ [#gb877945]
-http://akita11.jp/plan/usl5p-cam.html
-http://kuro.dsk.jp/

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