Jak połączyć się z kamerą Sony za pośrednictwem Wi-Fi od Linuksa


9

Aparaty Sony są wyposażone w łączność Wi-Fi, ale ich oprogramowanie jest dystrybuowane tylko dla komputerów Mac i Windows. (www.sony.net/pm/)

Jak mogę się z nim połączyć z Linuksa? (W szczególności Fedora 22 <--> DSC-HX60)

Po włączeniu Wifi push kamera mówi mi, że muszę najpierw dodać informacje o urządzeniu przez USB. Wydaje się to możliwe tylko w przypadku wspomnianego wyżej oprogramowania PlayMemories.

Czy ktoś wymyślił, jak zrobić to samo w systemie Linux?

Jak na ironię, kamera sama działa na BusyBox: / http://oss.sony.net/Products/Linux/DI/DSC-HX60V.html

ps Wolę nie używać Wine ani maszyny wirtualnej do uruchamiania oprogramowania Windows.

Odpowiedzi:


3

Być może zechcesz sprawdzić ten projekt Playmemories Alternative . Jeden wybitny programista dokonał inżynierii wstecznej zastrzeżonych części zmodyfikowanego protokołu PTP / IP firmy Sony i udało mu się go uruchomić dzięki kombinacji niestandardowego skryptu Python i GPhoto2 .

Sposób przesyłania zdjęć przez Sony odbywa się za pośrednictwem PTP / IP (Picture Transfer Protocol over Internet Protocol). Po włączeniu opcji „Wyślij do komputera” z kamery, zaczyna ona transmitować pakiety UPNP UDP w sieci na adres multiemisji (239.255.255.250:1900). Jest to również znane jako Simple Service Discovery Protocol (SSDP). W tym samym czasie kamera uruchamia serwer PTP / IP na porcie 15740. Pakiety UPNP zawierają wszystkie szczegóły połączenia. Aplikacja Playmemories (lub sony-pm-alt.py) widzi te pakiety, a następnie odwraca trafienie serwerów PTP / IP i przesyła zdjęcia.

Sony wymaga niektórych niestandardowych pakietów, aby wyświetlić „Wysyłanie ...” w aparacie. Dotyczy to również funkcji automatycznego wyłączania po zakończeniu. Bez tego masz około 2 minut na przesłanie zdjęcia, zanim aparat się zatrzyma, i nie masz potwierdzenia, że ​​zadziałało. Ponadto aparat pozostanie włączony, więc nie będziesz mógł odejść, w przeciwnym razie bateria będzie się rozładowywać. Miałem nadzieję, że będzie jeden magiczny pakiet do włączenia tych opcji, ale wydaje się, że tak nie jest. Robiąc serię tcpdumps byłem w stanie ustalić, które pakiety sprawiają, że działa. Zacząłem od potrzebowania ponad 100 pakietów i ostatecznie zawęziłem je do 23 pakietów (aktualizacja: 4 pakiety na początek i 3 pakiety na koniec). Miałem również nadzieję, że uda mi się wysłać te pakiety bezpośrednio z Pythona przy użyciu innej sesji tcp niż gphoto, ale bez powodzenia. Więc, Skończyło się na tym, że włamałem się do kodu libgphoto, aby to zadziałało. Twórca libgphoto był wtedy na tyle miły, że mógł ze mną współpracować i wprowadzać zmiany, aby wszystko działało bez włamania.

Sam tego nie testowałem, ale wygląda na to, że @ falk0069 wykonał pracę dla kobiet, zapewniając punkt wyjścia do podłączenia kamer Sony z obsługą Wi-Fi.


0

Poniższe zasady dotyczą Sony A7, domyślam się, że jest podobny do innych aparatów Sony, ale nie znam DSC-HX60.

Aparat ma 2 tryby połączenia Wi-Fi: (a) Tryb AP („Połącz ze smartfonem”), w którym kamera działa jako punkt dostępowy, z którym można się połączyć. Daje dostęp tylko do plików JPG, a nie do plików raw. Interfejs API jest zastrzeżony, ale publiczny ( https://developer.sony.com/develop/cameras/ ) (b) Tryb infrastruktury („Połącz z komputerem”), w którym kamera łączy się z punktem dostępowym i wypycha dowolne pliki do komputera na lokalna sieć. Wykorzystuje smak MTP (oparty na PTP / IP).

Zakładam, że masz na myśli (b). Możesz wypróbować gphoto2, który powinien być w stanie łączyć się za pomocą PTP (jednak w ciągu 5 minut próbowałem nie mogłem go uruchomić). Jeśli definiujesz Linuksa szeroko jako system Android, możesz użyć raw2dng, aby skopiować surowe pliki na telefon / tablet - używa własnego stosu PTP / IP (zastrzeżenie: jestem autorem).

Jednak w przypadku (b), bez względu na wszystko, będziesz musiał najpierw „sparować” aparat z komputerem za pomocą USB. Jest to zastrzeżony protokół, który został zaimplementowany tylko w programach Sony dla systemów Win / Mac. Wystarczy, że powiesz aparatowi, aby zapisał adres MAC komputera. W przyszłych połączeniach host wysyła swój adres MAC jako część początkowego żądania połączenia (nie musi pochodzić z faktycznego interfejsu sieciowego).

raw2dng może przyjmować „sparowany” adres MAC jako dane wejściowe, może również gphoto2 (nie jestem pewien - jeśli chcesz spróbować, jest to 16-bajtowy UID: 8 * 0x00 + 2 * 0xFF + MAC). Więc potencjalnie możesz sparować kamerę z innym komputerem z systemem Win / Mac, do którego możesz mieć dostęp, a następnie użyć adresu MAC tego komputera, aby połączyć się z komputerem z systemem Linux ... (niesprawdzone)

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.