查看Amazon Alexa的源代码
←
Amazon Alexa
跳转到:
导航
,
搜索
因为以下原因,你没有权限编辑本页:
您刚才请求的操作只有这个用户组中的用户才能使用:
用户
您可以查看并复制此页面的源代码:
== Alexa discover process == Send UDP to: 239.255.255.250:1900 Alexa send UDP packet when 'discover devices': <source lang=bash> M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 15 ST: urn:schemas-upnp-org:device:basic:1 </source> <source lang=bash> M-SEARCH * HTTP/1.1 HOST: 239.255.255.250:1900 MAN: "ssdp:discover" MX: 15 ST: urn:Belkin:device:** </source> ;;Device response: '''ST''' must be same as the received packet <source lang=http> HTTP/1.1 200 OK EXT: CACHE-CONTROL: max-age=86400 SERVER: Noduino/1.0 UPNP/1.1 OpenLight Controller/1.0 USN: uuid:38323636-4558-4dda-9188-cda0115b5050 ST: urn:Belkin:device:** LOCATION: http://192.168.1.64:80/setup.xml </source> Then Alexa send HTTP GET request to http://192.168.1.64:80/setup.xml: <source lang=bash> GET /setup.xml HTTP/1.1 Host: 192.168.1.81 Accept: */* </source> Device need to implement: GET / GET /setup.xml == WEMO == === Turn On === <source lang=xml> POST /upnp/control/basicevent1 HTTP/1.1 Host: 192.168.1.69 Accept: */* Content-type: text/xml; charset="utf-8" SOAPACTION: "urn:Belkin:service:basicevent:1#SetBinaryState" Content-Length: 299 <?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetBinaryState xmlns:u="urn:Belkin:service:basicevent:1"><BinaryState>1</BinaryState></u:SetBinaryState></s:Body></s:Envelope> </source> === Turn Off === <source lang=xml> POST /upnp/control/basicevent1 HTTP/1.1 Host: 192.168.1.69 Accept: */* Content-type: text/xml; charset="utf-8" SOAPACTION: "urn:Belkin:service:basicevent:1#SetBinaryState" Content-Length: 299 <?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetBinaryState xmlns:u="urn:Belkin:service:basicevent:1"><BinaryState>0</BinaryState></u:SetBinaryState></s:Body></s:Envelope> </source> === Change Name === <source lang=xml> POST /upnp/control/basicevent1 HTTP/1.1 Host: 192.168.1.69 Accept: */* Content-type: text/xml; charset="utf-8" SOAPACTION: "urn:Belkin:service:basicevent:1#ChangeFriendlyName" Content-Length: 299 <?xml version="1.0" encoding="utf-8"?><s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><m:ChangeFriendlyName xmlns:m="urn:Belkin:service:basicevent:1"><FriendlyName>My Switch</FriendlyName></m:ChangeFriendlyName></s:Body></s:Envelope> </source> It is the address and port specified by the UPnP protocol. Only one such listener is needed since it can send multiple responses, one for each switch, in response to a search request. TCP listen on port 49153 == HUE == ;;setup.xml <source lang=xml> <root><device> <deviceType>urn:schemas-upnp-org:device:Basic:1</deviceType> <friendlyName>Philips hue (%s)</friendlyName> <manufacturer>Royal Philips Electronics</manufacturer> <------- key <manufacturerURL>http://www.philips.com</manufacturerURL> <modelName>Philips hue bridge 2012</modelName> <------- it's also the key <modelNumber>929000226503</modelNumber> <modelURL>http://www.meethue.com</modelURL> <serialNumber>001788102201</serialNumber> <UDN>uuid:2f402f80-da50-11e1-9b23-001788102201</UDN> <presentationURL>index.html</presentationURL> </device></root> </source> <source lang=xml> GET /api/h632JhAtwDezSwGk3VKEeFn4snXZUjro9OoEvdur/lights HTTP/1.1 Host: 192.168.1.64 Accept: */* </source> <source lang=xml> GET /api/h632JhAtwDezSwGk3VKEeFn4snXZUjro9OoEvdur HTTP/1.1 Host: 192.168.1.64 Accept: */* </source> === Dim to 30% === <source lang=bash> PUT /api/h632JhAtwDezSwGk3VKEeFn4snXZUjro9OoEvdur/lights/0/state HTTP/1.1 Host: 192.168.1.53 Accept: */* Content-type: application/x-www-form-urlencoded Content-Length: 21 {"on": true,"bri":76} </source> === bright to 50% === ;;Request: <source lang=bash> PUT /api/h632JhAtwDezSwGk3VKEeFn4snXZUjro9OoEvdur/lights/0/state HTTP/1.1 Host: 192.168.1.53 Accept: */* Content-type: application/x-www-form-urlencoded Content-Length: 22 {"on": true,"bri":127} </source> ;;Response: <source lang=bash> HTTP/1.1 200 OK Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0 Content-type: application/json [{"success": {"on": true}}, {"success": {"bri": 255}}] </source> === Turn On === ;;Request: <source lang=bash> PUT /api/h632JhAtwDezSwGk3VKEeFn4snXZUjro9OoEvdur/lights/0/state HTTP/1.1 Host: 192.168.1.53 Accept: */* Content-type: application/x-www-form-urlencoded Content-Length: 12 {"on": true} </source> === Turn Off === ;;Request: <source lang=bash> PUT /api/h632JhAtwDezSwGk3VKEeFn4snXZUjro9OoEvdur/lights/0/state HTTP/1.1 Host: 192.168.1.53 Accept: */* Content-type: application/x-www-form-urlencoded Content-Length: 13 {"on": false} </source> <br><br><br><br><br><br>
返回到
Amazon Alexa
。
个人工具
登录
名字空间
页面
讨论
变换
查看
阅读
查看源代码
查看历史
操作
搜索
导航
首页
社区专页
新闻动态
最近更改
随机页面
帮助
工具箱
链入页面
相关更改
特殊页面