当前位置: 首页 > 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只为用户提供…...

linux之kylin系统nginx的安装

一、nginx的作用 1.可做高性能的web服务器 直接处理静态资源&#xff08;HTML/CSS/图片等&#xff09;&#xff0c;响应速度远超传统服务器类似apache支持高并发连接 2.反向代理服务器 隐藏后端服务器IP地址&#xff0c;提高安全性 3.负载均衡服务器 支持多种策略分发流量…...

MODBUS TCP转CANopen 技术赋能高效协同作业

在现代工业自动化领域&#xff0c;MODBUS TCP和CANopen两种通讯协议因其稳定性和高效性被广泛应用于各种设备和系统中。而随着科技的不断进步&#xff0c;这两种通讯协议也正在被逐步融合&#xff0c;形成了一种新型的通讯方式——开疆智能MODBUS TCP转CANopen网关KJ-TCPC-CANP…...

Map相关知识

数据结构 二叉树 二叉树&#xff0c;顾名思义&#xff0c;每个节点最多有两个“叉”&#xff0c;也就是两个子节点&#xff0c;分别是左子 节点和右子节点。不过&#xff0c;二叉树并不要求每个节点都有两个子节点&#xff0c;有的节点只 有左子节点&#xff0c;有的节点只有…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

云原生玩法三问:构建自定义开发环境

云原生玩法三问&#xff1a;构建自定义开发环境 引言 临时运维一个古董项目&#xff0c;无文档&#xff0c;无环境&#xff0c;无交接人&#xff0c;俗称三无。 运行设备的环境老&#xff0c;本地环境版本高&#xff0c;ssh不过去。正好最近对 腾讯出品的云原生 cnb 感兴趣&…...

JS手写代码篇----使用Promise封装AJAX请求

15、使用Promise封装AJAX请求 promise就有reject和resolve了&#xff0c;就不必写成功和失败的回调函数了 const BASEURL ./手写ajax/test.jsonfunction promiseAjax() {return new Promise((resolve, reject) > {const xhr new XMLHttpRequest();xhr.open("get&quo…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南&#xff1a;从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

零知开源——STM32F103RBT6驱动 ICM20948 九轴传感器及 vofa + 上位机可视化教程

STM32F1 本教程使用零知标准板&#xff08;STM32F103RBT6&#xff09;通过I2C驱动ICM20948九轴传感器&#xff0c;实现姿态解算&#xff0c;并通过串口将数据实时发送至VOFA上位机进行3D可视化。代码基于开源库修改优化&#xff0c;适合嵌入式及物联网开发者。在基础驱动上新增…...

抽象类和接口(全)

一、抽象类 1.概念&#xff1a;如果⼀个类中没有包含⾜够的信息来描绘⼀个具体的对象&#xff0c;这样的类就是抽象类。 像是没有实际⼯作的⽅法,我们可以把它设计成⼀个抽象⽅法&#xff0c;包含抽象⽅法的类我们称为抽象类。 2.语法 在Java中&#xff0c;⼀个类如果被 abs…...

学习一下用鸿蒙​​DevEco Studio HarmonyOS5实现百度地图

在鸿蒙&#xff08;HarmonyOS5&#xff09;中集成百度地图&#xff0c;可以通过以下步骤和技术方案实现。结合鸿蒙的分布式能力和百度地图的API&#xff0c;可以构建跨设备的定位、导航和地图展示功能。 ​​1. 鸿蒙环境准备​​ ​​开发工具​​&#xff1a;下载安装 ​​De…...