×

制作一个MQTT ESP8266家庭自动化项目

消耗积分:0 | 格式:zip | 大小:1.31 MB | 2022-11-09

刘娟

分享资料个

描述

在这个物联网项目中,我展示了如何制作一个MQTT ESP8266家庭自动化项目,以通过手动开关和智能手机控制 4 通道继电器模块。

pYYBAGNoe5KALX7iAAQou_CrQz8989.png
 

在本文中,我展示了制作这个家庭自动化系统的所有步骤。

 

NodeMCU ESP8266控制智能继电器具有以下特点:

1.通过互联网控制家电。

2.用按钮手动控制家用电器。

3. 监控智能手机上的实时反馈

因此,只需使用 NodeMCU 和继电器模块,您就可以在家中轻松制作这个家庭自动化项目。或者,您也可以为此项目使用定制设计的 PCB。

所需组件:

poYBAGNoe5SATNY0AAFB6ePWaNE019.png
 
  • NodeMCU板
  • 4通道SPDT 5V继电器模块
  • 按按钮

您只需使用 NodeMCU 和 4 通道继电器模块即可制作此项目。但是,如果您使用 PCB,则需要以下组件。

PCB所需的组件

pYYBAGNoe5iAXfLiAAB0kpYCrxk957.png
 

1. 继电器 5v (SPDT) (4 no)

2. BC547晶体管(4个)

3. PC817 Optocuplors (4 no)

4. 510-ohm 0.25-watt 电阻器 (4 no) (R1 - R4)

5. 1k 0.25 瓦电阻器(5 无)(R5 - R9)

6. LED 5-mm(5 无)

7. 1N4007 二极管(5 无)(D1 - D5)

8. 按钮(4 个)

9. 终端连接器

10. 5V直流电源

所需软件:

1. Arduino IDE

2. 物联网开关应用

NodeMCU家庭自动化项目的电路图

poYBAGNoe5qAI3yyAADXyLDOyHk245.png
 

这是这个家庭自动化项目的完整电路图。我已经在教程视频中解释了电路。

电路非常简单,我使用 GPIO 引脚D1、D2、D5 和 D6来控制 4 个继电器。

GPIO 引脚SD3、D3、D7 和 RX与按钮相连,可手动控制 4 个继电器。

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

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

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

使用 Reyax 和 IoT ON OFF 应用程序的 MQTT 控制继电器

pYYBAGNoe56AOhXAAAPWZRwgNIA271.png
 

如果 NodeMCU 与 WiFi 连接,那么您可以从“IoT OnOff”应用程序或任何其他 MQTT 客户端控制家电。

在这里,我使用Reyax RYC1001作为 MQTT 代理和“ IoT OnOff ”应用程序作为 MQTT 客户端,但您可以使用任何其他应用程序。

您还可以使用多个智能手机来控制设备。为此,您必须连接相同的 MQTT 代理。这样,所有智能手机都将充当 MQTT 客户端。

您可以在世界任何地方控制、监控继电器的实时状态。

用开关手动控制继电器

poYBAGNoe6GADI6vAAMRdlvldWE087.png
 

您还可以通过按钮控制继电器。

您可以在手机上监控实时反馈。

请参考电路图连接按钮

为这个智能家居系统设计 PCB

pYYBAGNoe6WAFXCqAAE5SxMU-hE992.jpg
 

为了使电路紧凑并具有专业的外观,我在测试了智能继电器模块的所有功能后设计了 PCB。

焊接PCB上的所有组件

pYYBAGNoe66AC2w7AAEqZGfOms8529.jpg
 

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

然后将 NodeMCU 板与 PCB 连接起来。

什么是 MQTT?它是如何工作的?

poYBAGNoe7GACIYKAAJgyt9wd-s636.png
 

MQTT 专为高延迟、低带宽、不可靠的网络而设计,它是一种构建在 TCP/IP 网络堆栈之上的轻量级发布/订阅消息传递协议。使用 MQTT,您可以将大量传感器消息发送到分析平台或云服务。

在教程视频中,我详细解释了我们如何使用 MQTT 发送和接收数据来控制继电器。

MQTT 代理和 MQTT 客户端

poYBAGNoe7SAQLMWAAGGMXHuRB4678.png
 

在这个项目中,我使用了 Reyax RYC1001 MQTT 代理。

poYBAGNoe7eABir7AAGPa05osaM754.png
 

您可以使用任何其他 MQTT 代理。

pYYBAGNoe7qAa6ZLAAEn8msZ7OU379.png
 

IoT OnOff 应用程序和 NodeMCU 将充当 MQTT 客户端。

poYBAGNoe7yARuK2AAEg3b6HaR0193.png
 

在教程视频中,我解释了如何配置 MQTT 代理以及如何发布和订阅任何主题。

使用 Arduino IDE 编程 ESP8266 NodeMCU

 

poYBAGNoe7-AMnMgAAKrCWFwSBM369.png
 

首先,下载代码并安装代码中提到的 PubSubClient 库和 ESP8266 板。

然后输入 WiFi 凭据 MQTT 详细信息

const char* ssid = "WiFi Name"; //WiFI Name
const char* password = "WiFi Password"; //WiFi Password
const char* mqttServer = "iot.reyax.com";
const char* mqttUserName = "Reyax_UserID"; // MQTT username
const char* mqttPwd = "Reyax_Password"; // MQTT password
const char* clientID = "EspClient00002"; // client id

现在选择NodeMCU 1.0 板和适当的端口。

然后将代码上传到 NodeMCU Board。

打开电源

pYYBAGNoe8OAXNj2AAReOY0qJso878.png
 

打开 110V/230V 电源和 5V 直流电源。

最后!!智能家居系统已准备就绪

poYBAGNoe8WAMBluAAFM7Mpr53s813.jpg
 

现在您可以以智能的方式控制您的家用电器。

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

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

谢谢,学习愉快。


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

评论(0)
发评论

下载排行榜

全部0条评论

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