Alexa Skill-区分调用该技能的用户(在Lambda函数中)

时间:2018-06-22 11:52:39

标签: raspberry-pi aws-lambda alexa-skill aws-iot openhab

经过几天的搜索,我决定在这里寻求帮助。 我想发布可以控制某些电动机的Alexa技能。

当前状态:
-1个用户
-1个Alexa
-1个本地网络
-1个Raspberry Pi
如果用户调用向Lambda函数发送json请求的技能。此功能将http请求(通过DDNS我“知道”将请求转发到Raspberry Pi的路由器的IP地址)发送到Raspberry Pi(正在运行本地Web服务器)。现在,该本地网络服务器通过串行接口将指令发送给电动机。

我的问题:
如果我添加第二个或第三个或第1000个本地网络(参见图片),则Lambda函数中的这些网络之间不再存在差异。 我如何知道哪个用户属于哪个Raspberry Pi?

我将要实现openHAB,AWS IoT或Pubnub,因此我不必担心特定Raspberry Pi与Lambda函数之间的通信。在实现之后,Lambda函数如何仍然不知道用户指的是Raspberry Pi?

Ah和用户只能控制他自己的Raspberry Pi,它在同一局域网中。

Basic Architecture

1 个答案:

答案 0 :(得分:0)

您可以在JSON请求中指定唯一的用户ID 。在Lambda函数中,您可以 PubNub发布在特定于单个Raspberry Pi的频道上。您的每个Pi都可以在各自的频道上 PubNub订阅

永久获得免费 API密钥here

enter image description here

在没有SDK的情况下发布PubNub:

GET request to: 
http://pubsub.pubnub.com/publish/your_publish_key/your_subscribe_key/0/channel_name/0/{"your_json":"data_here"}