当前位置:首页 > 物联网 > IoT设计分享
[导读]随着谷歌助理、亚马逊Alexa和苹果Siri等虚拟助手的发展,家庭自动化和语音控制应用变得相当流行。我们以前建立了许多家庭自动化项目,从简单的Alexa控制的家庭自动化到语音控制的家庭自动化使用树莓派。在这个项目中,我们将使用谷歌助手和Blynk应用程序来控制Neopixel LED条。Blynk应用程序是一个免费的物联网平台,链接到IFTTT(如果这样,那么那个)网站,该网站用于创建if-else条件语句,或者换句话说,applet。谷歌助手的语音命令已经通过IFTTT小程序添加。通过谷歌助手给出的命令被解码,然后使用IFTTT Webhooks发送到Blynk。然后微控制器访问Blynk应用程序中的数据。这里使用的微控制器是ESP-01,因为它体积小,具有Wi-Fi功能。

随着谷歌助理、亚马逊Alexa和苹果Siri等虚拟助手的发展,家庭自动化和语音控制应用变得相当流行。我们以前建立了许多家庭自动化项目,从简单的Alexa控制的家庭自动化到语音控制的家庭自动化使用树莓派。在这个项目中,我们将使用谷歌助手和Blynk应用程序来控制Neopixel LED条。Blynk应用程序是一个免费的物联网平台,链接到IFTTT(如果这样,那么那个)网站,该网站用于创建if-else条件语句,或者换句话说,applet。谷歌助手的语音命令已经通过IFTTT小程序添加。通过谷歌助手给出的命令被解码,然后使用IFTTT Webhooks发送到Blynk。然后微控制器访问Blynk应用程序中的数据。这里使用的微控制器是ESP-01,因为它体积小,具有Wi-Fi功能。

使用NodeMCU控制新像素所需的组件

ESP8266-01

•新像素LED带

•LM1117稳压器

•直流电源插孔(母)

•2x10µf电容器

用Arduino Uno编程ESP8266-01

而不是使用FTDI板,在这里我使用Arduino Uno来编程ESP8266-01。使用Arduino编程ESP8266-01的电路图如下:

将ESP-01的VCC和GND连接到3.3V, Arduino的GND, CH_PD连接到3.3V, GPIO_0连接到Arduino的GND。将ESP-01的RX和TX分别连接到Arduino Uno的RX和TX。GPIO_0接地,使能ESP8266的编程模式。按图完成电路后,将Arduino的Reset引脚连接到GND上,绕过Arduino。它将禁用Arduino并将代码直接上传到ESP8266板。连接ESP-01的RST引脚到地,半秒后取下RST(蓝色LED闪烁几毫秒)。

现在,启动Arduino Uno并打开Arduino IDE。在“Board type”中选择“Generic ESP8266 Module”,上传代码。

Neopixel与ESP8266接口的电路图

上传代码后,拆除Arduino Uno,按照图将Neopixel LED带与ESP-01连接。

ESP-01的VCC和CH_PD引脚接LM1117的输出引脚,GND引脚接5V电源的-ve导轨。Neopixel LED的数据引脚连接到ESP-01的GPIO2引脚上。这个完整的设置将由一个5V适配器供电。LM117稳压器用于调节ESP8266-01板的3.3V电压。

焊接完穿孔板上的所有组件后,它看起来像下面这样:

设置Blynk应用程序

Blynk是一个可以在Android和iOS设备上运行的应用程序,可以控制任何物联网设备。通过使用Blynk应用程序,用户可以创建自己的图形用户界面来设计物联网应用程序GUI。我们以前在许多其他基于物联网的项目中使用过Blynk。

在安装之前,从Google Play商店下载Blynk应用程序(iOS用户可以从Apple store下载),如果你没有帐户,请注册。

创建新项目:

安装成功后,打开应用程序,点击“新建项目”。在下一个屏幕上设置项目名称、板类型和连接类型等参数。本项目选择设备为“ESP8266”,连接类型为Wi-Fi,点击“创建”。

创建GUI:

在Blynk中打开项目,单击“+”符号,它将显示许多小部件。在我们的例子中,我们需要一个RGB颜色选择器,它被列为“zeRGBa”和一个按钮,将用于改变LED条的操作模式。

在Widgets中设置参数:

添加完所有小部件后,现在设置用于向ESP-01发送控件值的颜色和模式的小部件参数。

点击ZeRGBa,我们将看到一个名为ZeRGBa Settings的屏幕。将输出选项设置为“合并”,并将引脚设置为“V2”,如下图所示。同样,在按钮设置中,将输出引脚设置为“V3”,如下图所示。

获取认证令牌:

创建新项目后,Blynk会将该项目的认证令牌发送给您。您还可以从项目页面获取Blynk认证令牌。只需单击坚果图标并使用复制所有选项复制验证令牌并将其粘贴到安全的地方。我们在编程ESP-01时需要它。

使用Google Assistant和Blynk设置IFTTT

IFTTT又名“If This, Then That”,是一个基于网络的服务,用于创建简单条件语句链,称为applet。它使用户能够创建触发器并基于触发器执行操作。在这个项目中,当我们使用Google Assistant说出特定的一行时,我们将使用IFTTT来创建一个触发器。为此,我们必须创建一个applet,其中我们将使用Webhooks将谷歌助手与Blynk应用程序集成在一起。

首先,在IFTTT上创建一个帐户。要做到这一点,请浏览IFTTT网站并点击注册。然后填写您的详细信息并点击创建帐户。现在,当你登录你的账户时,点击你的个人资料,然后点击“创建”。

注意:登录到IFTTT使用相同的电子邮件ID在您的Android手机的谷歌帐户。例如,如果您的手机使用xyz@gmail.com电子邮件ID登录,那么使用相同的电子邮件ID登录IFTTT。

现在使用If ' This ' Then ' That创建一个小程序。这里的“This”是服务名,我们将通过它提供输入,而“That”将根据输入生成触发器。所以在这个项目中,我们将谷歌Assistant作为“this”,Webhooks作为“That”。所以要创建一个小程序,点击“This”图标并搜索“谷歌助手”。在这里,IFTTT将请求允许使用你的谷歌账户。

现在在谷歌助手中,点击“说一个带有文本成分的简单短语”。

现在在下一个窗口中,它会询问你想对你的谷歌助手说什么短语,以及你想听到什么作为对该短语的回应。你也可以添加一些可选的短语。现在点击“创建触发器”。

现在,这个applet的一部分已经完成。对于第二部分,点击“That”。

在搜索窗口中,搜索“webhooks”,然后在下一个窗口中点击“Make a web request”。

在下一个窗口中,输入URL。API的语法如下:

式中:188.166.206.43为Blynk在印度的IP地址,He3ot0ZXrYQcROYlwOIuVu-F为Auth令牌,V1为虚拟pin1。

3D打印ESP-01外壳

我测量了使用规模的设置的尺寸,也测量了桶千斤顶的尺寸,为我的设置设计一个套管。完成后,我的设计看起来是这样的。

完成设计后,我将其导出为STL文件,并根据打印机设置进行切片,最后进行打印。STL文件也可以从Thingiverse下载,你可以使用它打印你的大小写。打印完成后,我继续将项目组装在一个永久的外壳中,并将其安装在一个设施中。与完整的连接,我组装电路到我的外壳,一切都是一个很好的适合,你可以看到在这里。

控制新像素的ESP-01编程

使用谷歌助手控制新像素的完整代码可以在本页底部找到。对这个问题的解释如下。在这个项目中,我们将使用Adafruit_NeoPixel.h和BlynkSimpleEsp8266.h库。这些库可以直接从Arduino IDE下载。为此,转到Sketch > Include Library > Manage Libraries。在搜索框中搜索“Adafruit Neo”下载并安装Blynk ESP8266库。

请按照与ESP8266相同的步骤安装Blynk库。

安装库之后,开始编写代码,包括所有必需的库文件并定义输入和输出引脚

在接下来的几行中,输入Blynk和Wi-Fi凭据,如认证令牌,以及ESP-01应该连接的Wi-Fi的Wi-Fi名称和密码。blink验证令牌可以从Blynk应用程序获得。

之后,声明NeoPixel strip对象,其中参数1是NeoPixel strip中的像素数,参数2是连接LED strip的ESP-01引脚。

BLYNK_WRITE()函数用于检查V1, V2和V3虚拟引脚的传入数据。虚拟pin V1用于接收来自webhooks URL的Google Assistant数据,而V2和V3 pin用于更改来自Blynk应用程序的Neopixel颜色和模式。

在loop()函数内部,Blynk.run()检查来自Blynk GUI的传入命令。然后将输入的字符串保存到一个变量中,并使用if条件执行相应的操作。

控制新像素与Blynk和谷歌助理

一旦你的代码和硬件准备好了,使用Arduino Uno在ESP-01上上传代码。之后,连接Neopixel LED并对你的谷歌助手说“ok Google,打开彩虹模式”或“打开影院模式”。谷歌助手将识别该短语并响应“ok开启”,Neopixel将根据命令照亮。您还可以使用Blynk来控制新像素的颜色。

这就是如何用谷歌助手控制ESP8266。

本文编译自iotdesignpro

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

2025年9月8日 – 提供超丰富半导体和电子元器件™的业界知名新品引入 (NPI) 代理商贸泽电子 (Mouser Electronics) 是电源系统与物联网 (IoT) 领域知名半导体供应商英飞凌的全球授权代理商,...

关键字: 电源系统 物联网 半导体

11万+人次!5000+海外买家! 展会落幕,感恩同行!明年8月深圳再见! 深圳2025年9月1日 /美通社/ -- 据物联网世界报道。 在AIoT(人工智能+物联网)技术加速渗透、全球数字化转型深化,以...

关键字: IoT 物联网 TE IC

【2025年8月29日,中国上海讯】近日,第二十届全国大学生智能汽车竞赛(以下简称“智能车大赛”)总决赛在杭州举办并圆满结束。作为大赛主协办单位,英飞凌科技从技术支持与人才培养上全方位支持赛事,践行产学研合作,助力行业人...

关键字: 微控制器 LED驱动芯片 人机交互

LoRa联盟® 强化本地基础建设和市场布局,以支持并扩大会员规模;将在深圳物联网博览会(IOTE Expo Shenzhen)上举办LoRaWAN® 专题论坛

关键字: 物联网 机器人 环境传感器

中国 上海,2025年8月28日——全球领先的智能传感和发射器解决方案供应商艾迈斯欧司朗(SIX:AMS)今日宣布,其全新UV-C LED在辐射灭菌领域取得重大技术突破,并获得评估认可。

关键字: LED 发射器 光电半导体

深圳2025年8月27日 /美通社/ -- 2025 年 8 月 27 日至29日,IOTE 2025 第二十四届国际物联网展・深圳站于深圳国际会展中心隆重举行。连接与传感领域的全球性技术企业 TE Conne...

关键字: TE CONNECTIVITY IoT 物联网

在工业物联网(IIoT)与边缘计算快速发展的背景下,Modbus协议凭借其轻量化特性成为微控制器(MCU)设备互联的首选方案。然而,在资源受限的MCU(如STM32F0系列、ESP8266等,RAM通常小于32KB,Fl...

关键字: 微控制器 Modbus 工业物联网

在工业物联网设备开发中,Modbus从站功能已成为微控制器(MCU)的标配能力。某智能电表项目通过在STM32上实现Modbus RTU从站,成功将设备接入现有SCADA系统,开发周期缩短40%。本文将系统解析MCU实现...

关键字: 微控制器 Modbus 协议栈优化

在物联网设备数量突破千亿级的今天,开发者对核心芯片的诉求已从单一功能转向“全栈集成+生态协同”。乐鑫科技推出的ESP32凭借其独特的“双核架构+无线双模+开源生态”组合,成为智能家居、工业监控、可穿戴设备等领域的首选方案...

关键字: ESP32 物联网
关闭