0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

柴火创客空间 来源:柴火创客空间 2024-01-02 10:53 次阅读

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

元件列表

硬件列表

定制PCB

XIAOesp32c3

软件列表

BIynk

控制器功能概述

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

e91722c0-a6e9-11ee-8b88-92fbcf53809c.jpg

该 PCB 的主要特性包括:

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

e920ca96-a6e9-11ee-8b88-92fbcf53809c.jpg

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

e93381ae-a6e9-11ee-8b88-92fbcf53809c.jpg

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

e9478d84-a6e9-11ee-8b88-92fbcf53809c.jpg

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

e953bd98-a6e9-11ee-8b88-92fbcf53809c.jpg

XIAO ESP32C3:最小的 ESP32 开发板。

e961c884-a6e9-11ee-8b88-92fbcf53809c.jpg

小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,支持UARTI2C、SPI等4个串行接口。

兼容性:与 Seeeduino XIAO 的 Grove Shield 和 Seeeduino XIAO 扩展板完全兼容,但 SWD 弹簧触点除外。

性能:定位为高性能、低功耗、高性价比的物联网迷你开发板,是低功耗物联网和无线可穿戴应用的理想选择。

e96fb8e0-a6e9-11ee-8b88-92fbcf53809c.jpg

技术规格

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美元。

e9798a50-a6e9-11ee-8b88-92fbcf53809c.jpg

XIAO ESP32C3的功能在其入门指南中有详细记录,该指南提供了对其功能和潜在应用的见解。

使用 Seeed Studio Fusion 提升您的创新能力。

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

Blynk云配置

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

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

e983fe22-a6e9-11ee-8b88-92fbcf53809c.jpg

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

e98efeee-a6e9-11ee-8b88-92fbcf53809c.jpg

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

e9a7695c-a6e9-11ee-8b88-92fbcf53809c.jpg

现在单击数据流,然后单击新的数据流,选择虚拟引脚。

给出数据流的名称,给出你想要的任何常规名称。

选择要控制继电器的引脚,我为按钮 1 选择虚拟引脚 V1,然后选择数据类型为整数。

以类似的方式再创建 3 个数据流,因为我们需要控制项目中的四个继电器,它们的虚拟 Pin 将是按钮 2、按钮 3、按钮 4 的 V2、V3、V4。

按钮“all_off”和虚拟 Pin 的第五个数据流将是 V5。

e9b91f6c-a6e9-11ee-8b88-92fbcf53809c.jpge9d1e358-a6e9-11ee-8b88-92fbcf53809c.jpg

我们需要另外两个温度和湿度数据流,它们将连接到虚拟引脚 V6 和 V7。

对于温度数据类型将为双精度,请选择摄氏度为单位。

最小值为“0”,最大值为“50”。

e9db3cfa-a6e9-11ee-8b88-92fbcf53809c.jpg

对于湿度数据类型将为双倍,请选择单位作为百分比。

最小值为“0”,最大值为“100”。

创建所有数据流后,单击“保存”按钮以保存所有配置。

e9e518ec-a6e9-11ee-8b88-92fbcf53809c.jpg

创建新设备:

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

e9eee962-a6e9-11ee-8b88-92fbcf53809c.jpge9fc9f9e-a6e9-11ee-8b88-92fbcf53809c.jpge9eee962-a6e9-11ee-8b88-92fbcf53809c.jpg

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

ea19dd98-a6e9-11ee-8b88-92fbcf53809c.jpg

关键组件和功能细分

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:移动仪表板配置。

下载并安装BIynk应用程序

下载 Blynk 应用程序:转到 App Store(适用于 iOS 设备)或 Google Play Store(适用于 Android 设备)。

安装应用程序:搜索“Blynk”并在您的移动设备上安装该应用程序。

打开应用程序:在您的设备上启动 Blynk 应用程序。

登录:使用您在 web-dashboard 中使用的相同凭据登录。

访问仪表板

导航到设备:登录后,您将被带到您在 web-dashboard 上创建的主设备。

设置小部件:点击“+”图标,然后拖放五个按钮小部件和两个仪表小部件以控制电器并监视传感器读数。

分配虚拟引脚:将这些小部件连接到与硬件代码相对应的虚拟引脚,对于按钮小部件,选择按钮类型作为开关。

ea264cd6-a6e9-11ee-8b88-92fbcf53809c.jpg

测试您的设置:与应用程序中的小部件进行交互,并观察硬件是否按预期响应。

监控和修改:您可以监控设备的状态,并根据需要修改设置或小部件。

控制器使用接线示意图

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

ea331a06-a6e9-11ee-8b88-92fbcf53809c.jpg

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

1. 测试您的设置

操作设备:使用 Blynk 应用程序控制连接的设备。例如,打开和关闭灯泡、激活开关和监控传感器读数。

检查响应能力:确保设备正确响应应用命令。

监控传感器数据:如果您连接了传感器,请检查其数据是否在应用程序中准确报告。

2. 必要时排除故障

识别问题:如果某些东西没有按预期工作,请尝试确定问题所在——无论是在硬件、代码、Blynk 应用程序配置还是网络连接中。

查阅文档:有关故障排除提示,请参阅 Blynk 的文档或论坛

检查连接:确保所有物理连接都是安全的,并且设备电源正确。

3. 优化你的项目

调整代码:您可能需要调整代码以获得更好的性能或添加新功能。

更新应用程序界面:如果需要,请修改 Blynk 应用程序仪表板,例如重新排列控件或更改其外观以提高可用性。

扩展功能:考虑向项目添加更多设备或传感器。

4. 监控和维护

定期检查:定期检查系统以确保其正常运行。

固件更新:保持设备固件和 Blynk 应用程序更新。

5. 文档和备份

保留记录:记录您的设置和配置以备将来参考。

备份配置:备份您的 Blynk 项目设置和设备代码。

结论

这个家庭自动化项目代表了DIY智能家居技术的重大飞跃。它利用了 XIAO ESP32C3 的强大功能,将复杂的控制和监控功能整合到一个紧凑、用户友好的软件包中。智能手机集成、环境传感和传统控制方法的结合使其成为现代家庭的多功能创新解决方案。







审核编辑:刘清

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

    关注

    27

    文章

    1372

    浏览量

    50340
  • 控制器
    +关注

    关注

    112

    文章

    15223

    浏览量

    171192
  • 红外遥控器
    +关注

    关注

    3

    文章

    132

    浏览量

    21453
  • 智能家居
    +关注

    关注

    1912

    文章

    9150

    浏览量

    179361
  • ESP32
    +关注

    关注

    13

    文章

    896

    浏览量

    15813

原文标题:创客项目秀|基于XIAO ESP32C3 的智能家居四路控制器

文章出处:【微信号:ChaiHuoMakerSpace,微信公众号:柴火创客空间】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    【技术资料】ESP32C3 系列芯片 硬件设计指南

    产品概述ESP32-C3系列是极低功耗、高集成度的MCU系统级芯片(SoC),集成2.4 GHz Wi-Fi和低功耗蓝牙(Bluetooth® LE)双模无线通信,专为物联网(IoT)、智能家居
    发表于 07-07 14:36

    请问ESP32C3是否支持ble mesh?

    我看https://docs.espressif.com/projects/esp-idf/en/v4.3/esp32c3/api-guides/esp-ble-mesh/ble-mesh-index.html#getting-
    发表于 02-10 08:12

    请问esp32C3可以做蓝牙mesh网关吗?

    esp32c3可以做蓝牙mesh网关吗?,我现在用2个esp32c3做蓝牙mesh,另外一个esp32c3做网关,能互相通讯,这个是否可以实现了?
    发表于 02-10 08:14

    使用ESP32C3,用ESP-IDF编译bt_hid_mouse_device例程失败报错如何解决?

    补充:配置为esp32,是可以编译成功的,而在设置为esp32s3esp32c3之后编译会出现以下报错(编译bt_hid_mouse_device例程)。而在使用其他例程是可以编译成功并烧录
    发表于 02-14 08:27

    ESP32C3在做静电实验时,USB串口被打死怎么恢复?

    请教一下:当我在对ESP32C3开发的控制板做ESD静电实验时。当对外壳进行8KV接触放电,ESP32C3自带的USB-串口被打死。打死后ESP32C3不能通过自带USB串口上报数据。
    发表于 02-15 08:23

    esp32c3连接wifi和tcp服务速度能否加快,esp8266 速度在5-7s左右,esp32c3能否加快?

    你好我想使用esp32c3开发低功耗设备,由外部电子开关控制1小时检测一次传感并上传,考虑到芯片功耗我有几个疑问;1:esp32c3 在160mhz 80mhz下的正常工作电流是多少
    发表于 02-17 06:44

    ESP32C3的I2S如何设置多路并行的信号输出?

    哪位大神能否告诉下如何设置ESP32C3的I2S LCD多路并行信号输出?现在IDF上的驱动貌似只能设置单信号输出.
    发表于 02-20 07:57

    esp32c3不能操纵RTC引脚而只能保持它们或被唤醒吗?

    esp32c3 一起使用,因为在soc_caps.h文件中没有为 esp32c3 定义SOC_RTCIO_INPUT_OUTPUT_SUPPORTED。[size=150%]寄存操作示例:代码:全选
    发表于 03-02 08:32

    请问esp32C3可以做蓝牙mesh网关 吗?

    esp32c3可以做蓝牙mesh网关吗?,我现在用2个esp32c3做蓝牙mesh,另外一个esp32c3做网关,能互相通讯,这个是否可以实现了?
    发表于 03-06 07:03

    如何将5G/LTE添加到ESP32C3定制板?

    我有一个使用 ESP32C3 的工作电路。我现在需要为 WiFi 不可用的情况提供网络访问。最好的起点是什么?我不反对更换 ESP32C3,但宁愿不更换。我确实意识到 LTE/5G 会产生月度接入费用,而且更加复杂。
    发表于 04-12 06:24

    esp32c3不能操纵RTC引脚而只能保持它们或被唤醒吗?

    esp32c3 一起使用,因为在soc_caps.h文件中没有为 esp32c3 定义SOC_RTCIO_INPUT_OUTPUT_SUPPORTED。[size=150%]寄存操作示例:[size
    发表于 04-14 07:30

    ESP32-C3的编程方式

    的开发。 特别是采用API的编程方式,让编程的模型更加专注于业务上的设计,比如可以做一些网络应用,智能家居,远程监控等等。体验下来这个RISCV的芯片和其他的ESP32的使用上并无十分明显的区别。后续会通过ESP32-C3上做一
    发表于 08-16 06:57

    【开源资料】使用ESP32C3超简单制作迷你足机器人

    esp8266做过小足机器人,这次用esp32C3重制了,主要的原因是C3有蓝牙可以用蓝牙遥控非常方便边,随时连接随时玩不占用手机WiFi。 而且
    发表于 09-21 11:15

    深入剖析esp32c3的系统底层启动

    riscv底层的爱好者来说,跳过ESP-IDF框架,直接像使用单片机一样去使用ESP32C3更加有意思。本文的目的就是理解ESP32C3的裸机开发流程,像玩单片机一样去使用这个riscv的mcu。 2.
    的头像 发表于 07-06 10:38 1.1w次阅读
    深入剖析<b class='flag-5'>esp32c3</b>的系统底层启动

    Arduino IoT Cloud ESP32 Alexa Control智能家居

    电子发烧友网站提供《Arduino IoT Cloud ESP32 Alexa Control智能家居.zip》资料免费下载
    发表于 06-26 14:49 0次下载
    Arduino IoT Cloud <b class='flag-5'>ESP32</b> Alexa Control<b class='flag-5'>智能家居</b>