在这个物联网项目中,我展示了如何使用 ESP8266 Arduino 使用Arduino IoT Cloud和Alexa制作基于物联网的智能家居,以通过语音命令、红外遥控器和手动开关控制 4 台家用电器。
如果互联网不可用,您可以通过红外遥控和手动开关控制家电。
因此,如果您按照所有步骤操作,只需使用 Arduino UNO、NodeMCU 和继电器模块即可轻松制作此物联网项目。
虽然 PCB 不是强制性的,但我使用 PCB 使电路紧凑并使项目具有专业外观。
此 Arduino ESP8266 家庭自动化按以下步骤工作。
此物联网项目所需的组件(无 PCB)
Arduino 控制继电器 PCB 所需的组件:
电路非常简单,我使用数字引脚D4、D5、D6 和 D7来控制 4 个继电器。
数字引脚D10、D11、D12 和 D13与开关连接以手动控制 4 个继电器。
红外接收器的输出脚接A0 ,DHT11传感器接A1 。
我在 Arduino IDE 中使用了INPUT_PULLUP函数,而不是使用上拉电阻。
我使用D2 作为 RX ,使用D3 作为 TX与 NodeMCU 模块进行串行通信。
如果您使用锁存开关,则只需将按钮连接到数字引脚和 GND,而不是按钮。
我用5V手机充电器给智能继电器模块供电。
在高压下工作时,请采取适当的安全预防措施。
如果 NodeMCU 连接到 WiFi,您可以通过Amazon Alexa App控制家电。
您还可以要求Alexa从世界任何地方打开和关闭设备。
对于这个家庭自动化项目,您不需要任何 Echo DOT 或其他 Alexa 设备。
如果 NodeMCU 与 WiFi 连接,您还可以通过Arduino IoT Cloud 网络仪表板和Arduino IoT Cloud Remote 移动应用程序控制家电。
您始终可以使用红外遥控和手动开关控制继电器。
我将在以下步骤中解释如何从任何遥控器获取红外代码(十六进制代码)。
如果 NodeMCU 连接到 Wi-Fi,您可以在Amazon Alexa App和Arduino 云仪表板中监控实时反馈。
如果 WiFi 不可用,您仍然可以使用红外遥控和手动开关控制继电器。
当 WiFi 可用时,NodeMCU 将自动重新连接 WiFi。
为了使电路紧凑并具有专业的外观,我在测试了智能继电器模块的所有功能后设计了 PCB。
您可以从以下链接下载此家庭自动化项目的 PCB Gerber 文件:
在JLCPCB的一站式在线平台上,客户只需支付8.00美元的安装费(每个接头0.0017美元)即可享受低成本、高质量、快速的SMT服务。
每月 27 美元的新用户优惠券和 24 美元的 SMT 优惠券。
JLCPCB SMT 零件库200k+库存元件(689 基本元件和 200k+ 扩展元件)
零件预购服务https://support.jlcpcb.com/article/164-what-is-jlcpcb-parts-pre-order-service
建立个人图书馆库存,为现在或将来保存零件
组装将支持来自 Digikey、mouser 的超过1000 万个部件。
1. 访问https://jlcpcb.com并登录/注册。
2. 单击立即报价按钮。
3. 单击“添加您的 Gerber 文件”按钮。然后浏览并选择您下载的 Gerber 文件。
4. 设置所需参数,如数量、PCB 遮蔽颜色等。
5. 选择组装面和 SMT 数量。
6. 现在上传BOM和PickAndPlace文件。
7. 现在确认您要通过 SMT 服务焊接的所有组件。
8. 单击“保存到购物车”按钮。
6. 键入送货地址。
7. 选择适合您的运输方式。
8. 提交订单并进行付款。
您还可以从JLCPCB跟踪您的订单
我的 PCB 需要 3 天时间才能制造出来,并使用 DHL 交付选项在一周内送达。
PCB 包装完好,质量非常好,价格实惠。
对于这个智能家居项目,我使用了 Arduino Cloud Free 计划。
单击以下链接创建一个Arduino IoT Cloud帐户。
https://store.arduino.cc/digital/create
可以看到,设备已添加。
现在要控制 4 个继电器,您必须添加 4 个变量。
单击“添加变量”按钮。
输入名称,然后选择Alexa 兼容开关类型。变量权限将是“读写”,变量更新策略将是“更改时”。
以类似的方式,您必须添加接下来的 3 个变量。
对于室温读数,请选择Alexa compatible Temperature Sensor 。变量更新策略将是“定期”,并提及间隔时间。
以类似的方式,您必须添加总共 4 个开关小部件来控制 4 个继电器。
对于温度,选择Gauge widgets 并链接 Temperature 变量。您还可以设置MIN和MAX 限制。
现在,要从遥控器获取十六进制代码,首先,我们必须将红外接收器输出引脚连接到 Arduino UNO的A0 引脚。并在 VCC 和 GND 之间提供 5V。IR 接收器必须有金属外壳,否则,您可能会遇到问题。
然后按照以下步骤获取十六进制代码:
为了对 NodeMCU 进行编程,我使用了 Arduino IDE。
下载附件代码。
首先,您必须安装ArduinoIoTCloud 库。在安装过程中,它可能会要求安装其他依赖项。然后点击全部安装。
在代码中,输入以下详细信息。完成所有这些更改后,您可以将代码上传到 NodeMCU。
。
但是,如果您不使用 PCB,则可以直接将 Arduino UNO 与笔记本电脑连接。
对于主草图,您需要安装以下库
然后你必须更新红外遥控器草图中的十六进制代码。
对于瞬时开关,使用代码:Code_ArduinoUNO_EEPROM_WiFi_IR_Button_4Relay.ino
对于锁存开关,使用代码:Code_ArduinoUNO_EEPROM_WiFi_IR_Switch_4Relay.ino
从 Google Play 商店或 App Store下载并安装Amazon Alexa App 。
使用 Arduino Cloud 凭据登录。
因此,所有来自 Arduino IoT Cloud 的设备都将添加到 Amazon Alexa App。
按照电路图用继电器模块连接4台家电。
在高压下工作时,请采取适当的安全预防措施。
将 110V/230V 电源连接到 PCB。
现在您可以智能地控制您的家电。
我希望您喜欢这个 Arduino IoT 和 Alexa 控制家庭自动化项目。我已经分享了这个项目的所有必需信息。
如果您能分享宝贵的反馈意见,我将不胜感激。另外,如果您有任何疑问,请写在评论部分。
谢谢你,快乐学习。
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
全部0条评论
快来发表一下你的评论吧 !