ESP32 ESP-Rainmaker 本地点灯控制Demo测试

news2024/11/25 22:39:14

基于ESP-Rainmaker 本地点灯控制Demo测试


  • 🌿ESP-Rainmaker项目地址:https://github.com/espressif/esp-rainmaker/tree/master
  • ✨这个项目早些时候就已经开始测试了,最后卡在了手机APP连接esp32设备端一直无法连接上,也一直没有找到原因和解决办法,导致该项目测试一直搁置,很有可能是个人手机的问题,前段时间还在该github项目上提交了Issue,今天看到别人发的相关的内容能成功,我还是有点不想放弃,今天继续尝试一下,结果误打误撞成功连接上了。

在这里插入图片描述

  • 🌿本次所使用的测试项目编译的是:\esp-rainmaker\examples\led_light

⛳项目编译注意事项

  • 🌿根据个人所使用的esp32型号的不同,在正式进入项目编译前,需要进行idf.py menuconfig引脚配置:(默认配置的是GPIO 8)和使能RGB led选项。注意:配置好后,记得按S键,在弹出的对话框按回车保存,当前配置内容。,如下图:
idf.py menuconfig

在这里插入图片描述
在这里插入图片描述

  • 🔖我这里配置的是GPIO18 引脚。
    在这里插入图片描述

📑esp-idf编译命令执行步骤:

install.bat	//esp-idf初始化
export.bat	//运行esp-idf
cd D:\Git_Local\esp-rainmaker\examples\led_light  //通过cd命令到项目文件夹
idf.py set-target esp32		//设置编译目标芯片型号(默认为esp32),其他型号esp32c3或者其他esp32s2
idf.py menuconfig	//打开菜单配置选项,使能RGB—_LED选项,设置RGB_LED引脚
idf.py build	//开始正式进入编译
idf.py -p COM35 flash	//烧录到目标芯片,COM35为当前芯片连接电脑的串口端口号

设备接入

  • 🔨手机 APP :ESP-Rainmakerhttps://github.com/espressif/esp-rainmaker-android/releases

  • 🌿通过串口调试助手工具打开对应连接电脑的esp32端口:(重启设备,可以查看到下面的信息)
    在这里插入图片描述

  • 🌿将上面框选区域的内容拷贝到浏览器当中,回车,会出现如下带二维码的页面:

在这里插入图片描述

  • 🌿手机端打开蓝牙定位功能
    在这里插入图片描述
  • 🌿在ESP-Rainmaker APP界面,右上角+号,添加接入设备
    在这里插入图片描述
  • 🌿可以扫描浏览器页面的二维码,跳转到下一个页面或者点选下面的I don't have a QR code 选择ble
    在这里插入图片描述
    在这里插入图片描述
  • 🌿连接esp32设备。
    在这里插入图片描述
  • 🌿连接成功后,会自动跳转到输入pop码界面:(我的手机之前就是一直跳不到这个界面)
    在这里插入图片描述
    在这里插入图片描述
  • 🌿手机蓝牙和esp32蓝牙配对成功后,就会自动跳转到配网界面:(选择一个2.4G的Wifi网络进行连接,输入wifi密码)

在这里插入图片描述

  • 🌿等待接入完成:
    在这里插入图片描述

  • 🌿esp32设备接入完成后,就可以在ESP-RainmakerAPP主界面看到已接入的设备:
    在这里插入图片描述

  • 🌿可以点击并控制接在GPIO18 引脚上的WS2812灯珠了。

    • 🍁主界面按键是控制WS2812灯珠亮,灭,
      在这里插入图片描述
    • 🍁点进去可以进行具体的ws2812调光:
      在这里插入图片描述

📚固件分享

  • 🔖基于esp32 WS2812 接在GPIO 18引脚上.
  • 🔨可以使用乐鑫官方的烧录工具:flash_download_tool烧录,我是直接在esp-idf直接通过命令行烧录的。
    在这里插入图片描述
  • 🌿ESP32固件
链接: https://pan.baidu.com/s/1xSZF2fPDjaC1e9z1mPY69A
提取码: ugr8
  • 🌿esp32c3固件
链接: https://pan.baidu.com/s/1vMHxKHwQ-0_kTG1h6sKUug
提取码: 81p2
  • 📋烧录参考信息:
D:\Espressif\frameworks\esp-idf-v4.4.4>cd D:\Git_Local\esp-rainmaker\examples\led_light2

D:\Git_Local\esp-rainmaker\examples\led_light2>idf.py -p COM35 flash
Executing action: flash
Running ninja in directory d:\git_local\esp-rainmaker\examples\led_light2\build
Executing "ninja flash"...
[1/5] cmd.exe /C "cd /D D:\Git_Local\esp-rainmaker\example...cal/esp-rainmaker/examples/led_light2/build/led_light.bin"
led_light.bin binary size 0x15e520 bytes. Smallest app partition is 0x190000 bytes. 0x31ae0 bytes (12%) free.
[2/5] Performing build step for 'bootloader'
[1/1] cmd.exe /C "cd /D D:\Git_Local\esp-rainmaker\examples\led_light2\build\bootloader\esp-idf\esptool_py && D:\Espressif\python_env\idf4.4_py3.8_env\Scripts\python.exe D:/Espressif/frameworks/esp-idf-v4.4.4/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x1000 D:/Git_Local/esp-rainmaker/examples/led_light2/build/bootloader/bootloader.bin"
Bootloader binary size 0x6410 bytes. 0xbf0 bytes (11%) free.
[2/3] cmd.exe /C "cd /D D:\Espressif\frameworks\esp-idf-v4...sp-idf-v4.4.4/components/esptool_py/run_serial_tool.cmake"
esptool.py esp32 -p COM35 -b 460800 --before=default_reset --after=hard_reset write_flash --flash_mode dio --flash_freq 40m --flash_size 16MB 0x1000 bootloader/bootloader.bin 0x20000 led_light.bin 0x8000 partition_table/partition-table.bin 0x16000 ota_data_initial.bin
esptool.py v3.3.2
Serial port COM35
Connecting....
Chip is ESP32-D0WDQ6 (revision 1)
Features: WiFi, BT, Dual Core, 240MHz, VRef calibration in efuse, Coding Scheme None
Crystal is 40MHz
MAC: 08:3a:f2:8d:cd:e0
Uploading stub...
Running stub...
Stub running...
Changing baud rate to 460800
Changed.
Configuring flash size...
Flash will be erased from 0x00001000 to 0x00007fff...
Flash will be erased from 0x00020000 to 0x0017efff...
Flash will be erased from 0x00008000 to 0x00008fff...
Flash will be erased from 0x00016000 to 0x00017fff...
Compressed 25616 bytes to 16093...
Writing at 0x00001000... (100 %)
Wrote 25616 bytes (16093 compressed) at 0x00001000 in 0.8 seconds (effective 249.0 kbit/s)...
Hash of data verified.
Compressed 1434912 bytes to 871905...
Writing at 0x00020000... (1 %)
Writing at 0x0002dbe8... (3 %)
Writing at 0x0003b570... (5 %)
Writing at 0x00046df1... (7 %)
Writing at 0x0004e331... (9 %)
Writing at 0x0005b524... (11 %)
Writing at 0x00065575... (12 %)
Writing at 0x0006f509... (14 %)
Writing at 0x00075635... (16 %)
Writing at 0x0007b0c4... (18 %)
Writing at 0x00080d42... (20 %)
Writing at 0x0008676e... (22 %)
Writing at 0x0008c615... (24 %)
Writing at 0x000926f7... (25 %)
Writing at 0x000982bf... (27 %)
Writing at 0x0009e518... (29 %)
Writing at 0x000a4361... (31 %)
Writing at 0x000aa722... (33 %)
Writing at 0x000b0938... (35 %)
Writing at 0x000b62fd... (37 %)
Writing at 0x000bbfd0... (38 %)
Writing at 0x000c1cd7... (40 %)
Writing at 0x000c7f86... (42 %)
Writing at 0x000cdd16... (44 %)
Writing at 0x000d38da... (46 %)
Writing at 0x000d9091... (48 %)
Writing at 0x000dea70... (50 %)
Writing at 0x000e4279... (51 %)
Writing at 0x000e9ed9... (53 %)
Writing at 0x000f0157... (55 %)
Writing at 0x000f5bf8... (57 %)
Writing at 0x000fb5cf... (59 %)
Writing at 0x001016a2... (61 %)
Writing at 0x0010787f... (62 %)
Writing at 0x0010d227... (64 %)
Writing at 0x00112c05... (66 %)
Writing at 0x00117f7f... (68 %)
Writing at 0x0011d3d9... (70 %)
Writing at 0x0012269d... (72 %)
Writing at 0x00127d44... (74 %)
Writing at 0x0012d45f... (75 %)
Writing at 0x00132e32... (77 %)
Writing at 0x001387c7... (79 %)
Writing at 0x0013e4a1... (81 %)
Writing at 0x00143d79... (83 %)
Writing at 0x0014956f... (85 %)
Writing at 0x00152506... (87 %)
Writing at 0x001591e2... (88 %)
Writing at 0x00160e26... (90 %)
Writing at 0x0016687f... (92 %)
Writing at 0x0016c74b... (94 %)
Writing at 0x00171fa9... (96 %)
Writing at 0x00177aec... (98 %)
Writing at 0x0017ce5f... (100 %)
Wrote 1434912 bytes (871905 compressed) at 0x00020000 in 23.3 seconds (effective 492.9 kbit/s)...
Hash of data verified.
Compressed 3072 bytes to 164...
Writing at 0x00008000... (100 %)
Wrote 3072 bytes (164 compressed) at 0x00008000 in 0.1 seconds (effective 223.4 kbit/s)...
Hash of data verified.
Compressed 8192 bytes to 31...
Writing at 0x00016000... (100 %)
Wrote 8192 bytes (31 compressed) at 0x00016000 in 0.2 seconds (effective 397.2 kbit/s)...
Hash of data verified.

Leaving...
Hard resetting via RTS pin...
Done

D:\Git_Local\esp-rainmaker\examples\led_light2>

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

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

相关文章

性能:Intel Xeon(Ice Lake) Platinum 8369B阿里云CPU处理器

阿里云服务器CPU处理器Intel Xeon(Ice Lake) Platinum 8369B,基频2.7 GHz,全核睿频3.5 GHz,计算性能稳定。目前阿里云第七代云服务器ECS计算型c7、ECS通用型g7、内存型r7等规格均采用该款CPU。 Intel Xeon(Ice Lake) Platinum 8369B Intel …

Linux第五章

文章目录 前言一、MySQL5.7版本在CentOS系统安装二、Tomcat安装部署1.安装JDK环境2. 解压并安装Tomcat 三、Nginx安装部署四、RabbitMQ安装部署五、Redis安装部署六、ElasticSearch安装部署七、集群化环境前置准备八、Zookeeper集群安装部署九、Kafka集群安装部署十、大数据集群…

操作系统的进程调度

进程调度概述 一、操作系统的调度时机 1、什么时候进行进程调度? 主动放弃(进程正常终止、运行过程中发生异常而终止、进程主动请求阻塞) 被动放弃(分给进程的时间片用完、有更紧急的事需要处理、有更高优先级的进程进入就绪队列…

CentOS7 安装MySQL8

CentOS7 安装MySQL8 安装 VMware 以及 CentOS更新系统添加 MySQL Yum 存储库安装 MySQL 8启动 MySQL检查 MySQL 状态查看临时密码用临时密码登录修改密码 安装 VMware 以及 CentOS 由于本博主之前写过,在这给出链接,不再赘述了 https://blog.csdn.net/w…

2023.4.30 第五十一次周报

目录 前言 文献阅读 背景 对现有技术的分析 主要思路和贡献 相关性分析和归一化处理 相关性分析 归一化处理 TCN 基于 TCN-LSTM 的 PM 浓度预测模型 敏感性分析 论文思路 求半方差 训练模型 -1 训练模型-2 总结 前言 This week I studied an article that cons…

R语言 | 进阶字符串的处理

目录 一、语句的分割 二、修改字符串的大小写 三、unique()函数的使用 四、字符串的连接 4.1 使用paste()函数常见的失败案例1 4.2 使用paste()函数常见的失败案例2 4.3 字符串的成功连接与collapse参数 4.4 再谈paste()函数 4.5 扑克牌向量有趣的应用 五、字符串数据的…

vue前端开发100问(持续更新)

1.export default的作用是 export主要用于对外输出本模块变量的接口,一个文件就可以被理解为一个模块。export就是导出。 import就是在一个模块中加载另一个含有export接口的模块, import就是导入。 2.什么样的内容需要放在export default里面&#xf…

mybatis使用(简单易上手)

mybatis使用 一、mybatis介绍1、mybatis是什么2、mybatis支持的数据库3、~~mybatis插件机制~~ 二、springboot集成mybatis1、引入依赖2、配置mybatis 三、使用mybatis1、注解方式使用mybatis2、XML文件方式 一、mybatis介绍 1、mybatis是什么 MyBatis是一个开源的Java持久层框…

第十七章 预制件prefab(下)

本章节我们来讲解如何编辑预制体文件。这里介绍三种打开编辑预制件的方式。第一就是通过预制件的实例游戏对象的Inspector检视面板上面的预制件“打开”按钮。 第二就是在Project工程面板中选中预制件文件(Cube.prefab),然后在Inspector检视面…

山东专升本计算机第八章-多媒体技术基础

多媒体技术基础 多媒体技术 考点 7 图形/图像处理软件 图形/图像文件格式 • BMP • windows系统下的标准位图格式 • 未经压缩 • JPEG(联合图像专家组) • 有损压缩格式,色数量高达24位,广泛应用于Internet上的主页或图片…

excel实战小测第四

【项目背景】 本项目为某招聘网站部分招聘信息,要求对“数据分析师”岗位进行招聘需求分析,通过对城市、行业、学历要求、薪资待遇等不同方向进行相关性分析,加深对数据分析行业的了解。 结合企业真实招聘信息,可以帮助有意转向数…

【艾特淘】淘宝“客服3分钟响应率”考核调整

淘宝商家“客服3分钟响应率”考核调整,还不知道的商家赶紧来看看,具体都有哪些变化哦~ 一、考核范围 考核范围对象为店铺正常状态,达到一定经营模式的淘宝卖家。 此对象定义为:卖家的商家层级达到5以上,同时还将考虑…

C++实现二叉搜索树

文章目录 前言1.二叉树搜索树的相关介绍2.二叉搜索树的实现1.二叉搜索树插入数据的实现2.二叉搜索树的查找实现3.二叉搜索树的删除实现4.构造函数和析构函数以及赋值重载的实现 3.二叉搜索树的应用1.将之前的K模型二叉搜索树改造成KV模型2.代码演示 4.二叉搜索树的性能分析 前言…

本地Linux服务器安装宝塔面板,并公网远程登录【内网穿透】

文章目录 前言1. 安装宝塔2. 安装cpolar内网穿透3. 远程访问宝塔4. 固定http地址5. 配置二级子域名6. 测试访问二级子域名 前言 宝塔面板作为建站运维工具,它支持一键LAMP/LNMP/集群/监控/网站/FTP/数据库/JAVA等100多项服务器管理功能,可提高运维效率。…

人工智能导论:模型与算法,附录实验三:线性回归模型

本人研一,简单记录下上课的大作业,如果你不会自己写,相信你有缘能找到这篇博客 线性回归模型 1.实验内容 图像是一种非常常见的信息载体,但是在图像的获取、传输、存储过程中可能由于各种原因使得图像受到噪声的影响。如何去除…

程序员如何通过创作图文项目实现自己的代码价值

本文阅读适合人群: 1.程序员 2.图文赛道创业者 项目背景: 毫无疑问,这是一个优质内容的时代,从某种意义上说,优质内容Money。优质内容的形式包含很多,在头条的定义中包括:纯文字(…

存储资源调优技术——SmartTier智能分级技术、SmartQoS智能服务质量控制技术

目录 SmartTier智能分级技术 基本概述 工作原理 实现SmartThier数据迁移的三个阶段 应用场景 SmartQoS智能服务质量控制 基本概念 两种关键技术 应用场景 SmartTier智能分级技术 基本概述 自动将不同活跃的数据和不同特点的存储介质动态匹配,提高性能。 NL…

ETL工具 - Kettle 转换算子介绍

一、Kettle 转换算子 上篇文章对 Kettle 中的输入输出算子进行了介绍,本篇文章继续对转换算子进行讲解。 下面是上篇文章的地址: ETL工具 - Kettle 输入输出算子介绍 转换是ETL里面的T(Transform),主要做数据转换&am…

开放式基金净值估算数据 API 数据接口

开放式基金净值估算数据 API 数据接口 全量基金数据,实时数据,所有基金数据。 1. 产品功能 返回实时开放式基金净值估值可定义所有基金估值数据;多个基金属性值返回;多维指标,一次查询毫秒级返回;数据持续…