So stellen Sie eine Verbindung zu einer Sony-Kamera über WLAN unter Linux her

9

Sony-Kameras sind mit Wifi-Konnektivität ausgestattet, ihre Software wird jedoch nur für Mac und Windows vertrieben. (www.sony.net/pm/)

Wie kann ich mich unter Linux damit verbinden? (Insbesondere Fedora 22 DSC-HX60)

Wenn ich den Wifi-Push aktiviere, sagt mir die Kamera, dass ich zuerst die Geräteinformationen über USB hinzufügen muss. Dies scheint nur mit der oben genannten PlayMemories-Software möglich zu sein.

Hat jemand herausgefunden, wie man dasselbe unter Linux macht?

Ironischerweise scheint die Kamera selbst auf BusyBox zu laufen: / http://oss.sony.net/Products/Linux/DI/DSC-HX60V.html

ps Ich würde lieber keinen Wine oder eine VM verwenden, um Windows-Software auszuführen.

Cyrrill
quelle

Antworten:

3

Vielleicht möchten Sie sich dieses alternative Projekt von Playmemories ansehen . Ein herausragender Entwickler hat die proprietären Teile des modifizierten PTP / IP-Protokolls von Sony rückentwickelt und es geschafft, es mit einer Kombination aus einem benutzerdefinierten Python-Skript und GPhoto2 zum Laufen zu bringen .

Die Übertragung von Bildern durch Sony erfolgt über PTP / IP (Picture Transfer Protocol over Internet Protocol). Sobald Sie die Option "An Computer senden" von der Kamera aus aktivieren, werden UPNP-UDP-Pakete über das Netzwerk an die Multicast-Adresse (239.255.255.250:1900) gesendet. Dies wird auch als SSDP (Simple Service Discovery Protocol) bezeichnet. Gleichzeitig startet die Kamera einen PTP / IP-Server an Port 15740. Die UPNP-Pakete enthalten alle Verbindungsdetails. Die Playmemories-App (oder sony-pm-alt.py) sieht diese Pakete und dreht sich dann um, trifft die PTP / IP-Server und überträgt die Bilder.

Sony benötigt einige nicht standardmäßige Pakete, um "Senden ..." auf der Kamera anzuzeigen. Dies gilt auch für die automatische Abschaltfunktion, wenn Sie fertig sind. Ohne dies haben Sie ca. 2 Minuten Zeit, um das Bild zu übertragen, bevor die Kamera stoppt, und Sie haben keine Bestätigung, dass es funktioniert hat. Außerdem bleibt die Kamera eingeschaltet, sodass Sie nicht weggehen können, da sonst der Akku weiter entladen wird. Ich hatte gehofft, dass es ein magisches Paket geben würde, um diese Optionen zu aktivieren, aber dies scheint nicht der Fall zu sein. Durch eine Reihe von tcpdumps konnte ich feststellen, mit welchen Paketen es funktioniert. Ich habe mit über 100 benötigten Paketen begonnen und es schließlich auf 23 Pakete eingegrenzt (Update: 4 Pakete zum Starten und 3 Pakete zum Beenden). Ich hatte auch gehofft, ich könnte diese Pakete direkt von Python mit einer anderen TCP-Sitzung als gphoto senden, aber kein Glück. So, Am Ende habe ich den libgphoto-Code wirklich gehackt, damit dies funktioniert. Der Entwickler von libgphoto war dann so freundlich, mit mir zusammenzuarbeiten und Änderungen vorzunehmen, damit die Dinge ohne das Hacken funktionieren.

Ich habe es nicht selbst getestet, aber es sieht so aus, als ob @ falk0069 die Arbeit von yeoman erledigt hat und einen Ausgangspunkt für die Verbindung mit Sony-WLAN-fähigen Kameras bietet.

bjmc
quelle
0

Das Folgende gilt für die Sony A7. Ich vermute, dass es für andere Sony-Kameras ähnlich ist, aber die DSC-HX60 nicht kennt.

Die Kamera verfügt über zwei WLAN-Verbindungsmodi: (a) AP-Modus ("Mit Smartphone verbinden"), in dem die Kamera als AP fungiert, mit dem Sie eine Verbindung herstellen können. Ermöglicht nur den Zugriff auf JPGs, nicht auf Raws. Die API ist proprietär, aber öffentlich ( https://developer.sony.com/develop/cameras/ ). (B) Infrastrukturmodus ("Mit Computer verbinden"), in dem die Kamera eine Verbindung zu einem AP herstellt und alle Dateien auf einen Computer auf dem Computer überträgt lokales Netzwerk. Verwendet etwas MTP-Geschmack (basierend auf PTP / IP).

Ich nehme an, Sie meinen (b). Sie können versuchen , gphoto2, das sollte die Lage sein , unter Verwendung von PTP (jedoch in den letzten 5 Minuten , die ich versuchte ich es nicht zur Arbeit bekommen konnte) zu verbinden. Wenn Sie Linux allgemein so definieren, dass es Android einschließt, können Sie raw2dng verwenden, um Rohdateien auf Ihr Telefon / Tablet zu kopieren - es verwendet einen eigenen PTP / IP-Stack (Haftungsausschluss: Ich bin der Autor).

Für (b) müssen Sie jedoch, egal was passiert, zuerst die Kamera über USB mit Ihrem Computer "koppeln". Es ist ein proprietäres Protokoll, das nur in Win / Mac-Programmen von Sony implementiert ist. Sie müssen lediglich die Kamera anweisen, die MAC-Adresse des Computers zu speichern. Bei zukünftigen Verbindungen sendet der Host seine MAC-Adresse als Teil der anfänglichen Verbindungsanforderung (muss nicht von der eigentlichen Netzwerkschnittstelle stammen).

raw2dng kann die "gepaarte" MAC-Adresse als Eingabe verwenden, gphoto2 vielleicht auch (nicht sicher - wenn Sie es versuchen möchten, ist es die 16-Byte-UID: 8 * 0x00 + 2 * 0xFF + MAC). Möglicherweise können Sie die Kamera mit einem anderen Win / Mac-Computer koppeln, auf den Sie möglicherweise Zugriff haben, und dann die MAC-Adresse dieses Computers verwenden, um eine Verbindung von Ihrer Linux-Box herzustellen ... (ungetestet)

Fimagena
quelle