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

이것을 확인하고 싶을 수도 있습니다.행복한 추억의 대안프로젝트. 저명한 개발자가 Sony의 수정된 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의 개발자들은 친절하게도 나와 함께 작업하고 해킹 없이 작업할 수 있도록 몇 가지 변경 사항을 적용했습니다.

직접 테스트해보지는 않았지만 그럴 것 같습니다.@falk0069Sony의 Wi-Fi 지원 카메라에 연결하기 위한 시작점을 제공하기 위한 작업이 yeoman에서 수행되었습니다.

답변2

다음은 Sony A7에 대한 것입니다. 다른 Sony 카메라와 비슷할 것 같지만 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 상자에서 연결할 수 있습니다... (테스트되지 않음)

관련 정보