いまどきのカメラで遊ぼう KIM_TPDN
http://kim.tpdn.orghttp://d.tpdn.kimhttp://金正日.jp
KIM_TPDN
クソ野郎
● 筑波● エナジー冷蔵庫● 男性用メイド服宅配テ
ロ● 北朝鮮● どう考えてもロクなこ
とやってない
http://金正日.jp
このLTのレイヤー
高いたぶん
カーネルでもVMでもない
Keyword
?
(健全な)趣味:
写真撮影
趣味:ペンタックス(?)
● 安い● いろいろと独自性強
い● 撮影に直接関わる以
外の機能を載せたがらない
最近買ったカメラ
● 超望遠● 流行りの機能てんこ
盛り● 遊べる● 文明の利器● これであそぼう
いまどきのカメラに
よく搭載されている機能
無線接続でカメラ操作(スマホ連携)
どうやってんの?
● カメラが無線LANのアクセスポイントになる● スマホでカメラに接続● 専用アプリ起動● あるプロトコルでTCPで通信してカメラを操作
専用アプリでなんてやってらんねーよな?
自分で作ったソフトで操作したい
● 自動化万歳– スマホとかどうでもいいのでRasPiと組み合わせて
アレしたい● とんでもない機能を追加できる?● 漢のロマン
できるの?
● ほとんどの場合プロトコル詳細は未公開– ただし変態ソニーは除く
(SDK配布してくれてる)
● 有名なカメラメーカー(というかキヤノン)に関してはみんなのおもちゃいろいろと魔改造されまくってる
● そうでないメーカーは自分でどうにかするしかない(???)
実際にやってみよう?
シプキャンにもっていった
プロトコルを解析しよう
● カメラが無線LANのアクセスポイントになって通信する形になってる– ミツミ製の無線LANモジュールが搭載されている
● 公式Androidアプリの存在– こいつを解析するのはいまのところやめておく– (お察し)
● Wiresharkでパケット見れる
何がいる?
● root化端末– busybox(ncを使うため)– tcpdump
● PC– adb– Wireshark
こんな感じで解析
こんな感じでやってた
● カメラとスマホの通信● →tcpdump● →nc● →localhostのどこかのポート● →adb forward● →Wireshark
真面目に解析してたが…
● ぶっちゃけいってゼロからプロトコル作ってるなんてこと無くね?
● 絶対なんか規格あるだろ
先生に頼ろう!
特にこいつは特にこいつは神神→→
プロトコルについて
プロトコル何だった?
PTP-IP
※偉大なるlibgphoto2に感謝
PTP-IP
● カメラとPCなどをTCPで接続する規格– USB接続でお馴染み?のPTPからきてる– CIPAとかISOとかで規格化されてる– 個人だと仕様書見せてくれない()
● 各カメラメーカーが拡張可能– リモートで画面みながら撮影するコマンドとか
http://www.gphoto.org/doc/ptpip.php
規格があるなら誰か作ってるんじゃね?
● ないこともない(ググれば出る)– ただし、ほとんどがRICOH THETAを対象に– アレは(液晶がないからなのか)割と適当でも動くようになっ
てる感ある● Bluetoothヘッドホンとかを連想
● 一方で、普通のデジカメはチェック厳しめ– きっちりパラメータ見てる
● ミスると無慈悲なコネクション即切断– さらに処理中だと無慈悲なカメラの電源オフ\
● 独自機能にかかわるコマンドは自分で解析するしかない
libgphoto使えば?
● 独自実装されたコマンドを実行できるものではない
● まず、僕のカメラ(Finepix S1)はポート番号がISOに沿ったものではない– gphotoではポート番号ソース決め打ち– 一応netcat通せばできないこともない…
で?
現状と今後
● 8月はいろいろいじってたが、それ以降はいじってない
● 気が向いたら、最終的には自作クライアントによって超望遠無線Webカメラ的なものをつくることを目標にして少しずつやっていく– もともとない機能をつけたい
このプレゼンのファイルはこちら
http://主体の色鮮やかな太陽.金正日.同志.asia
Top Related