*Linux (Ubuntu ) で, capture を使って,デジカメをUSB経由で制御する [#k7a0d56c] #author("2022-01-13T19:14:49+09:00","","") *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