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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/121206.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring概述

Spring概述 Spring 是最受欢迎的企业级 Java 应用程序开发框架,数以百万的来自世界各地的开发人员使用 Spring 框架来创建性能好、易于测试、可重用的代码。 Spring 框架是一个开源的 Java 平台,它最初是由 Rod Johnson 编写的,并且于 2003 …

【EI会议征稿】 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)

2024年遥感、测绘与图像处理国际学术会议(RSMIP2024) 2024 International Conference on Remote Sensing, Mapping and Image Processing 2024年遥感、测绘与图像处理国际学术会议(RSMIP2024)将于2024年1月19日-21日在中国厦门举行。会议主要围绕遥感、测绘与图像处理等研究领…

蒸散发与植被总初级生产力的区域数据下载、处理与显示

植被总初级生产力(GPP)是指植物通过光合作用吸收的碳,是陆地生物圈和大气之间最大的碳通量,GPP的准确量化对于理解气候变化中生态系统功能、农业生产和碳循环的动态以及对气候的反馈具有重要意义 蒸散发(Evapotranspiration,ET&a…

XTU-OJ 1258-矩阵

编写一个程序,将1~n2按行依次填入nn的矩阵,执行若干条行或者列的循环移动的指令,再将数字按行依次取出。 指令如下: 指令含义L x yx行循环左移y次R x yx行循环右移y次U x yx列循环上移y次D x yx列循环下移y次 输入 第一行是一个整…

Vue3-02_Vue基础入门

背景 这里,跟vue官网的介绍章节稍有差异。官网上侧重组件原理,从浅到深介绍各种组件。后续是系统生态。 教程上更偏路线化,需要用到的优先讲解。完成综合案例。所以我主要按照教程的思路来进行学习。 ◆ 能够知道 vue 的基本使用步骤 ◆ 掌…

threejs(4)-纹理材质高级操作

一、纹理重复_缩放_旋转_位移操作 // 导入threejs import * as THREE from "three"; // 导入轨道控制器 import { OrbitControls } from "three/examples/jsm/controls/OrbitControls.js"; // 导入lil.gui import { GUI } from "three/examples/jsm/l…

win10 + VS2017 编译libjpeg(jpeg-9b)--更新

刚刚写了一篇“win10 VS2017 编译libjpeg(jpeg-9b)”, 然后就发现,还有一个更好的方法。因此,重新更新了一篇,作为对比与参考。 需要用到的文件: jpeg-9b.zip win32.mak 下载链接链接…

当生成式AI遇到业务流程管理,大语言模型正在变革BPM

生成式AI对各领域有很大影响,一个方面在于它改变了很多固有业务的工作流。 工作流(Workflow)是业务流程的一种实现方式,一个业务流程往往包含多个工作流范式以及相关的数据、组织和系统。 因此,提及工作流必然离不开业…

13 结构性模式-装饰器模式

1 装饰器模式介绍 在软件设计中,装饰器模式是一种用于替代继承的技术,它通过一种无须定义子类的方式给对象动态的增加职责,使用对象之间的关联关系取代类之间的继承关系. 2 装饰器模式原理 //抽象构件类 public abstract class Component{public abstract void operation(); }…

java spring boot 字符串判空

1、安装依赖 <dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>3.12.0</version></dependency>2、用法 2.1 StringUtils.isNotBlank()&#xff1a;判断参数是否不为空 /*…

StringBoot整合跟请求有关的注解

RequestMapping RequestMapping 注解可以在控制器类上和控制器类中的方法上使用。GetMapping、PostMapping、PutMapping、DeleteMapping、PatchMapping 都是HTTP方法特有的快捷方式RequestMapping的变体&#xff0c;分别对应具体的HTTP请求方式的映射注解 GetMapping GetMap…

React JSX常用语法总结

React JSX语法 什么是React JSX JSX&#xff08;javascript xml&#xff09; 就是JavaScript和XML结合的一种格式&#xff0c;是JavaScript的语法扩展&#xff0c;只要把HTML代码写在JS中&#xff0c;就为JSX。用于动态构建用户界面的Javascript库&#xff0c;发送请求获取数据…

源码角度分析Java 循环中删除数据为什么会报异常

一、源码角度分析Java 循环中删除数据为什么会报异常 相信大家在之前或多或少都知道 Java 中在增强 for中删除数据会抛出&#xff1a;java.util.ConcurrentModificationException 异常&#xff0c;例如&#xff1a;如下所示程序&#xff1a; public class RmTest {public sta…

Django分页功能的使用和自定义分装

1. 在settings中进行注册 # drf配置 REST_FRAMEWORK {DEFAULT_AUTHENTICATION_CLASSES: (# rest_framework_jwt.authentication.JSONWebTokenAuthentication,rest_framework_simplejwt.authentication.JWTAuthentication,rest_framework.authentication.SessionAuthenticatio…

高等数学教材重难点题型总结(六)定积分的应用

本章全是物理题&#xff0c;总的来说计算层面并不难&#xff0c;难点主要在于&#xff1a;对于体积和面积的题&#xff0c;核心在于抽象出面积/体积元素——本质上就是被积函数&#xff1b;对于物理题&#xff0c;基础的物理的公式一定要牢记~ 1.求平面面积 2.求旋转体的体积…

爬虫批量下载科研论文(SciHub)

系列文章目录 利用 eutils 实现自动下载序列文件 提示&#xff1a;写完文章后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 系列文章目录前言一、获取文献信息二、下载文献PDF文件参考 前言 大家好✨&#xff0c;这里是bio&#x1f996;。…

初识《时间复杂度和空间复杂度》

目录 前言&#xff1a; 关于数据结构与算法 1.什么是数据结构&#xff1f; 2.什么是算法&#xff1f; 3.数据结构和算法的重要性 算法效率是什么&#xff1f; 1.怎样衡量一个算法的好坏呢&#xff1f; 2.算法的复杂度是个什么&#xff1f; 时间复杂度 1.时间复杂度的概…

NLP之RNN的原理讲解(python示例)

目录 代码示例代码解读知识点介绍 代码示例 import numpy as np import tensorflow as tf from tensorflow.keras.layers import SimpleRNNCell# 第t时刻要训练的数据 xt tf.Variable(np.random.randint(2, 3, size[1, 1]), dtypetf.float32) print(xt) # https://www.cnblog…

微服务技术导学

文章目录 微服务结构认识微服务技术栈 微服务结构 技术&#xff1a; 解决异常定位&#xff1a; 持续集成&#xff0c;解决自动化的部署&#xff1a; 总结如下&#xff1a; 认识微服务 微服务演变&#xff1a; 技术栈 SpringCloud与SpringBoot版本对应关系

VS2022 C# 读取 excel 2023年

今天是2023年6月26日&#xff0c;我有一个excel表要读数据&#xff0c;然后放到winform程序来处理&#xff0c;网上的资料太旧&#xff0c;很多用不起来&#xff0c;试了一个可以使用&#xff0c;记录一下&#xff1a; 一、excel文件后缀需要小写。 二、用VS2022建一个winform…