如何使用Arduino通过Google语音助手通过语音控制房屋的灯光

电子说

1.2w人已加入

描述

第1步:先决条件

如果在开始之前满足以下要求,这将是有益的:

1)IFTTT帐户(您可以在其网站上注册免费帐户或应用程序)

注意:使用与Google Assistant关联的电子邮件ID进行注册

2)Blynk帐户(您可以通过下载blynk应用程序注册免费帐户)

3)带有Google Assistant的Android设备(运行棉花糖6.0或更高版本,我的是6.0)

注意:IOS设备可以在装有Google Assistant的情况下使用,但我个人没有

4)安装了“ Arduino IDE”的Windows PC

请在下一步中查看所需组件的列表。

步骤2:必需的组件(具有快速规格)

列表所需的组件:

1) Arduino Uno R3微控制器板(数量:1)

2)ESP8266 ESP-01 WiFi模块(数量:1)

3)继电器模块(单通道5V)(数量:1)

4)跨接线(数量:根据要求)

5)AC灯泡,灯泡插座和电线(数量:1灯泡,1灯泡插座,

所需长度的电线。)

1) Arduino Uno R3微控制器板:很可能您可能对Arduino微控制器很熟悉。对于那些不是的人,您可以将其视为大多数IoT(物联网)项目的核心组件。在这个项目中,我使用了“ Arduino Uno”。基于ATmega328的MCU它具有14个数字I/O引脚(其中6个引脚可用于PWM输出),6个模拟输入引脚,工作于5V,输入电压范围为7V-20V,时钟速度为20 MHz,具有32 kb闪存。

我们可以将各种传感器连接到其中,并将我们的逻辑放入代码中,以从传感器获取所需的功能,然后通过“ Arduino IDE”将最终草图上传到Arduino。

2)ESP8266 ESP-01 WiFi模块: ESP8266 ESP-01是最便宜的WiFi模块,我们使用它将微控制器连接到WiFi网络并建立小型TCP/IP连接。它在芯片上有8个引脚,分别是地,TX,GPIO-2(通用I/O),CH_EN(芯片使能),GPIO-0,复位,RX,Vcc。它在+ 3.3v电源上运行。

3)继电器模块:我在这里使用了单通道5V继电器模块。它具有3个用于与Arduino连接的引脚和3个用于连接设备的端口。 Vcc引脚用于为5V继电器供电,一个接地引脚,一个用于数字输入的IN引脚。 3个端口为COM(普通),NO(常开),NC(常闭)端口,为设备(例如灯泡)供电。

4)跳线:用于连接与Arduino。您可以从亚马逊或您选择的其他集市上购买公对公,母对母,公对母跳线。

5)AC灯泡,灯泡插座和电线: 用于将插座与继电器模块连接。您可以在自己的房屋或附近的商店中轻松找到这些物品。

步骤3:配置Blynk应用

1)打开并登录Blynk应用。/p》

您将获得2000的能量平衡,该能量平衡将用于添加小部件。删除小部件后,这种能量可以再生,但是如果共享它,您将无法取回它。因此,请明智地使用它。

2)创建“新项目”并根据需要命名。

3)从设备列表中选择“ Arduino Uno”,并将连接类型选择为“ WiFi” ,选择主题,然后单击“创建”。

4)您将收到一封带有授权令牌的电子邮件。

5)现在单击顶部的+号并添加一个按钮。

6)单击并将按钮设置为“数字”和“ D7‘ 。将引脚值分别设置为1和0。 (在您的脑海中可能会出现疑问,为什么我将其设置为(1,0)而不是(0,1)?嗯,我已经在此Instructable的步骤6中对此进行了解释)。将开关模式设置为“推”并根据需要命名所有标签。

7)再次单击+符号并添加文本输入。

8)单击文本输入并设置“输出”引脚到V0,“字符数限制”为5,您可以随意命名其他字段。

9)在具有有效Internet连接的PC上打开命令提示符,然后键入以下命令:

ping blynk-cloud.com

记下看起来像这样的IP地址

188.166.206.43

这是您所在国家的blynk服务器的IP地址。

现在

步骤4:创建IFTTT小程序

您可能已经在IFTTT.com或IFTTT上创建了帐户应用程序。如果没有,请创建它。

为Google助手创建IFTTT小程序的步骤:

1)遵循下面链接中提到的教程以及我在这里提到的步骤:

如何创建IFTTT小程序?

2)创建触发器:

i)创建触发器时在搜索栏中搜索Google助手。

ii)选择“用文本成分说短语”

iii)您可以输入三种表达短语的方式。输入带有文字成分的词组。例如,我输入了“ turn $ lights”。在这里,我要代替$的内容将是文本成分。还要输入您想从Google Assistant收听的词组。

iv)选择语言,然后单击“创建触发器”。

3)选择“操作”:

i )选择操作时在搜索栏中搜索Webhooks。

ii)单击“发出Web请求”。

iii)在URL字段中放置以下内容:

http://“ip address from previous step”/“Your auth token”/pin/“Pin Number of blynk text input”

插入您的IP地址,身份验证令牌和Pin编号(即V0或您在blynk应用中为文本输入设置的任何Pin编号),不要使用双引号。

iv)设置“方法”到PUT,“内容类型”到application/json,然后将其复制到“正文”

[“{{TextField}}”]

4)单击“完成”,然后转到下一步。

第5步:工作

工作非常简单,如图所示,当我们说“ OK Google”并将命令交给Google Assistant时,在灯光下”,将触发IFTTT小程序,并将“打开”作为文本成分传递给blynk应用。 Blynk应用程序在输入文本字段中接收它,然后使用blynk库方法param.asStr()在arduino代码中获取它。当接收到“ on”时,arduino板的数字引脚D7将被设置为0并点亮灯;当接收到“ off”时,则arduino板的数字引脚D7将被设置为1并熄灭灯(再次与步骤3相同。。..对!不要担心,我已在下一步进行了解释。)

步骤6:连接

您可能会想到一个问题:“为什么我将Arduino板的针脚7设置为0(对于继电器模块的高输入,而对于1作为低输入的继电器模块?)

答案很简单,因为我正在使用的继电器模块处于低电平有效状态,这意味着当输入为0时继电器处于活动状态,而当输入为1时继电器则处于无效状态。但是为什么会这样呢?这是因为当Arduino启动时,默认情况下Arduino的所有输出引脚都设置为高电平,这将在启动时将继电器设置为活动状态。因此,要在开始时将继电器设置为非活动状态,请将其设置为低电平有效。

现在,让我们检查一下连接。

我已经在上图中建立了Arduino,ESP8266和Relay模块的引脚之间的连接。我还提到了下面的连接,因为我知道我的笔迹非常好:(

ESP8266 ESP-01的引脚图如步骤2所示。

Arduino,ESP8266和中继模块:

Arduino 《-------------------------------------- ---------》 ESP/继电器

Pin 7 ---------------------------- ---------------------------继电器的输入

引脚2 ----------- --------------------------------------- ESP的RX引脚

引脚3 ------------------------------------------------ -ESP的TX引脚

RESET ------------------------------------ -------- ESP的RESET引脚

GND 1 ----------------------------- --------------- ESP的接地引脚

GND 2 ---------------------- ----------------------继电器的接地引脚

+ 3.3V -------------- ---------------------------------------- ESP的Vcc

+ 5V ------------------------------------------------ ------继电器的Vcc

继电器模块第二端与交流灯之间的连接:

继电器的NO(常开) ------------------》灯泡插座的任何一端

继电器的COM(公共)------------ ---------------》 +交流电源的结束端

交流电源的剩余端---------------- --------》灯泡插座的另一端。

NC(常闭)-----------》保持原状。

(请参阅上图以获得更好的理解)

第7步:使用Google Assistant上传代码并进行测试

1)打开“ Arduino IDE”您的PC

2)在IDE中打开下面的草图

3)用您的凭据替换身份验证令牌,WiFi ssid和您的密码。

4)上传代码到Arduino开发板。 (最好的做法是在成功上传后将代码上传到空闲的Arduino板上并连接传感器。)

5)打开Blynk应用并打开您的WiFi热点。

6)单击Blynk应用程序右上角的播放按钮以运行该项目。

7)建立连接后,您将收到通知。

8)现在是真正的事情了。在您的手机中说“确定Google”,等待Google助手打开,然后说出“开灯”之类的词组,然后在几秒钟内Google助手会用输入的词组回复您,以便您在IFTTT中从Google助手中收听例如在我的情况下是“打开灯”

9)说“关闭灯”以将其关闭。您还可以通过Blynk应用中的“按钮”来控制灯光。

责任编辑:wv 

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

全部0条评论

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

×
20
完善资料,
赚取积分