photopcでデジカメ(EPSON:CP-200)を使う

D:20010906 免責事項

古いデジカメがあるので、それをLinuxで使えないだろうかという 話。カメラは、エプソンのカラリオ・フォト(CP-200)です。

パッケージを探してみるといろいろ出てくるが、しぼり込んでつぎ のようになった。
~$ apt-cache search camera
...
photopc - Interface to digital still cameras
phototk - GUI interface for digital cameras
camediaplay - Still Camera Digital Interface
gphoto - Universal application for digital cameras
...
このなかではphotopcがエプソンに対応しているようなので、photopcをキーワー ドにしてWEBを検索すると、zdnetの記事が見つかった。そこで紹介されて いる写真が手元のCP-200と外観が非常に似ている。同じラインで作られて いるのかもしれない。これは動作が期待できそうだ。さっそくインストー ルする。
# apt-get install photopc

LinuxBoxへ接続する

デジカメをLinuxBoxのCOM1へ接続する。manページなど [1]を参考にして動作確認をする。なんとまあ、うまく動い ているようなので細かい調整に入る。
# photopc -l /dev/ttyS0 query
Resolution: 2 - High
Camera time: Sun Dec 23 18:32:07 2001 JST
Shutter: 0 (1/0)
Color mode: 1 - Color
Flash: 0 - Auto
Frames taken: 29
Frames left: 71
Battery: 0%
Autoshut on host: 300 sec
Autoshut on field: 60 sec
Free memory: 4078872 bytes
Macro mode: 2 - Off
LCD brightness: 5 (of 7)
LCD autoshut: 300 sec
Camera I.D.: "EPSON DIGITAL CAMERA"
Serial No.: "#00000001"
Version: "v22-73"
Model: "SR22"
Manufacturer: ""
Digital zoom mode unavailable

デバイス指定など

photopcはデバイスを指定しないで起動するとデフォルトのデバ イスファイルとして/dev/photopcを使うように なっている。そこで、つぎのようにシンボリックリンクを張ってデバイ スファイルの指定を省略できるようにする。
# ln -s /dev/ttyS0 /dev/photopc
このままではルートでしか使えないので、一般ユーザもデジカメを操作 できるようにしよう。一般ユーザを/dev/ttyS0 のグループ(dialout)に追加する。
# usermod -G USER_NAME,dialout USER_NAME
実際には、USER_NAMEは追加するユーザ名に置き換える。

運 用

カメラの内部時計をホストコンピュータの時刻に合わせる。デフォ ルトでは撮影した画像ファイルの名前に日付と連番が使われる。
~$ photopc clock query
Resolution: 2 - High
Camera time: Sun Dec 23 19:02:53 2001 JST
...

写真を撮る。
~$ photopc snapshot

カメラに保存された画像の詳細情報一覧表示をする。
~$ photopc llist
total 29
No. P    Size R F Shuttr Date and Time
  1 -   46737 2 F 1/37   Fri Nov 30 14:54:36 2001 JST
  2 -   55037 2 F 1/29   Fri Nov 30 14:55:19 2001 JST
  3 -   48278 2 F 1/34   Fri Nov 30 14:55:55 2001 JST
... 

画像をカメラからホストコンピュータへダウンロードする。
~$ photopc image 30 tmp
uh-oh, size of frame in reg12 (43578) does not match size field from picture summary regiser (973384), ignore summary data!
30: 43578 of 43578
taken Sun Dec 23 19:09:48 2001 JST
file "tmp/1223_001.jpg"

すべての画像をディレクトリ(tmp)へダウンロードする。
~$ photopc image all tmp

カメラ内の画像(frame numberを指定)を消去する。
~$ photopc erase 30

カメラ内の画像すべてを消去する。
~$ photopc eraseall

Notes

[1]

参考文書:/usr/share/doc/photopc/usage.htm