[unix] Linux에서 Wi-Fi를 통해 Sony 카메라에 연결하는 방법

소니 카메라에는 Wi-Fi 연결이 제공되지만 소프트웨어는 Mac 및 Windows 용으로 만 배포됩니다. (www.sony.net/pm/)

Linux에서 어떻게 연결할 수 있습니까? (특히 Fedora 22 <-> DSC-HX60)

Wifi 푸시를 활성화하면 카메라가 먼저 USB를 통해 장치 정보를 추가해야한다고 알려줍니다. 이것은 위에서 언급 한 PlayMemories 소프트웨어에서만 가능합니다.

리눅스에서 똑같이하는 방법을 아는 사람이 있습니까?

아이러니하게도, 카메라 자체가 BusyBox에서 실행되는 것 같습니다 : /
http://oss.sony.net/Products/Linux/DI/DSC-HX60V.html

추신 : 나는 Windows 소프트웨어를 실행하기 위해 Wine 또는 VM을 사용하지 않고 싶습니다.



답변

Playmemories Alternative 프로젝트 를 확인하십시오 . 뛰어난 개발자 중 한 명이 소니의 수정 된 PTP / IP 프로토콜의 독점 부분을 리버스 엔지니어링했으며 커스텀 Python 스크립트와 GPhoto2 의 조합으로 작업 할 수 있었습니다 .

소니가 사진을 전송하는 방식은 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 서버를 방문하여 그림을 전송합니다.

카메라에 ‘보내기 …’를 표시하려면 비표준 패킷이 필요합니다. 완료되면 자동 종료 기능도 사용됩니다. 이것이 없으면 카메라가 멈추기 전에 사진을 전송하는 데 약 2 분의 시간이 있으며 작동한다는 확인이 없습니다. 또한 카메라가 켜져있어 걸어 갈 수 없거나 배터리가 계속 소모됩니다. 이 옵션을 켜는 마법의 패킷이 하나 있기를 바랐지만 실제로는 그렇지 않습니다. 일련의 tcpdump를 수행하여 어떤 패킷이 작동하는지 확인할 수있었습니다. 필자는 100 개가 넘는 패킷이 필요한 상태에서 시작하여 23 개 패킷으로 좁혔습니다 (업데이트 : 4 개 패킷 시작 및 3 개 패킷 종료). 또한 gphoto와 다른 TCP 세션을 사용하여 파이썬에서 직접이 패킷을 보낼 수 있기를 희망했지만 운이 없습니다. 그래서, 이 작업을 수행하기 위해 libgphoto 코드를 실제로 해킹했습니다. libgphoto 개발자는 나와 함께 일하고 해킹없이 작업을 수행 할 수 있도록 변경 사항을 통합 할 수있을 정도로 친절했습니다.

나는 그것을 직접 테스트하지는 않았지만 @ falk0069 가 소니 와이파이 지원 카메라에 연결하기위한 출발점을 제공하는 yeoman 의 작업을 수행 한 것처럼 보입니다 .


답변

다음은 Sony A7에 적용되며 다른 Sony 카메라와 비슷하지만 DSC-HX60을 모릅니다.

카메라에는 2 개의 Wi-Fi 연결 모드가 있습니다. (a) AP 모드 ( “스마트 폰에 연결”). 카메라가 연결할 수있는 AP 역할을합니다. 원시가 아닌 JPG에만 액세스 할 수 있습니다. API는 독점적이지만 공개 ( https://developer.sony.com/develop/cameras/ ) (b) 인프라 모드 ( “컴퓨터에 연결”)-카메라가 AP에 연결되고 파일을 컴퓨터의 컴퓨터로 푸시합니다. 지역 네트워크. 일부 MTP 풍미를 사용합니다 (PTP / IP 기반).

나는 당신이 (b)를 의미한다고 가정합니다. 당신은 gphoto2, 시도 할 수 있습니다 한다 (나는 일에 그것을 얻을 수없는 시도 5 분, 그러나) PTP를 사용하여 연결 할 수 있습니다. Android를 포함하도록 Linux를 광범위하게 정의하면 raw2dng 를 사용 하여 원시 파일을 전화 / 태블릿에 복사 할 수 있습니다. 자체 PTP / IP 스택을 사용합니다 (면책 조항 : 저자입니다).

그러나 (b)의 경우, USB를 사용하여 먼저 카메라를 컴퓨터에 “페어링”해야합니다. 소니의 Win / Mac 프로그램에서만 구현되는 독점 프로토콜입니다. 카메라에 컴퓨터의 MAC 주소를 저장하도록 지시하기 만하면됩니다. 향후 연결에서 호스트는 초기 연결 요청의 일부로 MAC 주소를 보냅니다 (실제 네트워크 인터페이스에서 올 필요는 없음).

raw2dng는 “paired”MAC-address를 입력으로 사용할 수 있습니다. gphoto2도 가능합니다. 따라서 잠재적으로 카메라를 다른 Win / Mac 컴퓨터에 연결 한 다음 해당 컴퓨터의 MAC 주소를 사용하여 Linux 상자에서 연결할 수 있습니다 …


답변