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不需要擦除即可实现写入数据…...
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 作用:找到路中指定起点到指定终点的带权最短路径 核心步骤 1)确定起点,终点 2)从未走过的点中选取从起点到权值最小点作为中心点 3)如果满足 起点到中心点权值 中心点到指定其他点的权值 < 起…...
基于UDP/TCP的网络通信编程实现
小王学习录 今日鸡汤Socket套接字基于UDP来实现一个网络通信程序DatagramSocket类DatagramPacket类基于UDP的服务器端代码基于UDP的客户端代码基于TCP来实现一个网络通信程序ServerSocket类Socket类基于TCP的服务器端代码基于TCP的客户端代码优化之后的服务器端代码补充TCP长短…...
springboot启动报错
...
Python中的split()函数
函数:split() Python中有split()和os.path.split()两个函数,具体作用如下: split():拆分字符串。通过指定分隔符对字符串进行切片,并返回分割后的字符串列表(list) os.path.split():…...
大数据-玩转数据-Python Sftp Mysql 数据
一、需求描述 1、从Mysql数据库表下载数据到服务器; 2、将数据已csv文件格式存储并对数据格式进行处理(添加表头,表头和数据均用竖线分隔符隔开,末尾也加分割符); 3、文件路径文件夹以天为单位,…...
Selenium3-当元素通过@FindBy获取时,返回元素为null
报错: 在获取元素的js属性时一直获取不到,报空指针,定位到元素时,发现是FindBy的元素没有找到 解决方法: 在page类的构造函数中加上了 界面初始化,让元素先隐式加载,这样就不会出现返回元素为空的情况辣 PageFactory…...
JWT详解解读读
📑前言 本文主要是jwt解读文章,如果有什么需要改进的地方还请大佬指出⛺️ 🎬作者简介:大家好,我是青衿🥇 ☁️博客首页:CSDN主页放风讲故事 🌄每日一句:努力一点&#…...
一文详解如何从 Oracle 迁移数据到 DolphinDB
Oracle 是一个广泛使用的关系型数据库管理系统,它支持 ACID 事务处理,具有强大的安全性和可靠性,因此被广泛应用于各种企业级应用程序。但是,随着数据规模的增加和业务需求的变化,Oracle 的一些限制和缺点也逐渐暴露出…...
负载均衡--Haproxy
haproxy 他也是常用的负载均衡软件 nginx 支持四层转发,七层转发 haproxy也可以四层和七层转发 haproxy:法国人开发的威利塔罗在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传感器,它利用了QMA8658A 内置的3轴加速度计和3轴陀螺仪,同时结合QMC5883L的3轴地磁数据,来测量物体在三维空间中的角速度和加速度(严格意义上的IMU只为用户提供…...
【大模型RAG】拍照搜题技术架构速览:三层管道、两级检索、兜底大模型
摘要 拍照搜题系统采用“三层管道(多模态 OCR → 语义检索 → 答案渲染)、两级检索(倒排 BM25 向量 HNSW)并以大语言模型兜底”的整体框架: 多模态 OCR 层 将题目图片经过超分、去噪、倾斜校正后,分别用…...
uni-app学习笔记二十二---使用vite.config.js全局导入常用依赖
在前面的练习中,每个页面需要使用ref,onShow等生命周期钩子函数时都需要像下面这样导入 import {onMounted, ref} from "vue" 如果不想每个页面都导入,需要使用node.js命令npm安装unplugin-auto-import npm install unplugin-au…...
无法与IP建立连接,未能下载VSCode服务器
如题,在远程连接服务器的时候突然遇到了这个提示。 查阅了一圈,发现是VSCode版本自动更新惹的祸!!! 在VSCode的帮助->关于这里发现前几天VSCode自动更新了,我的版本号变成了1.100.3 才导致了远程连接出…...
UE5 学习系列(三)创建和移动物体
这篇博客是该系列的第三篇,是在之前两篇博客的基础上展开,主要介绍如何在操作界面中创建和拖动物体,这篇博客跟随的视频链接如下: B 站视频:s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
省略号和可变参数模板
本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...
Rust 开发环境搭建
环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu 2、Hello World fn main() { println…...
零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程
STM32F1 本教程使用零知标准板(STM32F103RBT6)通过I2C驱动ICM20948九轴传感器,实现姿态解算,并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化,适合嵌入式及物联网开发者。在基础驱动上新增…...
redis和redission的区别
Redis 和 Redisson 是两个密切相关但又本质不同的技术,它们扮演着完全不同的角色: Redis: 内存数据库/数据结构存储 本质: 它是一个开源的、高性能的、基于内存的 键值存储数据库。它也可以将数据持久化到磁盘。 核心功能: 提供丰…...
高端性能封装正在突破性能壁垒,其芯片集成技术助力人工智能革命。
2024 年,高端封装市场规模为 80 亿美元,预计到 2030 年将超过 280 亿美元,2024-2030 年复合年增长率为 23%。 细分到各个终端市场,最大的高端性能封装市场是“电信和基础设施”,2024 年该市场创造了超过 67% 的收入。…...
