Casio DZ-D100 API の解析
サポートに api の公開予定はないと言われて,ただ引き下がっている自分ではないので,購入した DZ-D100 でどんな api が使えるのか自分で解析してみた。
SessionOpen
本体の画像ファイルをダウンロードするのに SessionOpen が必要。SessionOpen すると,他端末からのアクセスは受け付けなくなる。arg に指定する数値は何でもよいようだ。
コマンド送信例
$ curl 'http://dzd100-address/casio_dc.cgi?cmd=SessionOpen&arg=0'
レスポンス
<?xml version="1.0"?> <ccma> <output> <result>OK</result> <operation name="SessionOpen"> </operation> </output> </ccma>
SessionClose
SessionClose すると,DZ-D100 の画面に「通信が切断されました」と表示される。SessionClose 後は他端末からのアクセスもできるようになる。
コマンド送信例
$ curl 'http://dzd100-address/casio_dc.cgi?cmd=SessionClose'
レスポンス
<?xml version="1.0"?> <ccma> <output> <result>OK</result> <operation name="SessionClose"> </operation> </output> </ccma>
CheckConnection
DZ-D100 は,起動後しばらく放置すると自動的に電源が切れ,通信も切れてしまう。通信を維持したい場合は,CheckConnection を一定時間毎に送り続ける必要がある。
コマンド送信例
$ curl 'http://dzd100-address/casio_dc.cgi?cmd=CheckConnection'
レスポンス
<?xml version="1.0"?> <ccma> <output> <result>OK</result> <operation name="CheckConnection"> </operation> </output> </ccma>
GetFileList
DZ-D100 に保存されている画像のリストを返す。なぜか最初に必ず NotExecuted が返ってくる。
コマンド送信例
$ curl 'http://dzd100-address/casio_dc.cgi?cmd=GetFileList&arg=All'
レスポンス
<?xml version="1.0"?> <ccma> <output> <result>NotExecuted</result> <operation name="GetFileList"> </operation> </output> </ccma> <?xml version="1.0"?> <ccma> <output> <result>OK</result> <operation name="GetFileList"> <argument name="FileNumber" range="All"> <value>/DCIM/100CASIO/CIMG0001.JPG</value> <value>/DCIM/100CASIO/CIMG0002.JPG</value> <value>/DCIM/100CASIO/CIMG0003.JPG</value> </argument> </operation> </output> </ccma>
GetFileInfo
画像の基本的なデータを返す。これも最初になぜか NoExist が返ってくる。
コマンド送信例
$ curl 'http://dzd100-address/casio_dc.cgi?cmd=GetFileInfo&arg=/DCIM/100CASIO/CIMG0001.JPG'
レスポンス
<?xml version="1.0"?> <ccma> <output> <result>NotExecuted</result> <operation name="GetFileInfo"> <argument name="Reason"> <value>NoExist</value> </argument> </operation> </output> </ccma> <?xml version="1.0"?> <ccma> <output> <result>OK</result> <operation name="GetFileInfo"> <argument name="/DCIM/100CASIO/CIMG0001.JPG"> <value name="type">JPEG</value> <value name="size">4507328</value> <value name="width">5184</value> <value name="height">3888</value> <value name="orientation">0</value> <value name="thumb_size">4560</value> <value name="thumb_width">160</value> <value name="thumb_height">120</value> <value name="thumb_orientation">0</value> <value name="capture_date">20190618T110209</value> </argument> </operation> </output> </ccma>
data
jpeg 画像データがバイナリで返ってくる。OpenSession していない場合は何も返ってこない。
コマンド送信例
$ curl 'http://dzd100-address/casio_dc.cgi?data=/DCIM/100CASIO/CIMG0001.JPG&arg=Original' > test.jpg
« 皮膚科専用カメラ Casio DZ-D100 購入 | トップページ | DZ-D100 データ転送 daemon 作成 »
「いろいろ」カテゴリの記事
- 添書作成スクリプト(2020.05.22)
- 12年目の運用まとめ(2020.02.11)
- DZ-D100 データ転送 daemon 作成(2019.07.05)
- Casio DZ-D100 API の解析(2019.07.04)
- 皮膚科専用カメラ Casio DZ-D100 購入(2019.07.03)