[ TOP | Recently ]

2009-08-01 Eye-Fi


というわけで、超いまさらですが先日EyeFiを買いました。持ってるデジカメが古くてSDHC使えないのでEyeFi Share 2Gです。 いきなし初期不良で涙目だったけど、サポートの対応が結構素早くて、1〜2日で交換完了。

初期登録にはWindows/Macが必要なんだけど、プロトコルはある程度hackされていたのでいろいろ試してみた。

EyeFiManager (on Windows) の動作は

https://api.eye.fi/ へ接続して EyeFiManager の Private Address を登録する (?)
・TCP Port 59748 で Listen して、EyeFi カードからの接続を待ち受ける。
・EyeFi カードから接続されると、SOAP を喋って EyeFiカードから画像を受信する。 その時ついでにサムネイル等を作ってEyeFiサーバへ情報をうpする

EyeFiカード側の動作は

・SSIDをscanする
・scanして接続すべきSSIDがあれば接続、dhcpでアドレスをもらう
https://api.eye.fi/ へ接続して何やら喋る。EyeFiManager の Private Address を教えてもらう
・教えてもらった EyeFiManager の Private Address へ接続する
・接続できなければ、dhcp でもらった subnet 内にあるIPアドレスの存在をarpで調べて、 arp に答えたら片っ端から TCP Port 59748 に接続を試す(ひでえ!)
・EyeFiManager の TCP Port 59748 に接続できたら、SOAP を喋って EyeFiManager へ画像を送信する

EyeFiManager のアドレスを http://api.eye.fi/ に登録する所は SSL なので解析できてないみたいだけど、 EyeFiカードとEyeFiManager間のプロトコルは平文のSOAPなので余裕で解析されていて、 Eye Fi Standalone Server を使えば Windows の EyeFiManager は必要なくなったのでした。めでたしめでたし。


他にもEyeFiカードが直接EyeFiのサーバへ画像をアップロードする設定とかもあるようだ。
この場合、後から起動された EyeFiManager が EyeFi サーバへ接続して画像を取りにいくのかな。
この部分のプロトコルもまだ解析されていないみたい (たぶんhttpsなんでめんどくさいんだろう)


EyeFiカードとおしゃべりするには、EyeFi SDカード内のファイルシステム上に特殊なファイルがあるので、そのファイルに対してread/writeしてやれば良いようだ。
でもこれもまだあまり解析されてないっぽい。


EOF