K_b0KBsM · 4月26日 · 广东

基于SEED XIAO ESP32C3的智能家居四路控制器

今天小编给大家带来的是印度的Maker Technolab creation的基于ESP32C3的智能家居四路控制器,该控制器可以通过传统的手动开关按钮、红外遥控器、智能手机进行控制,同时手机上也可以实时显示温度和湿度,可以实现无缝衔接的智能家居体验。

材料列表

硬件
  • 定制PCB板
  • XIAO esp32c3
软件
  • Blynk

控制器功能概述


该家庭自动化系统围绕 PCB 设计,大约是信用卡的大小,使其高度集成在任何家庭环境中。
 title=

该 PCB 的主要特性包括:

  • 板载保险丝:确保过载和短路保护。
     title=

:BLANK\_LINE:

  • 高负载端子连接器:提供无火花操作和热保护。
     title=

:BLANK\_LINE:

  • JST连接器:用于连接DHT传感器、红外接收器和手动开关。
     title=

:BLANK\_LINE:

  • XIAO ESP32C3:系统的“大脑”,以其紧凑和高效而闻名。
     title=

:BLANK\_LINE:

  • XIAO ESP32C3:最小的 ESP32 开发板。

 title=

XIAO ESP32C3板由Seeed Studio开发,是一款小巧而强大的物联网迷你开发板。它基于乐鑫 ESP32-C3 WiFi/蓝牙双模芯片,即 32 位 RISC-V CPU。该 CPU 包括一个用于 32 位单精度运算的 FPU(浮点单元),提供强大的计算能力。该板以其出色的射频性能而著称,支持 IEEE 802.11 b/g/n WiFi 和蓝牙 5 (LE) 协议。包括一个外部天线,以增强无线应用的信号强度。

设计与特点
  • 外形尺寸:该板拥有小巧精致的外形尺寸,采用单面表面贴装设计。
  • 接口:配备11个数字I/O,可作为PWM引脚,4个模拟I/O ADC,支持UART、I2C、SPI等4个串行接口。
  • 兼容性:与 Seeeduino XIAO 的 Grove Shield 和 Seeeduino XIAO 扩展板完全兼容,但 SWD 弹簧触点除外。
  • 性能:定位为高性能、低功耗、高性价比的物联网迷你开发板,是低功耗物联网和无线可穿戴应用的理想选择。
     title=
技术规格

CPU:ESP32-C3,32 位 RISC-V 单核处理器,运行频率高达 160 MHz。
Wi-Fi:完整的 Wi-Fi 子系统,符合 IEEE 802.11b/g/n 协议。
蓝牙:支持蓝牙 5 和蓝牙网状网络。
电源效率:超低功耗,深度睡眠模式下约为 43μA。
存储器:400KB SRAM 和 4MB 板载闪存。
尺寸:超小(20×17.5mm),适用于可穿戴设备和小型项目。
安全性:具有支持 AES-128/256、哈希、RSA、HMAC、数字签名和安全启动的加密硬件加速器。
电池管理:包括用于锂电池充放电管理的电池充电芯片。
低成本:WIFI/BLE双模开发板仅需4.99美元。
 title=
XIAO ESP32C3的功能在其入门指南中有详细记录,该指南提供了对其功能和潜在应用的见解。

使用 Seeed Studio Fusion 提升您的创新。
  • 使用 Seeed Studio Fusion 扩展您的创作。
  • Seeed Studio Fusion 是 PCB 制造、组装和硬件定制的全球一站式在线平台。
  • 无论您是需要原型设计、批量生产、开源产品的定制解决方案,还是将您的创意转化为有利可图的产品,Seeed Studio Fusion 都能满足您的要求。

Blynk 云配置。


若要在 Blynk 仪表板上创建设备,通常需要执行以下常规步骤:

  • 注册/登录:首先,您需要在 Blynk 上创建一个帐户,或者如果您已经有一个帐户,请登录。
     title=

:BLANK\_LINE:

  • 访问仪表板:登录后,导航到开发人员区域,您可以在其中管理和创建新模板。
     title=

:BLANK\_LINE:

  • 单击“+ New Template”,然后给出项目所在的模板名称,然后选择硬件类型,在我的情况下是 ESP32,连接类型是 WIFI.....,之后,单击“完成”按钮,您就已成功为项目创建模板。

 title=

  • 现在单击数据流,然后单击新的数据流,选择虚拟引脚。
  • 给出数据流的名称,给出你想要的任何常规名称。
  • 选择要控制继电器的引脚,我为按钮 1 选择虚拟引脚 V1,然后选择数据类型为整数。
  • 以类似的方式再创建 3 个数据流,因为我们需要控制项目中的四个继电器,它们的虚拟 Pin 将是按钮 2、按钮 3、按钮 4 的 V2、V3、V4。
  • 按钮“all\_off”和虚拟 Pin 的第五个数据流将是 V5。

 title=

 title=

  • 我们需要另外两个温度和湿度数据流,它们将连接到虚拟引脚 V6 和 V7。
  • 对于温度数据类型将为双精度,请选择摄氏度为单位。
  • 最小值为“0”,最大值为“50”。

 title=

  • 对于湿度数据类型将为双倍,请选择单位作为百分比。
  • 最小值为“0”,最大值为“100”。
  • 创建所有数据流后,单击“保存”按钮以保存所有配置。

 title=

创建新设备:
  • 选择选项设备,然后单击“+ 新设备”
  • 选择“从模板”选项,然后选择您不久前创建的模板,然后单击“创建”按钮。
     title=
     title=
     title=

创建设备后,您可以配置其设置,例如数据流、触发器和其他物联网功能,并且您还将获得我们在代码中需要的 BLYNK TEMPLATE ID、BLYNK TEMPLATE NAME、BLYNK AUTH TOKEN,因此请妥善保管这些数据。
 title=

代码下载地址:https://github.com/technolabelectronics/4-Node-Home-Automation-System-Using-Smallest-ESP32.-XIAO-ESP32-C3-Temperature-Humidity-Manual.

关键组件和功能的细分


1.Blynk配置:
  • “#define BLYNK\_TEMPLATE\_ID”和“#define BLYNK\_TEMPLATE\_NAME”:这些行定义 Blynk 项目的模板 ID 和名称。
  • “#define BLYNK\_AUTH\_TOKEN”:这是 Blynk 生成的身份验证令牌,用于将您的硬件连接到 Blynk Cloud。
2. WiFi凭证:
  • 'char ssid[ ]'和'char pass[ ]':这些数组存储您的WiFi网络的SSID和密码。
3. 红外遥控按钮代码:
  • “#define IR\_Button\_1”等:这些定义了红外遥控器按钮的十六进制代码。
4. 引脚配置:
  • “#define RelayPin1”等:这些定义了 ESP32 上的哪些 GPIO 引脚连接到继电器。
  • “#define SwitchPin1”等:这些定义连接到物理交换机的 GPIO 引脚。
5. Blynk 应用程序的虚拟图钉:
  • “#define VPIN\_BUTTON\_1”等:这些在 Blynk 应用程序中定义虚拟引脚,以控制和监控系统的不同方面。
6.DHT传感器类型:
  • “#define DHTTYPE DHT11”:此行设置使用的 DHT 传感器类型(DHT11、DHT22 或 DHT21)。
7.全局变量:
  • “bool toggleState\_1”等:这些变量存储每个继电器的当前状态(开/关)。
  • “bool SwitchState\_1”等:这些变量存储每个物理交换机的状态。
8. Blynk 功能:
  • “BLYNK\_WRITE(VPIN\_BUTTON\_1)”:每当按下 Blynk 应用程序中的相应虚拟按钮时,都会调用此函数。
9.设置功能:
  • “void setup( )”:此函数在 ESP32 启动时运行一次。它初始化串行通信,设置引脚模式,初始化DHT传感器,连接到WiFi,并设置Blynk。
10.主循环:
  • 'void loop( )':这是连续运行的主循环。它检查手动控制输入、红外遥控输入,并保持 Blynk 连接处于活动状态。
11. 传感器读取和数据传输:
  • “void readSensor( )” 和 “void sendSensor( )”:这些函数负责从 DHT 传感器读取数据并将其发送到 Blynk 应用程序。
12.手动和红外遥控功能:
  • “void manual\_control( )” 和 “void ir\_remote( )”:这些功能允许通过物理开关和红外遥控器控制系统。
13.实用功能:
  • “void all\_SwitchOff( )” 和 “void getRelayState( )”:这些函数提供了额外的功能,例如关闭所有中继并从存储中获取中继的最后已知状态。

Blynk:移动仪表板配置。

下载并安装 Blynk 应用程序
  • 下载 Blynk 应用程序:转到 App Store(适用于 iOS 设备)或 Google Play Store(适用于 Android 设备)。
  • 安装应用程序:搜索“Blynk”并在您的移动设备上安装该应用程序。
设置您的帐户
  • 打开应用程序:在您的设备上启动 Blynk 应用程序。
  • 登录:使用您在 web-dashboard 中使用的相同凭据登录。
     title=
访问仪表板
  • 导航到设备:登录后,您将被带到您在 web-dashboard 上创建的主设备。
  • 设置小部件:点击“+”图标,然后拖放五个按钮小部件和两个仪表小部件以控制电器并监视传感器读数。
  • 分配虚拟引脚:将这些小部件连接到与硬件代码相对应的虚拟引脚,对于按钮小部件,选择按钮类型作为开关。
     title=\\\\_kTtciZDYC0.jpg")
  • 测试您的设置:与应用程序中的小部件进行交互,并观察硬件是否按预期响应。
  • 监控和修改:您可以监控设备的状态,并根据需要修改设置或小部件。

控制器使用接线示意图

按照如下所示的连接图连接所有电器、开关和传感器。
 title=

现在,您已经成功设置了 Blynk 云配置,编写代码并将其上传到设备,配置了 Blynk 智能手机应用程序,并连接了所有硬件组件,如灯泡、开关和传感器。接下来可以执行以下操作:

1. 测试您的设置
  • 操作设备:使用 Blynk 应用程序控制连接的设备。例如,打开和关闭灯泡、激活开关和监控传感器读数。
  • 检查响应能力:确保设备正确响应应用命令。
  • 监控传感器数据:如果您连接了传感器,请检查其数据是否在应用程序中准确报告。
2. 必要时排除故障
  • 识别问题:如果某些东西没有按预期工作,请尝试确定问题所在——无论是在硬件、代码、Blynk 应用程序配置还是网络连接中。
  • 查阅文档:有关故障排除提示,请参阅 Blynk 的文档或论坛。
  • 检查连接:确保所有物理连接都是安全的,并且设备电源正确。
3. 优化你的项目
  • 调整代码:您可能需要调整代码以获得更好的性能或添加新功能。
  • 更新应用程序界面:如果需要,请修改 Blynk 应用程序仪表板,例如重新排列控件或更改其外观以提高可用性。
  • 扩展功能:考虑向项目添加更多设备或传感器。
4. 监控和维护
  • 定期检查:定期检查系统以确保其正常运行。
  • 固件更新:保持设备固件和 Blynk 应用程序更新。
5. 文档和备份
  • 保留记录:记录您的设置和配置以备将来参考。
  • 备份配置:备份您的 Blynk 项目设置和设备代码。

结论


这个家庭自动化项目代表了DIY智能家居技术的重大飞跃。它利用了 XIAO ESP32C3 的强大功能,将复杂的控制和监控功能整合到一个紧凑、用户友好的软件包中。智能手机集成、环境传感和传统控制方法的结合使其成为现代家庭的多功能创新解决方案。
有兴趣的人可以参考详细的代码和 XIAO ESP32C3 文档,进一步探索该项目的技术细节和潜在的扩展。该项目不仅展示了当前物联网技术的能力,还为家庭自动化的未来发展打开了大门。

推荐阅读
关注数
3899
内容数
28
深度服务产业的国际化双创平台
目录
极术微信服务号
关注极术微信号
实时接收点赞提醒和评论通知
安谋科技学堂公众号
关注安谋科技学堂
实时获取安谋科技及 Arm 教学资源
安谋科技招聘公众号
关注安谋科技招聘
实时获取安谋科技中国职位信息