gpt4 book ai didi

api - 如何远程连接后端服务与飞利浦 Hue Bridge?

转载 作者:行者123 更新时间:2023-12-04 00:27:33 25 4
gpt4 key购买 nike

我正在寻找一个飞利浦 Hue 服务,该服务需要允许用户使用我的服务注册他们的 Hue 桥。该服务将根据事件改变灯泡的颜色。我知道我可以使用 IFTTT,但在这种情况下,我不想使用 IFTTT,我想用 philips hue 的应用程序注册我的网站。

知道我该怎么做吗?非常感激您的帮忙。谢谢!

编辑:不知道为什么我被否决了,但我确实做了我的研究。我查看了 philips hue 的开发者网站,在他们的 API 上找不到任何明确的内容。我还查看了 iOS SDK,没有看到任何会触发远程设备配对例程的方法。到目前为止,我有这个工作的唯一例子(飞利浦产品之外的是 IFTTT 服务,它允许在“我的应用程序”部分添加一个条目)。

最佳答案

TLDR:我写了一个 API:https://github.com/jarvisinc/PhilipsHueRemoteAPI

我在我的技术博客 (http://blog.paulshi.me/technical/2013/11/27/Philips-Hue-Remote-API-Explained.html) 上回答了这个问题,我将在此处发布:

这个问题实际上分为两部分:

  • 认证
  • Remote

  • 验证

    我还没有找到一种可靠的方法来自动进行身份验证。以下程序需要自动化: 想法是伪装成官方iOS APP,启用后可以远程控制。我们需要得到 BRIDGEIDACCESSTOKEN通过远程控制的认证步骤。
  • 找到您的 BRIDGEID来自 https://www.meethue.com/api/nupnp . (或在meethue 网站上的My bridge 页面中点击“显示更多”)
  • 获取 ACCESSTOKEN
    www.meethue.com/en-US/api/gettoken?devicename=iPhone+5&appid=hueapp&deviceid=**BRIDGEID**
  • 点击“返回应用程序”并写下ACCESSTOKEN在它重定向到的链接内
    phhueapp://sdk/login/**ACCESSTOKEN**

  • 基本上,获取您的访问 token 是一种黑客行为。你将你的应用伪装成官方的 iOS Hue 应用,然后以这种方式请求访问 token 。我不确定是否有更简单的方法,如果您知道,请在下面发表评论。

    您可以通过模拟登录 session 来自动执行它并获取 ACCESSTOKEN通过抓取页面内容。但我认为它非常不可靠,因为对官方页面的任何更改都可能会破坏它。

    我写了这篇 script允许自动获取 ACCESSTOKEN截至今天,但由于我上面解释的原因,我不保证它明天会起作用:P

    目前,此 OAUTH 进程仅适用于官方应用程序。他们可能会向其他 3rd 方应用程序打开它。

    遥控

    身份验证完成后,这部分可以自动完成。有 2 个已知的私有(private)端点用于发送控制命令并获取与 hue 桥相关的所有状态。
  • 发送命令端点:
    POST https://www.meethue.com/api/sendmessage
  • 获取状态端点:
    GET https://www.meethue.com/api/getbridge

  • 发送命令端点
  • 网址:https://www.meethue.com/api/sendmessage
  • 方法:POST
  • 网址参数:
    token=**ACCESSTOKEN** (which you obtained earlier)
  • 请求头
    content-type=application/x-www-form-urlencoded
  • body
    clipmessage={ bridgeId: "**BRIDGEID**", clipCommand: { url: "/api/0/**APIENDPOINT**", method: "**METHOD**", body: **JSONCOMMAND** } }
  • BRIDGEID与您之前获得的相同
  • APIENDPOINT同官方API /api/<username>/***通过删除 /api/<usename>/部分
  • METHOD PUT/GET/POST/DELETE 与官方 API 相同的 4 种方法。尽管 GET 确实不起作用,因为来自发送命令端点的所有响应都是 200,在下面的部分中进行了解释,而 DELETE 没有经过测试
  • JSONCOMMAND实际的命令体例如 {"on":true}

  • 获取状态端点
  • 网址:https://www.meethue.com/api/getbridge
  • 方法:GET
  • 网址参数:
    token=**ACCESSTOKEN**
    bridgeid=**BRIDGEID**
  • 请求头
    content-type=application/x-www-form-urlencoded

  • 限制

    当前的限制是您无法立即从响应中知道您的控制命令是否像官方 API 一样成功。调用发送命令端点得到的所有响应几乎总是 <200>如果你做对了。但是您始终可以从 Getting Status Endpoint 中提取与 Hue 桥相关的所有状态。

    远程控制 API

    我写了 Philips HUE Remote API专门解决遥控问题。

    享受 :)



    有关完整文档,请参阅这篇优秀的论文:

    Hacking Lightbulbs: Security Evaluation of the Philips Hue Personal Wireless Lighting SystemNitesh Dhanjani

    关于api - 如何远程连接后端服务与飞利浦 Hue Bridge?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19900657/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com