当前位置: 首页 > news >正文

ESP32-C3 低功耗懒人开关:传统开关轻松上云和本地控制

项目背景

随着科技的快速发展,智能家居已经成为我们日常生活的一部分。而对于基础设施已经配备完毕的家庭而言,对家居设备的智能化改造是一项相对困难的工作。本文将分享一款基于 Wi-Fi 的低功耗懒人开关—— “ESP32-C3 管灯熊猫”。将智能的 “ESP32-C3 管灯熊猫”与传统开关结合,能够在不改造家庭电路且无需额外网关的情况下,快速实现对灯具的智能化控制。搭载 ESP32-C3 的“熊猫”支持直连 HomeKit 与乐鑫 ESP RainMaker 云。用户可轻松实现对“熊猫”的本地控制和云端远程控制。将“熊猫”贴在现有的传统开关上,利用“熊猫”双脚控制开关,进而控制房间内的灯具设备。通过这种简单的改造方式,智能懒人开关能有效提升家居体验。

观看视频 体验这款易开发、长续航的懒人开关神器“ESP32-C3 管灯熊猫”。

[开源] [DIY] ESP32 管灯熊猫 直连 Iphone 15 分钟复刻 ! 全平台可控 懒人神器!

“ESP32-C3 管灯熊猫”具有以下优点:

  • 直连 Homekit 与 ESP RainMaker 云:“熊猫”无需接入智能音响或网关,便可实现局域网控制。它支持 Siri 语音控制和通知栏快捷控制,响应十分迅速。此外,我们还可以将其接入 ESP RainMaker 云平台,实现对其的云端远程控制。
  • 易于配置:仅需扫码两次即可完成所有配置。
  • 极低功耗:兼顾高响应速度和强续航能力。搭配 2000mAh 电池情况下,仅使用 ESP RainMaker 控制待机续航约为 90 天,HomeKit + ESP RainMaker 待机续航约为 45 天。
  • 超易复刻:代码、硬件和结构完全开源。
  • - 固件支持一键烧录,无需烧录工具,也无需下载任何开发环境。
  • - 简约的电路设计,仅使用了约 20 个器件。
  • 功能齐全:支持电池低电量报警和自动关机,支持重置配网信息。
  • 极低成本:复刻整机,物料成本不超过 30 元。
  • 高度集成:整机结构紧凑,尺寸小巧。

“ESP32-C3 管灯熊猫”开源项目现已开源在 GitHub 和立创硬件开源平台。


项目价值

在产品开发流程中,开发者通常需要评估设备的易用程度、续航能力、开发难易度和成本等因素。与此同时开发者还需考虑如何将设备接入第三方平台,如何将设备接入云平台以实现远程控制,并对产品进行细致的功耗优化等问题。乐鑫为开发者提供了丰富的芯片矩阵和软件平台:

  • ESP32-C3 SoC 集成了 Wi-Fi、Bluetooth LE,兼具优良性能与高性价比,还提供了品类丰富的外设,仅需少量器件即可实现产品功能。
  • ESP32-C3 支持通过 USB 直接下载,借助零代码分享平台 ESP LaunchPad,可以轻松实现一键烧录。
  • 乐鑫提供了 ESP HomeKit SDK 和 ESP RainMaker SDK 开源代码及细致例程,可实现对设备便捷的本地控制和远程云端控制。
  • ESP32-C3 设备可针对典型场景动态切换功耗模式 (Active, Modem-sleep, Light-sleep, Deep-sleep),结合乐鑫提供的功耗管理例程,在同时集成 HomeKit 和 ESP RainMaker 的情况下,也能实现超低功耗。
  • 乐鑫提供了完善的开发环境和活跃的开发平台,开发者可以在论坛中获取解决方案,所有资料均可直接在 GitHub 中获得,无需注册。

对于开发者而言,“ESP32-C3 管灯熊猫”能直接达到开箱即体验的效果。用户无需搭建开发环境、研究协议和芯片底层的具体细节,大大简化了开发过程。值得一提的是,它还易于扩展为各类形态,可以被设计为小夜灯、电子门锁、远程开机卡等设备,是学生群体入门物联网领域的理想实践。


开发指南

硬件准备

点击文末的项目硬件开源链接即可获取 PCB 设计资料,项目所需物料均选用易于焊接的封装。下载原理图、PCB 和对应的 BOM,选择合适的打样平台制作 PCB。

快速使用

1. 烧录

  • 进入 ESP Launchpad 页面。
  • 将“熊猫”连接到电脑上。
  • 同时按住“熊猫”上的 RESET 键和 BOOT 键 (IO9) ,然后先松开 BOOT 键,再松开 RESET 键,强制芯片进入烧录模式。
  • 点击 Connect 并选择“管灯熊猫”对应的串口,串口名通常类似于 “USB JTAG/serial debug unit (COMXX) - 已配对”。
  • 点击 Flash 开始烧录。

2. 配网

  • 烧录完成后,点击“管灯熊猫”上的 RESET 键。
  • 在网页中点击 Connect 并选择该设备对应的串口。
  • 在网页中点击 Console,进入控制台页面,点击 Reset Device。
  • 稍等片刻,控制台上会显示两个二维码,使用 ESP RainMaker APP 扫描大的二维码,对设备进行配网。完成后即可通过 APP 远程控制设备。
  • 使用 Apple 自带的家庭 APP 扫描小的二维码,即可绑定设备至 Homekit,通过 Apple 通知栏或者 ‘Siri’ 实现更快捷的本地控制。
编译和修改代码

如果想在当前代码的基础上进行二次修改,请按照如下流程进行编译:

  • 先决条件:首先,需要安装 ESP-IDF 开发环境,并拉取 ESP RainMaker 和 ESP-HomeKit-SDK 的代码。
  • 确保上述环境已成功安装并导入正确路径;
  • 在 esp-rainmaker/example 目录下克隆本仓库代码:
```
cd esp-rainmaker/examples/ git clone git@github.com:lisir233/esp_smart_light_controller.git
```
  • 进行编译:
```
cd esp_smart_light_controller idf.py build
```

相关资源

  • 项目 Github 链接
  • 项目硬件开源链接
  • 乐鑫物联网开发框架 ESP-IDF
  • 乐鑫 ESP RainMaker SDK
  • 乐鑫 ESP HomeKit SDK

相关文章:

ESP32-C3 低功耗懒人开关:传统开关轻松上云和本地控制

项目背景 随着科技的快速发展,智能家居已经成为我们日常生活的一部分。而对于基础设施已经配备完毕的家庭而言,对家居设备的智能化改造是一项相对困难的工作。本文将分享一款基于 Wi-Fi 的低功耗懒人开关—— “ESP32-C3 管灯熊猫”。将智能的 “ESP32-…...

前端学习路线指南:从入门到精通【①】

前言 作为一个前端开发者,学习前端技术是必不可少的。然而,由于前端领域的广阔和不断演进的技术栈,对于初学者来说可能会感到困惑。本篇文章将为你提供一个清晰的前端学习路线,帮助你系统地掌握前端开发技能,并成为一名…...

Flash模拟EEPROM原理浅析

根据ST的手册,我们可以看到,外挂EEPROM和Dflash模拟EEPROM,区别如下: 很明显,模拟EEprom的写入速度要远远快于外挂eeprom(有数据传输机制); 其次,外挂EEPROM不需要擦除即可实现写入数据&#xf…...

Typora 最新激活方法

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过简单的标记语法,它可以使普通文本内容具有一定的格式,其目标是实现易读易写。而Typora则是一个非常不错的Markdown编辑器,它的界面非常的简洁直观,并且功能各…...

jenkins如何安装?

docker pull jenkins/jenkins:lts-centos7-jdk8 2.docker-compose.yml version: 3 services:jenkins:image: jenkins/jenkins:lts-centos7-jdk8container_name: my-jenkinsports:- "8080:8080" # 映射 Jenkins Web 界面端口volumes:- jenkins_home:/var/jenkins_h…...

从零开始的LINUX(三)

bc:进行浮点数运算 uname:查看当前的操作系统 ctrlc:中止当前正在执行的程序 ctrld:退出xshell shutdown:关机 reboot:重启 shell外壳: 作用:1、命令解释(将输入的程序…...

CleanMyMac2024永久免费版Mac系统磁盘清理工具

Cleanmymac对很多用户来说已经非常熟悉了,因为在网上如果你搜寻有关清理mac系统方面的软件时,占比非常多的会是cleanmymac的相关消息。许多刚从Windows系统转向Mac系统怀抱的用户,一开始难免不习惯,因为Mac系统没有像Windows一样的…...

HashSet 元素不重复

HashSet通过底层使用HashMap来保证元素不重复。具体来说,HashSet内部维护一个HashMap,其中元素存储在HashMap的key上,而所有的value都指向同一个共享的内部对象。在存储元素时,HashSet会根据元素的hashCode值来确定其在HashMap中的…...

基于SpringBoot的二手车交易系统的设计与实现

目录 前言 一、技术栈 二、系统功能介绍 管理员功能实现 商家管理 公告信息管理 论坛管理 商家功能实现 汽车管理 汽车留言管理 论坛管理 用户功能实现 汽车信息 在线论坛 公告信息 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 如今社会上各行…...

最短路径:迪杰斯特拉算法

简介 英文名Dijkstra 作用&#xff1a;找到路中指定起点到指定终点的带权最短路径 核心步骤 1&#xff09;确定起点&#xff0c;终点 2&#xff09;从未走过的点中选取从起点到权值最小点作为中心点 3&#xff09;如果满足 起点到中心点权值 中心点到指定其他点的权值 < 起…...

基于UDP/TCP的网络通信编程实现

小王学习录 今日鸡汤Socket套接字基于UDP来实现一个网络通信程序DatagramSocket类DatagramPacket类基于UDP的服务器端代码基于UDP的客户端代码基于TCP来实现一个网络通信程序ServerSocket类Socket类基于TCP的服务器端代码基于TCP的客户端代码优化之后的服务器端代码补充TCP长短…...

springboot启动报错

...

Python中的split()函数

函数&#xff1a;split() Python中有split()和os.path.split()两个函数&#xff0c;具体作用如下&#xff1a; split()&#xff1a;拆分字符串。通过指定分隔符对字符串进行切片&#xff0c;并返回分割后的字符串列表&#xff08;list&#xff09; os.path.split()&#xff1a…...

大数据-玩转数据-Python Sftp Mysql 数据

一、需求描述 1、从Mysql数据库表下载数据到服务器&#xff1b; 2、将数据已csv文件格式存储并对数据格式进行处理&#xff08;添加表头&#xff0c;表头和数据均用竖线分隔符隔开&#xff0c;末尾也加分割符&#xff09;&#xff1b; 3、文件路径文件夹以天为单位&#xff0c…...

Selenium3-当元素通过@FindBy获取时,返回元素为null

报错: 在获取元素的js属性时一直获取不到&#xff0c;报空指针&#xff0c;定位到元素时&#xff0c;发现是FindBy的元素没有找到 解决方法: 在page类的构造函数中加上了 界面初始化&#xff0c;让元素先隐式加载&#xff0c;这样就不会出现返回元素为空的情况辣 PageFactory…...

JWT详解解读读

&#x1f4d1;前言 本文主要是jwt解读文章&#xff0c;如果有什么需要改进的地方还请大佬指出⛺️ &#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是青衿&#x1f947; ☁️博客首页&#xff1a;CSDN主页放风讲故事 &#x1f304;每日一句&#xff1a;努力一点&#…...

一文详解如何从 Oracle 迁移数据到 DolphinDB

Oracle 是一个广泛使用的关系型数据库管理系统&#xff0c;它支持 ACID 事务处理&#xff0c;具有强大的安全性和可靠性&#xff0c;因此被广泛应用于各种企业级应用程序。但是&#xff0c;随着数据规模的增加和业务需求的变化&#xff0c;Oracle 的一些限制和缺点也逐渐暴露出…...

负载均衡--Haproxy

haproxy 他也是常用的负载均衡软件 nginx 支持四层转发&#xff0c;七层转发 haproxy也可以四层和七层转发 haproxy&#xff1a;法国人开发的威利塔罗在2000年基于C语言开发的一个开源软件 可以支持一万以上的并发请求 高性能的tcp和http负载均衡2.4 1.5.9 haproxy&#…...

股票价格预测 | 融合CNN和Transformer以提升股票趋势预测准确度

一 本文摘要 股票价格往往很难预测,因为我们很难准确建模数据点之间的短期和长期时间关系。卷积神经网络(CNN)擅长找出用于建模短期关系的局部模式。然而,由于其有限的观察范围,CNN无法捕捉到长期关系。相比之下,Transformer可以学习全局上下文和长期关系。本文提出了一…...

QMI8658A_QMC5883L(9轴)-EVB 评估板

1. 描述 QMI8658A_QMC5883L(9轴)-EVB 评估板是一款功能强大的9轴IMU传感器&#xff0c;它利用了QMA8658A 内置的3轴加速度计和3轴陀螺仪&#xff0c;同时结合QMC5883L的3轴地磁数据&#xff0c;来测量物体在三维空间中的角速度和加速度&#xff08;严格意义上的IMU只为用户提供…...

模型参数、模型存储精度、参数与显存

模型参数量衡量单位 M&#xff1a;百万&#xff08;Million&#xff09; B&#xff1a;十亿&#xff08;Billion&#xff09; 1 B 1000 M 1B 1000M 1B1000M 参数存储精度 模型参数是固定的&#xff0c;但是一个参数所表示多少字节不一定&#xff0c;需要看这个参数以什么…...

2025年能源电力系统与流体力学国际会议 (EPSFD 2025)

2025年能源电力系统与流体力学国际会议&#xff08;EPSFD 2025&#xff09;将于本年度在美丽的杭州盛大召开。作为全球能源、电力系统以及流体力学领域的顶级盛会&#xff0c;EPSFD 2025旨在为来自世界各地的科学家、工程师和研究人员提供一个展示最新研究成果、分享实践经验及…...

JUC笔记(上)-复习 涉及死锁 volatile synchronized CAS 原子操作

一、上下文切换 即使单核CPU也可以进行多线程执行代码&#xff0c;CPU会给每个线程分配CPU时间片来实现这个机制。时间片非常短&#xff0c;所以CPU会不断地切换线程执行&#xff0c;从而让我们感觉多个线程是同时执行的。时间片一般是十几毫秒(ms)。通过时间片分配算法执行。…...

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别

OpenPrompt 和直接对提示词的嵌入向量进行训练有什么区别 直接训练提示词嵌入向量的核心区别 您提到的代码: prompt_embedding = initial_embedding.clone().requires_grad_(True) optimizer = torch.optim.Adam([prompt_embedding...

dify打造数据可视化图表

一、概述 在日常工作和学习中&#xff0c;我们经常需要和数据打交道。无论是分析报告、项目展示&#xff0c;还是简单的数据洞察&#xff0c;一个清晰直观的图表&#xff0c;往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server&#xff0c;由蚂蚁集团 AntV 团队…...

CSS设置元素的宽度根据其内容自动调整

width: fit-content 是 CSS 中的一个属性值&#xff0c;用于设置元素的宽度根据其内容自动调整&#xff0c;确保宽度刚好容纳内容而不会超出。 效果对比 默认情况&#xff08;width: auto&#xff09;&#xff1a; 块级元素&#xff08;如 <div>&#xff09;会占满父容器…...

NXP S32K146 T-Box 携手 SD NAND(贴片式TF卡):驱动汽车智能革新的黄金组合

在汽车智能化的汹涌浪潮中&#xff0c;车辆不再仅仅是传统的交通工具&#xff0c;而是逐步演变为高度智能的移动终端。这一转变的核心支撑&#xff0c;来自于车内关键技术的深度融合与协同创新。车载远程信息处理盒&#xff08;T-Box&#xff09;方案&#xff1a;NXP S32K146 与…...

LLMs 系列实操科普(1)

写在前面&#xff1a; 本期内容我们继续 Andrej Karpathy 的《How I use LLMs》讲座内容&#xff0c;原视频时长 ~130 分钟&#xff0c;以实操演示主流的一些 LLMs 的使用&#xff0c;由于涉及到实操&#xff0c;实际上并不适合以文字整理&#xff0c;但还是决定尽量整理一份笔…...

Unity UGUI Button事件流程

场景结构 测试代码 public class TestBtn : MonoBehaviour {void Start(){var btn GetComponent<Button>();btn.onClick.AddListener(OnClick);}private void OnClick(){Debug.Log("666");}}当添加事件时 // 实例化一个ButtonClickedEvent的事件 [Formerl…...

微服务通信安全:深入解析mTLS的原理与实践

&#x1f525;「炎码工坊」技术弹药已装填&#xff01; 点击关注 → 解锁工业级干货【工具实测|项目避坑|源码燃烧指南】 一、引言&#xff1a;微服务时代的通信安全挑战 随着云原生和微服务架构的普及&#xff0c;服务间的通信安全成为系统设计的核心议题。传统的单体架构中&…...