×

使用Bolt的Google Assistant自动房间照明

消耗积分:0 | 格式:zip | 大小:0.37 MB | 2022-12-19

刘涛

分享资料个

描述

介绍:

对于像我这样的懒人来说,去总机开灯是一项艰巨的任务。但是,如果房间变暗时灯会自动打开,而房间明亮时会神奇地(阅读:自动)关闭灯怎么办?酷,不是吗。这正是这个项目的目的。

使用 Bolt Wifi 模块,我制作了一个电路,可以根据房间的暗/亮程度打开/关闭灯。它每 10 秒检查一次房间的亮度,并根据房间的亮度打开/关闭 LED。如果要更改房间的状态,那么我还会通过短信在手机上收到通知,房间很亮,所以灯被关掉了,或者房间很暗,所以灯被打开了。我已经为不需要打开灯的房间的通常亮度设置了上限和下限。如果亮度大于上限,则 LED 关闭,如果低于下限,则 LED 点亮。

如果房间足够亮,我不能开灯,但强度低于我设定的下限怎么办?好吧,这就是谷歌助手派上用场的地方。我要说的是,“Ok Google,关灯。” 它会立即这样做。

或者当它比上限更亮但稍微多一点的亮度会有所帮助时,然后我对我的 Google 助理说打开灯。

脚步:

脚步:

第 1 步:硬件连接

拿起面包板,将 LDR 和其中一个电阻串联起来。取另一个电阻器并将其与 LD​​R 电阻器串联连接分开连接到面包板。

然后将一根跳线分别连接到 Bolt 设备的 GND、3V3、引脚 0 和引脚 A0。

pYYBAGOANVSAQ55HAACG3Hq5HZo64.jpeg
Bolt Wifi 模块中出现的跳线
 

现在,按如下方式连接这些跳线:

1. 从 GND 到与 LDR 串联的电阻的另一端,在面包板上。

2. A0 中的那个要连接到我们串联 LDR 和电阻的点。

3.面包板上3V3到LDR另一端的那个。

 
 
 
poYBAGOX1JqAR1tBAAD78Z2SoJ877.jpeg
 
1 / 2面包板连接
 

现在将一根跳线分别连接到 LED 的两条腿上。从正极端子(较长的腿)到第二个电阻器(不与 LDR 串联)的一端出现的那个。LED 负极(较短的腿)的跳线与我们之前制作的 GND 连接串联。

最后,将引脚 0 线连接到第二个电阻器的另一端(不与 LDR 串联)。

pYYBAGOX1KGAZOxiAACM4DTZ37484.jpeg
整个电路
 

添加图像

删除此图像

通过 USB 电缆将 Bolt Wifi 模块连接到电源,瞧!硬件配置完成!

poYBAGOX1LCAHP4oAACkE3SWplY74.jpeg
连接到电源
 

添加图像

删除此图像

步骤 2:创建配置文件

我们将创建一个文件,其中包含我们将使用的资源的所有必要详细信息,例如,Bolt 模块的设备 ID 和 API 密钥。

您将在您的 Bolt 云帐户中找到您的 API 密钥和设备 ID。

然后在第三方 SMS 服务提供商 Twilio 上创建一个帐户。关闭手机上的免打扰(如果已启用),因为 Twilio 无法向已启用免打扰的号码发送短信。

请按照以下步骤创建您的 Twilio 帐户:

1. 打开https://www.twilio.com/

2.点击注册

3. 填写必要的详细信息。

4. 然后,您必须通过单击发送到您的电子邮件的链接来验证您的电子邮件。

5. 电子邮件验证后,您必须获得您想要接收验证消息的号码。通过选择您的国家(在我的情况下为印度)输入它。

5. 接下来,您将在产品选项卡下选择可编程短信和电话号码。

6. 完成后,单击继续。为您的项目命名。点击继续。

7. 当被要求邀请队友时,单击跳过此步骤。

8. 现在将创建项目,单击项目信息以查看您的帐户凭据。

9. 您需要复制 Account SID 和 Auth Token(它是隐藏的,点击查看,查看)。

10. 从下拉菜单中选择“可编程短信”。现在单击“开始”,它将生成您的号码。

11. 点击“获取号码”按钮。在出现的弹出窗口中,单击“选择此号码”。然后会出现一个弹出窗口,其中包含最终数字,复制它。

现在,这就是 Twilio。

注意:如果您在 IST 晚上 9 点之后尝试此步骤,您将不会收到消息。

启动您的 Ubuntu 服务器,无论是您通过 puTTy、VirtualBox 还是 VMware 访问的服务器。

现在使用以下命令创建一个文件:

须藤纳米conf.py

pYYBAGOX1LaAMJVFAABewTXHxfw386.png
conf.py 文件
 

conf.py 中使用的变量的值:

SSID= Twilio 帐户 SID

Auth_Token= 来自 Twilio 的身份验证令牌

From_no= 使用 Twilio 生成的数字

To_no= 链接 Twilio 以获取消息的号码

API_key= 来自 Bolt Cloud 的 Bolt API 密钥

Device_ID= 您的 Bolt 模块的设备 ID,从 Bolt 云获取。

按 CTRL+X,按 Y,然后按 Enter。

配置文件是您的 python 文件和 bolt、Twilio 帐户之间的链接。

现在我们将创建 python 文件,它将使项目活跃起来。

第 3 步:Python 文件

 
 
 
poYBAGOX1LyACfSJAADViJCiZIQ126.png
 
1 / 2代码(第 1 部分)
 
pYYBAGOX1L-ANRzqAADdzvMTt1I965.png
 

代码说明:

我们首先导入我们的配置文件、模块 time 和 json。除了这些,boltiot python 库的 Sms 和 Bolt 模块已被导入。

接下来,我设置了房间通常亮度的下限和相同的上限。

API 密钥和设备 ID 作为参数传递给 Bolt 函数,结果存储在 mybolt 变量中。

Twilio 详细信息作为参数传递给 Sms 函数并存储在变量 SMS 中。

初始化变量标志以检查 LED 的状态:开或关。如果状态为 0 即关闭,则标志为零,如果状态 = 1 即打开,标志 =1。

现在我们进入一个无限循环,我们将在其中检查传感器以决定是打开还是关闭 LED。

如果传感器的值高于上限并且 LED 处于开启状态,我们请求 Twilio 服务器发送一条消息,通知用户手机上的房间足够亮,因此应该关闭灯。

因此,以下代码也会关闭灯(使用 digitalWrite())并重置标志。我们还记录从 Twilio 收到的响应。

否则,如果传感器的值小于下限并且标志 =0 即 LED 熄灭,我们请求 Twilio 服务器在我们的手机上发送一条消息,表明房间很暗,因此灯被打开。

因此,此请求代码后面的代码打开灯(使用 digitalWrite())并设置标志。我们还记录了从 Twilio 收到的回复。

如果发生错误,代码会跳转到 except 块并打印错误详细信息。

循环中的最后一个元素是设置计时器,即自上次记录传感器值以来经过 10 秒后收集传感器数据。

终端上的输出是:

pYYBAGOX1MeAfFy1AADT8OLWs0I260.png
终端输出
 

手机提示信息:

poYBAGOX1MqAdUEdAABcABUVe8089.jpeg
短信形式的电话提醒
 

第 4 步:将系统连接到 Google Assistant

首先,我们需要记下/复制使 Bolt 模块打开和关闭灯的 GPIO 命令。

前往螺栓云。滚动到主页上的文档部分。

在文档页面上,转到 API 文档,从那里转到 GPIO 命令,您必须在其中选择写入数字输出选项卡。

此命令将打开 LED。

要关闭 LED,只需将上述 URL 中的 state 属性值替换为 LOW。

保存这两个链接。

现在,我们将使用 IFTTT 和 Webhooks 将 Bolt 模块与 Google Assistant 集成。

按着这些次序:

1. 使用与您的 Google 助理相关联的 Gmail 帐户在 IFTTT 上创建一个帐户。

www.ifttt.com

2.然后通过URL创建一个新的小程序:

ifttt.com/create

3. 点击+这个

4.选择谷歌助手>说一个简单的短语

pYYBAGOfvEWAP_w7AABd_JNs1qc488.png
选择服务
 

5. 输入将触发动作的短语,以多种方式指定触发短语,以便更容易调用 GA。

poYBAGOfvEqAP29_AABzj75L-V8472.png
选择触发器的类型
 
poYBAGOfvFCAaQQRAAA6oihsmsk325.png
对触发器及其响应进行编程
 

6. 输入 GA 在确认您的请求时应该说的响应。

7. 单击创建触发器。

8. 现在,点击“+那个”。

pYYBAGOfvFOAdl32AAAkkmM-36o508.png
 

9. 选择 Webhook。

poYBAGOfvFeAXA4cAAAqGB-LN2Y168.png
 

10.选择发出网络请求,它将带您到另一个页面。在新页面上,输入 API URL 以打开您从 Bolt Cloud 上的文档中保存的 LED。

poYBAGOfvFqAKt6vAAAm3lrvgMk372.png
为 Webhook 选择操作
 
pYYBAGOfvFyASB47AABF2QFRw1w713.png
对 Webhook 进行编程
 

11. 选择“GET”方法。从下拉列表中选择 application/json 作为您的内容类型。

12. 单击创建操作。它将带您到一个可以查看它的页面,如果您满意并确定,请单击“完成”。

pYYBAGOfvF-AElCfAAA0rNFS6k0900.png
 

从步骤 2 到 12 重复上述过程以关闭 LED。这次请记住使用 URL 来关闭 LED。

而且,就是这样!现在,尝试对您的 GA 说“Ok Google”并说出您的一个触发短语,它会回复响应短语,瞧!LED 的行为也一样!

pYYBAGOfvGKANJOfAADDidliMGo22.jpeg
硬件输出
 

添加图像

删除此图像

poYBAGOfvGWABMCCAAAZSjeJZwM02.jpeg
给出 GA 语音命令及其输出
 

注意:让 LDR 远离 LED 光源,以免 LED 灯干扰您的程序。


声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

评论(0)
发评论

下载排行榜

全部0条评论

快来发表一下你的评论吧 !