在这个物联网项目中,我展示了如何使用 ESP32 使用 Arduino 物联网云和 Alexa 制作基于物联网的家庭自动化,以通过语音命令控制 4 台家用电器。
如果互联网不可用,那么您可以使用开关和红外遥控器手动控制家电。在这篇文章中,我展示了制作这个智能家居系统的所有步骤。
这种基于物联网的家庭自动化系统具有以下特点:
因此,您只需使用 ESP32 和继电器模块,就可以在家中轻松完成这个家庭自动化项目。或者您也可以为此项目使用定制设计的 PCB。
1. ESP32开发套件V1
2. 4通道单刀双掷5V继电器模块
3. 按钮
4. DHT11传感器
5. 1838红外线接收器
4. Alexa Echo Dot(可选)
如果您为此项目使用定制设计的 PCB,请参考以下所需的组件列表。
1. Arduino物联网云
2. 亚马逊 Alexa 应用程序。
电路非常简单,我使用GPIO引脚D23、D22、D21和D19来控制4个继电器。
GPIO 引脚D13、D12、D14和D27与开关连接以手动控制 4 个继电器。
我在 Arduino IDE 中使用了INPUT_PULLUP函数,而不是使用上拉电阻。
红外遥控接收器(TSOP1838)与D35相连。DHT11 传感器与RX2相连。
我使用了 5V 移动充电器为智能继电器模块供电。
在高压下工作时,请采取适当的安全预防措施。
如果 ESP32 连接 Wi-Fi,您可以通过Amazon Alexa App控制家电,还可以监控室温。
您还可以要求 Alexa 从世界任何地方打开和关闭设备。
对于这个家庭自动化项目,您不需要任何 Echo DOT或其他 Alexa 设备。
如果 ESP32 与 WiFi 连接,您还可以通过Arduino IoT Cloud 网络仪表板和Arduino IoT Cloud Remote 移动应用程序监控室温并控制家用电器。
在这个项目中,我使用了Arduino IoT Cloud 的免费计划。在免费计划中,您最多可以控制 5 个继电器或传感器。
当您从 Arduino IoT Cloud Remote 移动应用程序控制继电器时,继电器的当前状态也会在 Amazon Alexa 应用程序中更新。
您始终可以从任何红外遥控器控制继电器。
我将在以下步骤中解释如何从任何遥控器获取红外代码(十六进制代码)。
如果 ESP32 连接了 Wi-Fi,那么您还可以在Amazon Alexa App和Arduino 云仪表板中监控实时反馈。
如果 WiFi 不可用,您可以通过按钮控制继电器。
当 WiFi 可用时,ESP32 会自动重新连接 WiFi。
请参考电路图连接按钮。
为了使电路紧凑并具有专业的外观,我在测试了智能继电器模块的所有功能后设计了 PCB。
您可以从以下链接下载此家庭自动化项目的 PCB Gerber 文件:
下载 Garber 文件后,您可以轻松订购 PCB
1. 访问https://jlcpcb.com并登录/注册
2. 单击立即报价按钮。
3. 点击“添加光绘文件”按钮。然后浏览并选择您下载的 Gerber 文件。
4. 设置所需参数,如数量、PCB 遮蔽颜色等。
5. 选择 PCB 的所有参数后,单击“保存到购物车”按钮。
6. 键入送货地址。
7. 选择适合您的运输方式。
8. 提交订单并进行付款。
您还可以从JLCPCB.com跟踪您的订单
我的 PCB 需要 2 天时间才能制造出来,并使用 DHL 交付选项在一周内送达。
PCB 包装完好,质量非常好,价格实惠。
之后,我按照电路图焊接了所有组件。
然后将 ESP32、DHT11、1838 IR 接收器连接到 PCB。
对于这个智能家居项目,我使用了 Arduino Cloud Free 计划。
单击以下链接创建一个Arduino IoT Cloud帐户。
https://store.arduino.cc/digital/create
现在要控制 4 个继电器并从 DHT11 传感器读取数据,您必须添加 5 个变量。
单击“添加变量”按钮。
输入名称,然后选择Alexa 兼容开关类型。变量权限将是“读写”,变量更新策略将是“更改时”。
以类似的方式,您必须添加接下来的 3 个变量。
对于室温,读数选择Alexa compatible Temperature Sensor 。变量更新策略将是“定期”,并提及间隔时间。
现在单击顶部的仪表板以设置 Arduino 云仪表板。
然后单击构建仪表板。之后单击“编辑”图标。
然后点击ADD并选择Switch 。
为这个 Switch 命名,然后将一个变量链接到这个 switch 小部件。
然后点击完成。
以类似的方式,您必须添加总共 4 个开关小部件来控制 4 个继电器。
对于温度,选择Gauge widgets 并链接 Temperature 变量。您还可以设置MIN和MAX 限制。
现在,要从遥控器获取十六进制代码,首先,我们必须将红外接收器输出引脚连接到 GPIO D35。
并在 VCC 和 GND 之间提供 5V。IR 接收器必须有金属外壳,否则,您可能会遇到问题。然后按照以下步骤获取十六进制代码。
将所有十六进制代码保存在文本文件中。
为了对 ESP32 进行编程,我使用了 Arduino IDE。
首先,您必须安装ArduinoIoTCloud 库。在安装过程中,它可能会要求安装其他依赖项。然后点击全部安装。
在代码中,输入以下详细信息。完成所有这些更改后,您可以将代码上传到 ESP32。
从 Google Play 商店或 App Store下载并安装Amazon Alexa App 。
使用 Arduino Cloud 凭据登录。
因此,所有来自 Arduino IoT Cloud 的设备都将添加到 Amazon Alexa App。
您还可以通过 Arduino IoT Cloud Remote App 控制设备。
现在,您还可以通过这个 Arduino IoT Cloud Remote App 控制继电器。
按照电路图用继电器模块连接4台家电。
在高压下工作时,请采取适当的安全预防措施。
将 5 伏直流电源连接到 PCB。(我用过我的旧手机充电器 5V 2Amp)打开 110V/230V 电源和 5V 直流电源。
现在您可以智能地控制您的家电。
我希望您喜欢这个 Arduino IoT 和 Alexa 控制家庭自动化项目。我已经分享了这个项目的所有必需信息。
如果您能分享宝贵的反馈意见,我将不胜感激。另外,如果您有任何疑问,请写在评论部分。
谢谢你,快乐学习。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !