×

使用ESP32 NodeMCU网络和Blynk App 2022的物联网项目

消耗积分:0 | 格式:zip | 大小:2.77 MB | 2023-06-26

刘涛

分享资料个

描述

在这个 IoT 项目中,我展示了如何使用MultipleESP32 NodeMCU ESP8266 网络实现基于 IoT 的智能家居自动化,以通过开关和 Blynk IoT App 控制所有家用电器。如果互联网不可用,那么您可以通过手动开关控制家电。在这篇文章中,我展示了制作这个智能家居系统的所有步骤。

 
 
 
poYBAGPjdL2ATed-AAMowD20Afc767.png
 
1 / 2
 

这个完整的家庭自动化系统具有以下特点:

  • 使用同一个 Blynk 帐户(免费计划)连接多个ESP32NodeMCU
  • 使用WiFi(Blynk App)控制家电
  • 用手动开关控制家电
  • 在 Blynk 应用程序中监控实时反馈。
  • 无需互联网即可手动控制家电
  • 您可以根据需要在此物联网网络中连接任意数量的微控制器。
poYBAGPjdMSAeXxcAAI98MuihXM564.png
 

对于每个房间,您只需要一个继电器模块和一个微控制器,如 ESP32 或 NodeMCU 来制作这个智能家居项目。

 

因此,如果您按照所有步骤操作,只需使用 ESP32 或 NodeMCU 和中继模块即可轻松制作此物联网项目。或者您也可以为此项目使用定制设计的 PCB。

虽然 PCB 不是强制性的,但我使用 PCB 使电路紧凑并使项目具有专业外观。

ESP32 控制 4 继电器 PCB 所需的组件

pYYBAGPi9-2ANn-8AAKKZUda2Ac968.jpg
 
  • ESP32 开发套件 V1
  • 继电器 5v (SPDT)(4 个)
  • BC547 三极管(4颗)
  • PC817 光耦合器(4 个)
  • 510 欧姆 0.25 瓦电阻器(4 个)(R1 - R4)
  • 1k 0.25 瓦电阻器(6 个)(R5 - R10)
  • 10k 0.25 瓦电阻器(1 个)(R11)
  • LED 5-mm(6 个)1N4007 二极管(4 个)(D1 - D4)
  • 按钮(4 个)
  • 终端连接器
  • 跳线(2个)

NodeMCU 控制 4 个继电器 PCB 所需的组件

poYBAGPjgiKAOZDxAAIQcL_J4Ag017.png
 
  • NodeMCU ESP8266
  • 继电器 5v (SPDT)(4 个)
  • BC547 三极管(4颗)
  • PC817 光耦合器(4 个)
  • 510 欧姆 0.25 瓦电阻器(4 个)(R1 - R4)
  • 1k 0.25 瓦电阻器(5 个)(R5 - R9)
  • LED 5 毫米(5 个)
  • 1N4007 二极管(5 个)(D1 - D5)
  • 按钮(4 个)
  • 终端连接器
  • 跳线(2个)

多个 ESP32 NodeMCU ESP8266 网络

poYBAGPjgiuAZyZpAAPHZWPhHdw714.jpg
 

现在,如果您有多个房间,那么您可以为每个房间使用 ESP32 或 NodeMCU,然后为每个房间重复相同的电路。

如果您使用ESP32 ,那么您可以使用4 通道或 8 通道继电器模块,但对于NodeMCU ,您必须使用4 通道继电器模块。

可以连接的ESP32 或 NodeMCU的数量没有限制。所有微控制器都将使用相同的身份验证令牌连接到 Blynk 服务器。

因此我们可以独立于 Blynk IoT App 控制每个 NodeMCU 或 ESP32。

ESP32 控制继电器的电路图

poYBAGPjgjKATBKIAALvbOf5WPI148.png
 

电路非常简单,我使用GPIO引脚D23、D22、D21D19来控制4个继电器。

GPIO 引脚D13、D12、D14D27与开关连接以手动控制 4 个继电器。

我在 Arduino IDE 中使用了INPUT_PULLUP函数,而不是使用上拉电阻。

我使用了 5V 移动充电器为智能继电器模块供电。

如果您使用瞬时按钮,则只需将按钮连接到 GPIO 引脚和 GND 而不是开关。

在高压下工作时,请采取适当的安全预防措施。

NodeMCU 控制继电器的电路图

poYBAGPjgj2AdutJAAM1WOucZy4379.png
 

对于 NodeMCU,我使用 GPIO 引脚D1、D2、D5D6来控制 4 个继电器。GPIO 引脚SD3、D3、D7RX与按钮相连,以手动控制 4 个继电器。

我在 Arduino IDE 中使用了INPUT_PULLUP函数,而不是使用上拉电阻。

我使用了 5V 移动充电器为智能继电器模块供电。

在 NodeMCU 的启动过程中,D3 引脚不应与 GND 相连。

如果您使用锁存开关,则只需将开关连接到 GPIO 引脚和 GND,而不是按钮。

在 Blynk Cloud 中为 ESP32 创建新模板

对于这个智能家居项目,我使用了 Blynk IoT Cloud Free 计划。单击以下链接创建 Blynk Cloud 帐户。

https://blynk.cloud/dashboard/register

在 Blynk IoT 中创建新模板的步骤

  • 单击新建模板。
pYYBAGPjgj-AQdAIAAEGu1NL7Bo708.png
 
  • 输入模板名称,硬件选择ESP8266,连接类型选择WiFi。
  • 然后点击完成。
poYBAGPjgkKAE2UWAAGCFPgR9-A181.png
 

创建寺庙后,您将获得BLYNK_TEMPLATE_IDBLYNK_DEVICE_NAME

**尽管我选择了 ESP32 来创建模板,但您也可以将此模板用于 ESP8266,因为我将为数据流使用虚拟引脚。

在 Blynk Cloud 中创建数据流

之后,您必须创建数据流。这里我会控制8个继电器,所以我创建了8个Datastreams来控制8个继电器。

您必须根据要控制的中继数量创建数据流。

创建数据流的步骤:

  • 转到数据流选项卡。
  • 单击新建数据流并选择虚拟引脚。
pYYBAGPjgkSAcjBCAAEPn02No9Q434.png
 
  • 输入名称,选择虚拟引脚 V1 ,数据类型为 Integer。最小值为“0”,最大值为“1”。
  • 然后点击创建
  • 对于反馈,使用虚拟引脚V5创建最后一个 Datastram ,数据类型将为字符串。
  • 然后点击创建
poYBAGPjgkeAPLHFAAE3S3wk6kA335.png
 
  • 以类似的方式,使用虚拟引脚V2、V3、V4、V5、V6、V7 和 V8创建下一个数据流

设置 Blynk Cloud Web 仪表板

pYYBAGPjgkqAOw6ZAAEKorUyUuQ892.png
 

配置 Web 仪表板以从 Blynk 云仪表板控制 8 个继电器的步骤

  • 转到Web 仪表板选项卡。
  • 根据继电器的数量拖放开关小部件。
  • 转到每个小部件的设置,然后选择一个 Datastream
  • 单击保存
pYYBAGPjgk6APLBwAAFdeUmVx3E691.png
 

然后再次单击“保存”以保存模板。

在 Blynk IoT 中使用模板添加设备

在 Blynk 物联网云中添加设备的步骤:

pYYBAGPjglCAJfq6AAA-vxmOJ58369.png
 
  • 首先,转到设备,然后单击“新设备”。
poYBAGPjglKAYLaMAABPBpcOp-E954.png
 
  • 单击“来自模板”。
pYYBAGPjglWASCGAAAEGYFHpWJA332.png
 
  • 选择模板,并给出设备名称
  • 单击创建
pYYBAGPjgliAUTu-AAGOg_-eEVM651.png
 

然后在设备信息选项卡中,您将获得 Blynk 身份验证令牌、模板 ID 和设备名称。代码中将需要所有这些详细信息。

用于此物联网项目的 PCB

pYYBAGPjgl-AJYS5AAFgU0TkJkw472.png
 

为了使电路紧凑并具有专业的外观,我为 ESP32 和 NodeMCU 控制继电器电路设计了 PCB。

您可以从以下链接下载此 Lora 项目的 PCB Gerber 文件:

用于下载 PCB Gerber 文件的 GitHub 链接

从 JLCPCB 订购 PCB

下载 Garber 文件后,您可以轻松订购 PCB。

poYBAGPjJdWAHaoQAAB6dJXt7wQ021.jpg
 

1. 访问https://jlcpcb.com并登录/注册。

poYBAGPjgmOACXxUAABp-wx4mws927.jpg
 

2. 单击立即报价按钮。

pYYBAGPjgmWAUoasAABmwzb9SCA668.jpg
 

3. 单击“添加您的 Gerber 文件”按钮。然后浏览并选择您下载的 Gerber 文件。

上传光绘文件并设置参数

pYYBAGPjgmeAYGW_AACfndTCK6Q317.png
 

4. 设置所需参数,如数量PCB 遮蔽颜色等。

pYYBAGPjgmmAQo8bAACUUXB4aXU720.jpg
 

5. 选择 PCB 的所有参数后,单击“保存到购物车”按钮。

选择送货地址和付款方式

poYBAGPjgm6AKNRPAABYOpg4hV0129.jpg
 

6. 键入送货地址。

7. 选择适合您的运输方式。

8. 提交订单并进行付款。

您还可以从JLCPCB跟踪您的订单

pYYBAGPjgnSAdjwIAADXxRdeOos401.png
 

我的 PCB 需要 2 天时间才能制造出来,并使用 DHL 交付选项在一周内送达。

PCB 包装完好,质量非常好,价格实惠。

焊接PCB上的所有组件

pYYBAGPjgniAGB9zAAGlQHieL8k791.png
 

之后,我按照电路图焊接了所有组件。

在上传代码之前,您必须在 Arduino IDE 中安装以下板

  • ESP8266开发板
  • ESP32开发板

然后安装以下库

  • 布林克图书馆
  • AceButton 库

我已经在代码中提到了所有的下载链接。

poYBAGPjgn6AL5Q_AAM4NdBIf38547.png
 

在代码中,输入Blynk Auth Token、模板 ID 和设备名称

#define BLYNK_TEMPLATE_ID ""#define BLYNK_DEVICE_NAME ""#define BLYNK_AUTH_TOKEN ""

然后输入WiFi 名称和密码。

char ssid[] = "";char pass[] = "";

poYBAGPjgo-APy8zAALf7srMm9M445.png
 

对于每个 NodeMCU 或 ESP32,您必须更改代码中的虚拟引脚对于 ESP32,虚拟引脚将为 V1、V2、V3、V4。对于 NodeMCU,虚拟引脚将为 V5、V6、V7、V8。

要对 NodeMCU 进行编程,请选择“NodeMCU 1.0 ESP-12E”板和适当的端口。然后点击上传按钮。

要对 ESP32 进行编程,请选择“DOIT ESP32 DEVKIT V1”板和正确的端口。然后点击上传按钮。

并且在编程时,请不要同时将两个微控制器连接到笔记本电脑。

设置 Blynk IoT App 移动仪表板

pYYBAGPjgpOAXkM5AAG592nOdcA877.png
 

从 Google Play 商店或 App Store 安装 Blynk IoT 应用程序。

使用 Blynk IoT 控制设备

pYYBAGPjgpaAAq1BAAEh5KBdigs542.png
 

如果 NodeMCU 或 ESP32 与 WiFi 连接,则您可以通过 Blynk IoT App 控制家电。

您还可以使用多部智能手机通过 Blynk IoT App 控制设备。为此,您必须从所有智能手机登录相同的 Blynk 帐户。这样,所有的智能手机都会下沉到 Blynk 服务器。

您可以使用 Blynk IoT App 从世界任何地方控制、监控继电器的实时状态。

在没有 WiFi 的情况下控制继电器

pYYBAGPjgpmAeGjQAAEtsA6UFoc549.png
 

如果 WiFi 不可用,您可以通过开关或按钮控制继电器。

NodeMCU 或 ESP32 将每 2 秒检查一次 WiFi 当 WiFi 可用时,ESP32 或 NodeMCU 会自动连接 WiFi。

我希望你喜欢这个家庭自动化项目。我已经分享了这个项目的所有必需信息。

如果您能分享宝贵的反馈意见,我将不胜感激。另外,如果您有任何疑问,请写在评论部分。

谢谢你,快乐学习。


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

评论(0)
发评论

下载排行榜

全部0条评论

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