LinuxでWi-Fi経由でSonyカメラに接続する方法

LinuxでWi-Fi経由でSonyカメラに接続する方法

SonyカメラにはWi-Fi接続がありますが、そのソフトウェアはMacとWindowsでのみ利用可能です。 (www.sony.net/pm/)

Linuxでどのように接続しますか? (具体的には Fedora 22 <--> DSC-HX60)

Wi-Fiプッシュを有効にすると、カメラはまずUSB経由でデバイス情報を追加する必要があることを知らせます。これは上記のPlayMemoriesソフトウェアを介してのみ可能です。

Linuxで同じことをする方法を知っている人はいますか?

皮肉なことに、カメラ自体がBusyBoxで実行されているようです/ http://oss.sony.net/Products/Linux/DI/DSC-HX60V.html

ps 私はWindowsソフトウェアを実行するためにWineやVMを使用したくありません。

答え1

これを確認したいかもしれません。幸せな思い出の代替プロジェクト。著名な開発者は、ソニーの修正されたPTP / IPプロトコルの排他的な部分をリバースエンジニアリングし、カスタムPythonスクリプトと連携するように管理しました。G写真2

Sonyが写真を送信する方法は、PTP / IP(インターネットプロトコルを介した写真転送プロトコル)を介して行われます。カメラからコンピュータに送信オプションを有効にすると、ネットワーク経由でUPNP UDPパケットをマルチキャストアドレス(239.255.255.250:1900)にブロードキャストし始めます。これはSSDP(Simple Service Discovery Protocol)とも呼ばれます。同時に、カメラはポート15740でPTP / IPサーバーを起動します。 UPNPパケットには、すべての接続の詳細が含まれています。 Playmemoriesアプリケーション(またはsony-pm-alt.py)はこれらのパケットを見てから戻ってPTP / IPサーバーに接続して画像を送信します。

Sonyは、カメラに「Sending ...」を表示するためにいくつかの非標準パケットを要求します。これは完了時に自動シャットダウン機能にも適用されます。これがなければ、カメラが停止する前に写真を送信するのに約2分の時間がかかり、それが機能していることを確認する方法はありません。また、カメラは点灯し続けているため、ユーザーは席を離れることができず、バッテリーは消耗し続けます。これらのオプションを有効にする魔法のパッケージがあればいいのですが、そうではありません。一連のtcpdumpを実行することで、どのパケットが機能しているかを確認できました。最初は100個以上のパケットが必要でしたが、最終的に23個のパケットに絞り込まれました(更新:開始するには4個のパケット、終了するには3個のパケット)。私はまた、gphoto以外のTCPセッションを使用してPythonから直接これらのパケットを送信できることを望みましたが、運がありませんでした。そのため、実際に作業を行うためにlibgphotoコードを修正することになりました。 libgphotoの開発者たちは、親切に私と一緒に作業し、ハッキングなしで作業できるようにいくつかの変更を加えました。

自分でテストしてみませんでしたが、そうです。おじさんSonyのWi-Fi対応カメラに接続するための出発点を提供するための作業はyeomanによって行われました。

答え2

以下はSony A7についてです。他のソニーカメラと似ているようですが、DSC-HX60についてはよくわかりません。

カメラには2つのWi-Fi接続モードがあります。 (a)APモード(「スマートフォンに接続」)で、カメラは接続できるAPとして機能します。 RawではなくJPGにのみアクセスできます。 APIは排他的ですが公開されています(https://developer.sony.com/develop/cameras/)(b)カメラがAPに接続され、すべてのファイルをローカルネットワーク上のコンピュータにプッシュするインフラストラクチャモード(「コンピュータに接続」)。いくつかのMTP属性(PTP / IPベース)を使用してください。

私はあなたが(b)を意味すると仮定します。 gphoto2を試してみてください。しなければならないPTPを使用して接続できます(ただし、5分以内に動作しませんでした)。 Android を含むように Linux を広範囲に定義すると、次のようになります。オリジナル2dng元のファイルを携帯電話/タブレットにコピーします。独自のPTP / IPスタックを使用します(免責事項:私は作成者です)。

ただし、(b)の場合は、まずUSBを使用してカメラをコンピュータに「ペアリング」する必要があります。 SonyのWin / Macプログラムでのみ実装される独自のプロトコルです。それがすることは、カメラにコンピュータのMACアドレスを保存するように指示するだけです。将来の接続では、ホストは初期接続要求の一部としてMACアドレスを送信します(実際のネットワークインターフェイスから来る必要はありません)。

raw2dngはgphoto2と同様に、「ペアリングされた」MACアドレスを入力として使用できます(不明 - 試してみたい場合は16バイトUID:8 * 0x00 + 2 * 0xFF + MAC)。したがって、アクセス可能な他のWin / Macコンピュータとカメラをペアリングしてから、そのコンピュータのMACアドレスを使用してLinuxボックスから接続できます...(テストされていません)

関連情報