サポートに 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