对于像我这样的懒人来说,去总机开灯是一项艰巨的任务。但是,如果房间变暗时灯会自动打开,而房间明亮时会神奇地(阅读:自动)关闭灯怎么办?酷,不是吗。这正是这个项目的目的。
使用 Bolt Wifi 模块,我制作了一个电路,可以根据房间的暗/亮程度打开/关闭灯。它每 10 秒检查一次房间的亮度,并根据房间的亮度打开/关闭 LED。如果要更改房间的状态,那么我还会通过短信在手机上收到通知,房间很亮,所以灯被关掉了,或者房间很暗,所以灯被打开了。我已经为不需要打开灯的房间的通常亮度设置了上限和下限。如果亮度大于上限,则 LED 关闭,如果低于下限,则 LED 点亮。
如果房间足够亮,我不能开灯,但强度低于我设定的下限怎么办?好吧,这就是谷歌助手派上用场的地方。我要说的是,“Ok Google,关灯。” 它会立即这样做。
或者当它比上限更亮但稍微多一点的亮度会有所帮助时,然后我对我的 Google 助理说打开灯。
脚步:
第 1 步:硬件连接
拿起面包板,将 LDR 和其中一个电阻串联起来。取另一个电阻器并将其与 LDR 电阻器串联连接分开连接到面包板。
然后将一根跳线分别连接到 Bolt 设备的 GND、3V3、引脚 0 和引脚 A0。
现在,按如下方式连接这些跳线:
1. 从 GND 到与 LDR 串联的电阻的另一端,在面包板上。
2. A0 中的那个要连接到我们串联 LDR 和电阻的点。
3.面包板上3V3到LDR另一端的那个。
现在将一根跳线分别连接到 LED 的两条腿上。从正极端子(较长的腿)到第二个电阻器(不与 LDR 串联)的一端出现的那个。LED 负极(较短的腿)的跳线与我们之前制作的 GND 连接串联。
最后,将引脚 0 线连接到第二个电阻器的另一端(不与 LDR 串联)。
添加图像
删除此图像
通过 USB 电缆将 Bolt Wifi 模块连接到电源,瞧!硬件配置完成!
添加图像
删除此图像
步骤 2:创建配置文件
我们将创建一个文件,其中包含我们将使用的资源的所有必要详细信息,例如,Bolt 模块的设备 ID 和 API 密钥。
您将在您的 Bolt 云帐户中找到您的 API 密钥和设备 ID。
然后在第三方 SMS 服务提供商 Twilio 上创建一个帐户。关闭手机上的免打扰(如果已启用),因为 Twilio 无法向已启用免打扰的号码发送短信。
请按照以下步骤创建您的 Twilio 帐户:
2.点击注册
3. 填写必要的详细信息。
4. 然后,您必须通过单击发送到您的电子邮件的链接来验证您的电子邮件。
5. 电子邮件验证后,您必须获得您想要接收验证消息的号码。通过选择您的国家(在我的情况下为印度)输入它。
5. 接下来,您将在产品选项卡下选择可编程短信和电话号码。
6. 完成后,单击继续。为您的项目命名。点击继续。
7. 当被要求邀请队友时,单击跳过此步骤。
8. 现在将创建项目,单击项目信息以查看您的帐户凭据。
9. 您需要复制 Account SID 和 Auth Token(它是隐藏的,点击查看,查看)。
10. 从下拉菜单中选择“可编程短信”。现在单击“开始”,它将生成您的号码。
11. 点击“获取号码”按钮。在出现的弹出窗口中,单击“选择此号码”。然后会出现一个弹出窗口,其中包含最终数字,复制它。
现在,这就是 Twilio。
注意:如果您在 IST 晚上 9 点之后尝试此步骤,您将不会收到消息。
启动您的 Ubuntu 服务器,无论是您通过 puTTy、VirtualBox 还是 VMware 访问的服务器。
现在使用以下命令创建一个文件:
须藤纳米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 文件
代码说明:
我们首先导入我们的配置文件、模块 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 秒后收集传感器数据。
终端上的输出是:
手机提示信息:
第 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.选择谷歌助手>说一个简单的短语
5. 输入将触发动作的短语,以多种方式指定触发短语,以便更容易调用 GA。
6. 输入 GA 在确认您的请求时应该说的响应。
7. 单击创建触发器。
8. 现在,点击“+那个”。
9. 选择 Webhook。
10.选择发出网络请求,它将带您到另一个页面。在新页面上,输入 API URL 以打开您从 Bolt Cloud 上的文档中保存的 LED。
11. 选择“GET”方法。从下拉列表中选择 application/json 作为您的内容类型。
12. 单击创建操作。它将带您到一个可以查看它的页面,如果您满意并确定,请单击“完成”。
从步骤 2 到 12 重复上述过程以关闭 LED。这次请记住使用 URL 来关闭 LED。
而且,就是这样!现在,尝试对您的 GA 说“Ok Google”并说出您的一个触发短语,它会回复响应短语,瞧!LED 的行为也一样!
添加图像
删除此图像
注意:让 LDR 远离 LED 光源,以免 LED 灯干扰您的程序。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !