Mqtt 智能家居设备与Google home和Alexa的集成

Mqtt 智能家居设备与Google home和Alexa的集成,mqtt,alexa,google-smart-home,smarthomeskill,Mqtt,Alexa,Google Smart Home,Smarthomeskill,我正在尝试将智能家居设备与Google home和Alexa集成,但我面临以下问题 Google Home/Alexa和我们的设备云服务器之间的通信是HTTP 智能家居设备和我们的设备云服务器之间的通信是MQTT 如何跟踪同步请求响应?有没有更好的方法来实现这个系统?完全可以使用HTTP到MQTT再返回 我已经为Alexa和Google Home为我的节点红色节点完成了这项工作 您只需要跟踪正在进行的请求,并在请求/响应MQTT消息中包含一个唯一的id,同时运行计时器来处理设备的无响应。项目gB

我正在尝试将智能家居设备与Google home和Alexa集成,但我面临以下问题

  • Google Home/Alexa和我们的设备云服务器之间的通信是HTTP
  • 智能家居设备和我们的设备云服务器之间的通信是MQTT

  • 如何跟踪同步请求响应?有没有更好的方法来实现这个系统?

    完全可以使用HTTP到MQTT再返回

    我已经为Alexa和Google Home为我的节点红色节点完成了这项工作

    您只需要跟踪正在进行的请求,并在请求/响应MQTT消息中包含一个唯一的id,同时运行计时器来处理设备的无响应。

    项目gBridge(;)基本上实现了普通的Google Assistant/Alexa到MQTT桥接

    关于您的问题,有两点有助于实施这些解决方案:

  • 考虑设备或端点,而不是请求。当您只想将HTTP“转换”为MQTT时,就会产生许多问题,就像您已经发现的那样。您可能希望实现一种逻辑,允许MQTT主题控制/查询您的实际设备,而不是响应HTTP请求的设备。这让事情变得简单多了
  • 缓存是必不可少的。允许网桥具有设备状态的本地副本。当拥有正确实现的缓存时,您将不需要任何响应。只需使用缓存的数据

  • 可以你能给我指出一些我可以参考代码的链接吗?这种技术在生产环境中可靠吗?当你必须水平扩展时,它会变得更复杂,但它可以工作