无法连接到 Sony Camera Remote API

Can't Connect to Sony Camera Remote API

我正在 iOS 上开发应用程序。

我尝试连接 Sony Camera Remote API,但找不到正确的设备描述文件。所以我不能使用 API.

我尝试按照以下步骤连接:

  1. 通过 WiFi 将 mac 连接到相机:

     Open my camera menu ——> Wifi ——> Send to Smartphone ——>
     Select on Smartphone ——> connect mac to camera over access point
    
  2. 使用SSDP发现摄像头

     Use the UdpRequest provided by sony to send ssdp-discovery message.
    
     Then the message send successfully.
    
     Then I received the follow message:
    
             CFSocket receiveData response = NOTIFY * HTTP/1.1
             HOST: 239.255.255.250:1900
             CACHE-CONTROL: max-age=1800
             LOCATION: http://192.168.122.1:64321/DmsDesc.xml
             NT: upnp:rootdevice
             NTS: ssdp:alive
             SERVER: UPnP/1.0 SonyImagingDevice/1.0
             USN: uuid:00000000-0000-0010-8000-a408ea87692a::upnp:rootdevice
             X-AV-Physical-Unit-Info: pa=""; pl=;
             X-AV-Server-Info: av=5.0; hn=""; cn="Sony Corporation";
             mn="SonyImagingDevice"; mv="1.0"; 
    
    
     In the Development Guide, the response should seems like this:
    
             HTTP/1.1 200 OK
             LOCATION: http://192.168.122.1:64321/dd.xml
             CACHE-CONTROL: max-age=1800
             EXT:
             SERVER: OS/version UPnP/1.0 product/version ST: urn:schemas-sony-com:service:ScalarWebAPI:1
    
  3. 我比较了 DmsDesc.xml 和 dd.xml

     Main part of DmsDesc.xml:
    
             DMS-1.50
             urn:schemas-upnp-org:device:MediaServer:1
             ILCE-7M2
             Sony Corporation
             http://www.sony.com/
             SonyDigitalMediaServer
             SonyImagingDevice
             http://www.sony.net/
             uuid:00000000-0000-0010-8000-a408ea87692a
    
             urn:schemas-upnp-org:service:ContentDirectory:1
             urn:upnp-org:serviceId:ContentDirectory
             /CdsDesc.xml
             /upnp/control/ContentDirectory
             /upnp/event/ContentDirectory
    
             urn:schemas-upnp-org:service:ConnectionManager:1
             urn:upnp-org:serviceId:ConnectionManager
             /CmsDesc.xml
             /upnp/control/ConnectionManager
             /upnp/event/ConnectionManager
    
             urn:schemas-sony-com:service:DigitalImaging:1
             urn:schemas-sony-com:serviceId:DigitalImaging
             /DigitalImagingDesc.xml
             /upnp/control/DigitalImaging
    
开发指南中的

dd.xml应该是这样的:

<av:X_ScalarWebAPI_DeviceInfo xmlns:av="urn:schemas-sony-com:av">
<av:X_ScalarWebAPI_Version>1.0</av:X_ScalarWebAPI_Version>
<av:X_ScalarWebAPI_ServiceList>
<av:X_ScalarWebAPI_Service>
<av:X_ScalarWebAPI_ServiceType>guide</av:X_ScalarWebAPI_ServiceType>
<av:X_ScalarWebAPI_ActionList_URL>http://192.168.122.1:8080/sony</av:X_ScalarWebAPI_ActionList_URL>
</av:X_ScalarWebAPI_Service> <av:X_ScalarWebAPI_Service>
<av:X_ScalarWebAPI_ServiceType>camera</av:X_ScalarWebAPI_ServiceType>
<av:X_ScalarWebAPI_ActionList_URL>http://192.168.122.1:8080/sony</av:X_ScalarWebAPI_ActionList_URL> </av:X_ScalarWebAPI_Service>
</av:X_ScalarWebAPI_ServiceList></av:X_ScalarWebAPI_DeviceInfo>

我的问题是:

  1. 如何获取正确的设备描述文件。

  2. 如何连接Sony Camera RemoteAPI,demo就完美了

  3. 如果sony工程师能看到我的问题,更新官方demoplease.It太旧了

我自己找到了答案。

要连接索尼相机遥控器API,我们必须将相机设置为访问点。

有两种方法可以做到这一点。

  1. 菜单--->Wi-Fi--->tab1--->发送到智能手机
  2. 菜单--->应用--->应用列表--->启动名为"Smart Remote Embedded"
  3. 的应用

当智能手机通过第一种方式连接相机时,响应如我的问题所述。

当智能手机通过第二种方式连接到相机时,响应主要部分如下。同开发指南:

<av:X_ScalarWebAPI_DeviceInfo xmlns:av="urn:schemas-sony-com:av">
      <av:X_ScalarWebAPI_Version>1.0</av:X_ScalarWebAPI_Version>
      <av:X_ScalarWebAPI_ServiceList>
        <av:X_ScalarWebAPI_Service>
          <av:X_ScalarWebAPI_ServiceType>guide</av:X_ScalarWebAPI_ServiceType>
          <av:X_ScalarWebAPI_ActionList_URL>http://192.168.122.1:8080/sony</av:X_ScalarWebAPI_ActionList_URL>
          <av:X_ScalarWebAPI_AccessType/>
        </av:X_ScalarWebAPI_Service>
        <av:X_ScalarWebAPI_Service>
          <av:X_ScalarWebAPI_ServiceType>accessControl</av:X_ScalarWebAPI_ServiceType>
          <av:X_ScalarWebAPI_ActionList_URL>http://192.168.122.1:8080/sony</av:X_ScalarWebAPI_ActionList_URL>
          <av:X_ScalarWebAPI_AccessType/>
        </av:X_ScalarWebAPI_Service>
        <av:X_ScalarWebAPI_Service>
          <av:X_ScalarWebAPI_ServiceType>camera</av:X_ScalarWebAPI_ServiceType>
          <av:X_ScalarWebAPI_ActionList_URL>http://192.168.122.1:8080/sony</av:X_ScalarWebAPI_ActionList_URL>
          <av:X_ScalarWebAPI_AccessType/>
        </av:X_ScalarWebAPI_Service>
      </av:X_ScalarWebAPI_ServiceList>
    </av:X_ScalarWebAPI_DeviceInfo>

我的问题是在未先签名的情况下使用示例 api 应用程序。