这个家庭自动化项目是我们决定开展的一个简单项目,作为开始我们共同开展更大项目的计划的一种方式。该项目的最终目标是能够使用我们的语音来控制电视、电灯、风扇等家用电器。在我们的案例中,我们决定使用 Google 语音助手和 LED 灯泡来演示这个想法。
这个项目如何运作?
为了便于理解,我们把它分成几个部分:
第 1 部分:安装 Blynk 应用程序。
1. 前往 Play 商店并安装 Blynk 应用程序。完成后,创建一个帐户,然后登录。
2. 单击“新建项目”以创建一个新项目,然后根据您的意愿为其命名。创建项目时,选择硬件设备为 NodeMCU,连接类型为 WiFi。
3. 完成此操作后,您将在邮件中收到一个Auth 令牌。此令牌稍后将用于将 Blynk 应用程序与 NodeMCU 链接。
4. 由于我们使用的是四通道继电器,因此必须在空白项目中添加 4 个按钮。这是通过单击空白区域的任意位置并从侧面菜单中选择按钮来完成的。
5. 这些按钮可以命名为“Relay1”、“Relay2”等,以便更好地理解。在名称下方,为 4 个按钮分别选择引脚为数字引脚 D3、D4 等。
5. Blynk 应用程序现在可供我们使用。
第 2 部分:Arduino IDE 和 Blynk 库
1. 根据您的操作系统从
https://www.arduino.cc/en/software安装 Arduino IDE 。
2. 从
https://github.com/blynkkk/blynk-library/releases/下载 Blynk 库,将 Blunk 应用程序与 NodeMCU 连接。解压缩下载的 zip 文件。
3. 打开 Arduino IDE,进入 File > Preferences 并在Settings选项卡下,复制 Sketchbook 的位置路径。
4. 打开文件资源管理器并转到复制的路径位置。这是 Blynk 库的安装位置。新下载的 Blynk 库将被复制到这个文件夹中。
5.从下载的Blynk目录的Libraries文件夹中复制文件/文件夹并将其粘贴到Arduino IDE目录的Libraries文件夹中。同样,Tools文件夹也是如此。
第 3 部分:将代码上传到NodeMCU
1. 使用 USB 数据线将 ModeMCU 连接到 PC。
2. 打开 Arduino IDE 并转到 Tools> Port 并使用适当的端口来匹配连接 NodeMCU 的 USB 端口。
3.接下来,转到工具>开发板并选择' NodeMCU 1.0 (ESP-12E Module) '作为开发板。
4. 要编写代码,请转到文件 > 示例 > Blynk > Boards_WIFI > ESP8266_Standalone。将打开一个带有一些预写代码的新文件。
5. 更改显示“char auth[] = “YourAuthToken””的行,并将其替换为您在电子邮件中收到的 Blynk 的身份验证令牌。
6. 更改显示 'char ssid[] = “YourNetworkName”' 的行,并将其替换为您希望 NodeMCU 连接到的 WIFI 网络的名称。
7. 更改显示'char pass[] = “YourPassword”'的行,并将'YourPassword'部分替换为您的WIFI网络密码。
8. 单击顶部的上传按钮并等待该过程。代码会上传到NodeMCU,下次开机自动连接WiFi网络。
第 4 部分:硬件组装
1.用面包板将节点 MCU 与中继板连接起来。
2. 将NodeMCU 的D3 引脚与Relay 的引脚1 连接。D4 至引脚 2、D5 至引脚 3 和 D6 至引脚 4。
3. 将 Relay 的接地引脚连接到 NodeMCU 的接地。
4. 使用普通的低压手机充电器为 NodeMCU 供电,并使用 Arduino UNO 板为继电器板供电。
5. 由于我们使用了 4 个继电器引脚,因此可以连接四个电子设备,但在我们的例子中,我们只使用了一个 LED 灯泡。
6. 现在这个组装完成了,我们可以使用 Blynk 应用程序用我们的手机打开和关闭我们的电器!
第 5 部分:使用 IFTTT 连接 Google Assistant
我们无法将 Google Assistant 直接连接到 NodeMCU。相反,我们将语音命令的解释发送到 Blynk 应用程序,后者又将其发送到 NodeMCU。为了让 Google Assistant 理解我们发出的语音指令,必须使用 IFTTT。
1. 前往https://ifttt.com/并使用您的 Google 帐户注册。
2. 登录后,单击标题中的My Applets并选择New Applet 。
3. 单击“此”并搜索 Google Assistant。选择它,然后单击以连接。
4. 此时,IFTTT 会询问您是否允许使用您的 google 帐户向其添加语音命令。点击“允许”。
5. 选择写着“说一个简单的短语”的卡片。输入您希望 Google 助理理解为命令的短语。在我们的例子中,这可能是“打开灯泡”、“打开继电器 1”等。
6. 在第四个文本框中输入 Google 助理应回复的回复。然后单击“创建触发器”。
7. 接下来,单击“那个”并输入 webhooks。在 URL 字段中键入此 URL:
http://188.166.206.43/YourAuthTokenHere/更新/DigitalPinToBeUpdateHere
用 从 Blynk 应用程序收到的邮件中收到的身份验证令牌替换“ YourAuthTokenHere” 。将“DigitalPinToBeUpdateHere”部分替换为要更新的 NodeMCU 的数字引脚。
因此,当我们将 NodeMCU 的数字引脚 D3 分配给中继时,我们必须编写 D3 来代替“DigitalPinToBeUpdateHere”。但是等等我们不能在那里写 D3,因为当 Blynk 服务器从 IFTTT 收到这个命令时,它假设它收到的命令是要发送到“Arduino Uno”板,但在我们的例子中,我们将它发送到 NodeMCU.hen Blynk 服务器从 IFTTT 接收此命令,它假设它接收到的命令将发送到“Arduino Uno”板,但在我们的例子中,我们将它发送到 NodeMCU。所以我们改用 D0。
8. 接下来,选择“方法”字段作为 PUT 并选择“内容类型”作为应用程序/JSON。对于“身体”类型:[“0”]
这里的“0”表示打开,所以我们基本上是说 Blynk 打开连接到引脚 D3 的继电器,在我们的例子中是继电器 1。现在单击“创建操作”,然后单击“完成”。
9. 同样,我们创建另一个小程序来关闭继电器。
完成所有这些步骤后,我们注册的语音命令可用于打开和关闭连接到 NodeMCU 的电气/电子设备。
这就是我们的项目结果!
更多详情资料可前往基于 ESP8266 的家庭自动化(示意图+代码) - 电路城
此方案版权归电路城用户所有,如作者不愿发布在头条可私信或前往电路城联系相关人员删除。