Come connettersi a una fotocamera Sony tramite Wifi da Linux


9

Le fotocamere Sony sono dotate di connettività Wifi, ma il loro software è distribuito solo per Mac e Windows. (Www.sony.net/pm/)

Come posso collegarmi da Linux? (In particolare, Fedora 22 <--> DSC-HX60)

Quando abilito il push WiFi, la fotocamera mi dice che devo prima aggiungere le informazioni sul dispositivo tramite USB. Ciò sembra essere possibile solo con il software PlayMemories menzionato sopra.

Qualcuno ha capito come fare lo stesso in Linux?

Ironia della sorte, sembra che la fotocamera stessa funzioni su BusyBox: / http://oss.sony.net/Products/Linux/DI/DSC-HX60V.html

ps Preferirei non usare Wine o una VM per eseguire il software Windows.

Risposte:


3

Potresti voler dare un'occhiata a questo progetto Playmemories Alternative . Uno sviluppatore eccezionale ha retroingegnerizzato le parti proprietarie del protocollo PTP / IP modificato di Sony ed è riuscito a farlo funzionare con una combinazione di uno script Python personalizzato e GPhoto2 .

Il modo in cui Sony trasferisce le immagini è tramite PTP / IP (Picture Transfer Protocol over Internet Protocol). Nel momento in cui abiliti l'opzione "Invia al computer" dalla videocamera, inizia a trasmettere i pacchetti UPNP UDP attraverso la rete all'indirizzo multicast (239.255.255.250:1900). Questo è anche noto come Simple Service Discovery Protocol (SSDP). Allo stesso tempo, la fotocamera avvia un server PTP / IP sulla porta 15740. I pacchetti UPNP contengono tutti i dettagli della connessione. L'app Playmemories (o sony-pm-alt.py) vede questi pacchetti e poi gira intorno ai server PTP / IP e trasferisce le immagini.

Sony richiede alcuni pacchetti non standard per visualizzare "Invio ..." sulla fotocamera. Questo vale anche per la funzione di spegnimento automatico al termine. Senza questo, hai circa 2 minuti per trasferire l'immagine prima che la fotocamera si fermi e non hai alcuna conferma che funzioni. Inoltre, la fotocamera rimarrà accesa in modo da non poter andare via altrimenti la batteria continuerà a scaricarsi. Speravo che ci fosse un pacchetto magico per attivare queste opzioni, ma questo non sembra essere il caso. Facendo una serie di tcpdumps sono stato in grado di determinare quali pacchetti lo fanno funzionare. Ho iniziato con oltre 100 pacchetti necessari e alla fine l'ho ridotto a 23 pacchetti (aggiornamento: 4 pacchetti per iniziare e 3 pacchetti per terminare). Speravo anche di poter inviare questi pacchetti direttamente da Python usando una sessione TCPC diversa da Gphoto, ma senza fortuna. Così, Ho finito per hackerare davvero il codice libgphoto per farlo funzionare. Lo sviluppatore di libgphoto è stato quindi così gentile da lavorare con me e incorporare le modifiche per far funzionare le cose senza l'hacking.

Non l'ho testato da solo, ma sembra che @ falk0069 abbia svolto il lavoro di yeoman fornendo un punto di partenza per la connessione alle telecamere Sony abilitate al wifi.


0

Quanto segue vale per la Sony A7, suppongo sia simile per altre fotocamere Sony ma non conosco la DSC-HX60.

La fotocamera dispone di 2 modalità di connessione Wifi: (a) Modalità AP ("Connetti a smartphone"), in cui la fotocamera funge da AP a cui è possibile connettersi. Dà accesso solo a JPG, non a raw. L'API è proprietaria ma pubblica ( https://developer.sony.com/develop/cameras/ ) (b) Modalità infrastruttura ("Connetti al computer"), in cui la fotocamera si collega a un AP e invia tutti i file a un computer sul rete locale. Usa un po 'di sapore MTP (basato su PTP / IP).

Suppongo che intendi (b). Puoi provare gphoto2, che dovrebbe essere in grado di connettersi tramite PTP (tuttavia, nei 5 minuti in cui ho provato non sono riuscito a farlo funzionare). Se definisci Linux in modo ampio per includere Android, puoi usare raw2dng per copiare file grezzi sul tuo telefono / tablet - usa il suo stack PTP / IP (disclaimer: sono l'autore).

Tuttavia, per (b), in ogni caso, dovrai prima "accoppiare" la fotocamera al tuo computer tramite USB. È un protocollo proprietario implementato solo nei programmi Win / Mac di Sony. Tutto quello che fa è dire alla telecamera di salvare l'indirizzo MAC del computer. Nelle connessioni future, l'host invia il proprio indirizzo MAC come parte della richiesta di connessione iniziale (non è necessario che provenga dall'interfaccia di rete effettiva).

raw2dng può prendere l'indirizzo MAC "accoppiato" come input, forse anche gphoto2 (non sono sicuro - se vuoi provare, è l'UID a 16 byte: 8 * 0x00 + 2 * 0xFF + MAC). Quindi potenzialmente potresti abbinare la videocamera a un altro computer Win / Mac a cui potresti avere accesso e quindi utilizzare l'indirizzo MAC di quel computer per connetterti dalla tua scatola Linux ... (non testato)

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.