×

Arduino IoT Cloud ESP32 Alexa Control智能家居

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

goodmbby

分享资料个

描述

在这个物联网项目中,我展示了如何使用 ESP32 使用 Arduino 物联网云和 Alexa 制作基于物联网的家庭自动化,以通过语音命令控制 4 台家用电器。

 
 
 
pYYBAGPi96qAdbuDAAPw5WCIB60513.png
 
1 / 3
 

如果互联网不可用,那么您可以使用开关和红外遥控器手动控制家电。在这篇文章中,我展示了制作这个智能家居系统的所有步骤。

 

这种基于物联网的家庭自动化系统具有以下特点:

  • 使用AlexaArduino 物联网云仪表板控制设备。
  • 用红外遥控器控制继电器
  • 用开关手动控制电器
  • 无需互联网即可手动控制家电
  • 在 Amazon Alexa 应用程序中监控实时反馈室温。
  • 用于该项目的所有资源都是免费的

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

所需组件:

poYBAGPi98qAJmmOAAU4itM7NRI896.png
 

1. ESP32开发套件V1

2. 4通道单刀双掷5V继电器模块

3. 按钮

4. DHT11传感器

5. 1838红外线接收器

4. Alexa Echo Dot(可选)

如果您为此项目使用定制设计的 PCB,请参考以下所需的组件列表。

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 毫米(6 个)
  • 1N4007 二极管(4 个)(D1 - D4)
  • 按钮(4 个)
  • 终端连接器
  • 5V直流电源

所需软件:

1. Arduino物联网云

2. 亚马逊 Alexa 应用程序。

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

poYBAGPi-AKACA_uAANkq4AICAk938.jpg
 

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

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

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

红外遥控接收器(TSOP1838)与D35相连。DHT11 传感器与RX2相连

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

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

使用 ESP32 的 Alexa 控制继电器

 
 
 
poYBAGPi-CeAW2EnAAR12VxeX-o825.png
 
1 / 3
 

如果 ESP32 连接 Wi-Fi,您可以通过Amazon Alexa App控制家电,还可以监控室温。

您还可以要求 Alexa 从世界任何地方打开和关闭设备。

对于这个家庭自动化项目,您不需要任何 Echo DOT或其他 Alexa 设备。

ESP32 控制继电器与 Arduino 物联网云仪表板

poYBAGPi-CuAHl9AAAESaeVvqM8871.png
 

如果 ESP32 与 WiFi 连接,您还可以通过Arduino IoT Cloud 网络仪表板Arduino IoT Cloud Remote 移动应用程序监控室温并控制家用电器。

在这个项目中,我使用了Arduino IoT Cloud 的免费计划在免费计划中,您最多可以控制 5 个继电器或传感器。

当您从 Arduino IoT Cloud Remote 移动应用程序控制继电器时,继电器的当前状态也会在 Amazon Alexa 应用程序中更新。

使用 ESP32 的红外遥控继电器

poYBAGPi-DSANW8OAAFWsc0JMko113.png
 

您始终可以从任何红外遥控器控制继电器。

我将在以下步骤中解释如何从任何遥控器获取红外代码(十六进制代码)。

如果 ESP32 连接了 Wi-Fi,那么您还可以在Amazon Alexa AppArduino 云仪表板中监控实时反馈。

通过按钮手动控制继电器

pYYBAGPi-DuAJKP-AAFwrqTvTdY780.png
 

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

当 WiFi 可用时,ESP32 会自动重新连接 WiFi。

请参考电路图连接按钮。

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

pYYBAGPi_QmAdFvkAAC10Hdin1c251.jpg
 

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

您可以从以下链接下载此家庭自动化项目的 PCB Gerber 文件:

下载 PCB Gerber 文件

从 JLCPCB 订购 PCB

poYBAGPi_QyAcGm8AAByYYRQzGw063.jpg
 

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

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

2. 单击立即报价按钮。

pYYBAGPi_ROAaSicAABnAcnES1Y523.jpg
 

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

上传光绘文件并设置参数

poYBAGPi_R6APRwWAAKOeVMu6Jo146.png
 

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

poYBAGPi_SSAFikiAABzIz2lS8o054.jpg
 

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

选择送货地址和付款方式

poYBAGNy3L6AcBTnAABYQoBw3yo879.jpg
 

6. 键入送货地址。

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

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

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

pYYBAGPi_VWAV6vIAADwH3OuwV0829.jpg
 

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

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

焊接PCB上的所有组件

poYBAGPi_V2AO0EYAAD-sncqCtI220.jpg
 

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

然后将 ESP32、DHT11、1838 IR 接收器连接到 PCB。

创建 Arduino 物联网云免费帐户

pYYBAGPi_WGACcdkAAB40raLDp4033.png
 

对于这个智能家居项目,我使用了 Arduino Cloud Free 计划。

单击以下链接创建一个Arduino IoT Cloud帐户。

https://store.arduino.cc/digital/create

  • 单击“创建一个”。
poYBAGPi_WSANpmDAABrFEr_Z5g151.png
 
  • 输入您的生日,然后单击“下一步”。
poYBAGPi_WeAbVu5AAB6sgHTsRY463.png
 
  • 输入电子邮件 ID、用户名、设置密码。然后点击“注册”。
poYBAGPi_WmAdQYjAAB3S5Vtbdk545.png
 
  • 现在点击“物联网云”。

在 Arduino 物联网云中添加 ESP32 设备

pYYBAGPi_W6ASNLPAAFR-bV9h7A354.png
 
  • 单击右侧的选择设备。
pYYBAGPi_XSAE_YLAAFhws8OKYc895.png
 
  • 选择“ Set up a third Party device ”,然后选择设备类型为ESP32 ,设备型号为DOIT ESP32 DEVKIT V1。
pYYBAGPi_YaAe9h6AAGm-WzP2B0359.png
 
  • 您将获得代码中需要的设备 ID密钥
  • 点击“继续”,您会发现设备已添加。
pYYBAGPi_ZeAd_QQAAFpfIeHQCI196.png
 

在 Arduino IoT Cloud 中添加变量

poYBAGPi_Z-AV2k8AAGIC8C3hoo075.png
 

现在要控制 4 个继电器并从 DHT11 传感器读取数据,您必须添加 5 个变量。

单击“添加变量”按钮。

poYBAGPi_auAD-bDAAFszK2npAU964.png
 

输入名称,然后选择Alexa 兼容开关类型。变量权限将是“读写”,变量更新策略将是“更改时”。

以类似的方式,您必须添加接下来的 3 个变量。

pYYBAGPi_a-ABEGSAAF5buhMbvU681.png
 

对于室温,读数选择Alexa compatible Temperature Sensor 变量更新策略将是“定期”,并提及间隔时间。

pYYBAGPi_b-AQIeYAAGYPYDOCJs141.png
 

设置 Arduino 物联网云仪表板

 
 
 
poYBAGPi_cOAESsZAAElW_mD-Dg310.png
 
1 / 4
 

现在单击顶部的仪表板以设置 Arduino 云仪表板。

然后单击构建仪表板之后单击“编辑”图标。

然后点击ADD并选择Switch

为这个 Switch 命名,然后将一个变量链接到这个 switch 小部件。

然后点击完成

以类似的方式,您必须添加总共 4 个开关小部件来控制 4 个继电器。

对于温度,选择Gauge widgets 并链接 Temperature 变量。您还可以设置MINMAX 限制。

从远程获取 IR 代码(十六进制代码)

poYBAGPi_cuAb7tlAALzxU3JQvk159.png
 

现在,要从遥控器获取十六进制代码,首先,我们必须将红外接收器输出引脚连接到 GPIO D35。

并在 VCC 和 GND 之间提供 5V。IR 接收器必须有金属外壳,否则,您可能会遇到问题。然后按照以下步骤获取十六进制代码。

下载 Sketch 获取 HEX 代码

  • 在 Arduino IDE 中安装IRremote库。
  • 下载附件代码,上传到ESP32。
  • 打开波特率 9600的串行监视器
  • 现在,按下红外遥控按钮。
  • 相应的十六进制代码将填充在串行监视器中。

将所有十六进制代码保存在文本文件中。

使用 Arduino IDE 对 ESP32 进行编程

pYYBAGPi_d-AO7RAAAIJO9hApd8440.png
 

为了对 ESP32 进行编程,我使用了 Arduino IDE。

下载此项目的代码。

首先,您必须安装ArduinoIoTCloud 库在安装过程中,它可能会要求安装其他依赖项。然后点击全部安装。

 
 
 
pYYBAGPi_eSAVAY0AAGMuxumuuE058.png
 
1 / 2
 

在代码中,输入以下详细信息。完成所有这些更改后,您可以将代码上传到 ESP32。

为 Arduino 物联网云配置 Alexa 应用程序

poYBAGPi_eyAbfKhAAC_JyqiihM336.jpg
 

从 Google Play 商店或 App Store下载并安装Amazon Alexa App 。

  • 点击“更多”。
  • 然后选择“技能和游戏”。
  • 搜索 Arduino 并点击“ Arduino ”。
  • 点击“启用使用”。

将 Arduino 云设备与 Alexa 连接

pYYBAGPi_fOARo2NAACRMdcYX2o273.jpg
 

使用 Arduino Cloud 凭据登录。

  • 点击关闭
  • 点击“发现设备”。添加设备需要一分钟时间。在此期间,NodeMCU 应与 WiFi 连接。
  • 点击“设备”,然后点击“开关”以查看所有设备。

因此,所有来自 Arduino IoT Cloud 的设备都将添加到 Amazon Alexa App。

Arduino 物联网云远程应用程序设置

poYBAGPi_fmAZoyFAACboSneHN8714.jpg
 

您还可以通过 Arduino IoT Cloud Remote App 控制设备。

  • 从 Google Play 商店或 App Store下载并安装Arduino IoT Cloud Remote App。
  • 点击登录
  • 然后登录Arduino IoT Cloud账号
  • 点击您创建的THING以打开仪表板

现在,您还可以通过这个 Arduino IoT Cloud Remote App 控制继电器。

连接家电

pYYBAGPi_hSAMC4UAATNNuyjPjk122.png
 

按照电路图用继电器模块连接4台家电。

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

将 5 伏直流电源连接到 PCB。(我用过我的旧手机充电器 5V 2Amp)打开 110V/230V 电源和 5V 直流电源。

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

poYBAGPi_hqAFFZkAAHUecOQmeM286.png
 

现在您可以智能地控制您的家电。

我希望您喜欢这个 Arduino IoT 和 Alexa 控制家庭自动化项目。我已经分享了这个项目的所有必需信息。

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

谢谢你,快乐学习。


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

评论(0)
发评论

下载排行榜

全部0条评论

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