gpt4 book ai didi

api - 如何使用 Amazon Alexa 访问本地 API

转载 作者:行者123 更新时间:2023-12-04 16:38:36 25 4
gpt4 key购买 nike

我打算为Amazon Alexa建立一套技能它将与在我家的 RaspberryPi 上运行的自定义软件套件集成。

我正在努力弄清楚如何让 Echo/Dot 本身直接对 raspberry pi 进行 API 调用 - 无需通过互联网,因为目标设备除了内部网连接之外什么都没有 - 它能够接收来自本地网络上的设备的命令,但无法通过世界访问。

根据我的阅读,典型的工作流程如下

Echo -> Alexa Service -> Lambda

Lambda 函数将向智能家居设备返回一组数据;使用这个返回值

Is it possible, and how can I make the Alexa device itself make an API request to a device on the local network, after receiving a response from lambda?

最佳答案

我有同样的问题,我的解决方案是使用 SQS 作为消息总线,这样我的 RaspberryPi 就不需要从 Internet 访问。

Echo <-> Alexa Service <-> Lambda -> SQS -> RaspberryPi
A |
+------ SQS <-----+

只要:
  • 您在 RaspberryPi 上启用 SQS 的长轮询(20 秒)并将每个请求的最大消息数设置为 1
  • 您没有并发消息在 Alexa 和 RaspberryPi 之间来回传递

  • 这带来了以下好处:
  • 如果最大消息大小为 1,SQS 请求将在队列中有一条消息可用时立即返回,甚至在满足长轮询超时之前
  • 整个月一次只对 SQS 进行 1 次长轮询,这符合 100 万个请求的 SQS 免费套餐
  • 从 Internet 访问 RaspberryPi 没有特殊的防火墙权限,因此来自 lambda 的 RaspberryPi 连接始终“正常工作”
  • 比将您的 RaspberryPi 暴露在互联网上更安全,因为没有暴露的开放端口可供恶意程序攻击
  • 关于api - 如何使用 Amazon Alexa 访问本地 API,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44075258/

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