#author("2022-01-13T19:14:49+09:00","","") 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/