无法连接到Sony Camera Remote API

时间:2017-05-10 03:40:06

标签: sony sony-camera-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. 我使用dd.xml

    预占DmsDesc.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
    
  4. “开发指南”中的

    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 Remote API,演示将是完美的。

    3. 如果索尼工程师可以看到我的问题,请更新官方演示。它太旧了。

2 个答案:

答案 0 :(得分:4)

我自己找到了答案。

要连接索尼相机远程API,我们必须将相机设置为caccess点。

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

  1. 菜单---&gt; Wi-Fi ---&gt; tab1 ---&gt;发送至智能手机
  2. 菜单---&gt;应用程序---&gt;应用程序列表---&gt;启动名为“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>
    

答案 1 :(得分:0)

我的问题是使用示例api app而不先签名。