ESP32
文章平均质量分 88
ESP32是乐鑫继ESP8266后推出的又一款集成WiFi功能的微控制器。
Naiva
人生就是不断学习让自己满意的过程——学无止境!
1、Standing on Shoulders of Giants!
2、Read、Ask、Search
3、WeChatID:903828673
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
ESP32-C3 入门09:基于 ESP-IDF + LVGL + ST7789 的 1.54寸 WiFi 时钟(SquareLine Studio 移植)
为什么选择 ESP32-C3本篇主要目标:从零开始实现一个WiFi 时钟 UI用到的开发工具与硬件SquareLine Studio 是一款专业的嵌入式 GUI(图形用户界面)开发工具,由 LVGL(Light and Versatile Graphics Library)官方团队开发。它的核心理念是让开发者能够以拖拽式、所见即所得的方式,为嵌入式设备(如智能手表、家电面板、工业控制器等)设计美观且功能丰富的用户界面,而无需编写大量的底层绘图代码。原创 2025-09-13 09:47:06 · 1165 阅读 · 0 评论 -
【小技巧】解‘d:\ESP_IDF_541\ins\Espressif\tools\idf-python\3.11.2\python.exe -m pip“ is not valid. (ERROR_
之后再cmd命令里面检查一下。完了再重启一下电脑。重新打开vs code 进行 install。问题如下,也就是在安装小智AI开发环境的时候,esp-idf开发环境配置报错。静静等待,安装完成!原创 2025-04-04 11:30:40 · 1623 阅读 · 0 评论 -
ESP32-C3 入门笔记08:多帧数据解析
作用:将当前帧的 48 字节数据复制到动态图片缓冲区中,存储在对应的帧位置。核心逻辑根据计算目标存储位置。将当前帧的数据完整复制到缓冲区。确保多帧数据按顺序存储在统一的缓冲区中,为后续处理或显示提供基础。如果有更多细节需要补充,请随时告诉我!原创 2025-01-05 09:44:59 · 1365 阅读 · 0 评论 -
ESP32-C3 入门笔记07: ESP-NOW动态绑定MAC地址. (ESP-IDF + VSCode)
该示例展示如何使用ESPNOW在 ESP32 设备之间实现无线通信。初始化 WiFi、ESPNOW,并准备广播数据包。设备发送广播消息来发现其他设备。如果发现新的设备,将其添加为对等设备(Peer)。设备完成对等发现后,停止广播并开始单播通信。通过 CRC16 校验码验证接收数据的完整性。原创 2024-12-11 20:42:14 · 2214 阅读 · 0 评论 -
在 ESP-IDF 中,FreeRTOS 创建事件组 xEventGroupCreate(),时间管理 esp_timer_create() 替代计数器.
在外部中断触发后,确保同一时刻只有一个显示任务在运行。通过事件组替代简单的标志变量(turn_lights_flag 和 running_lights_flag),更具扩展性。整合 tl_tm1681_update_task 和 rl_tm1681_update_task,避免冗余代码。通过 esp_timer 替代计数器实现延时判断。和 gpio_task_example();原创 2024-11-30 17:25:14 · 776 阅读 · 0 评论 -
在 ESP-IDF 中,FreeRTOS 创建任务,Task watchdog 任务看门狗超时问题。 tets_delay_us() 函数的确已经被 esp_rom_delay_us() 替代,
具体来说,它检测到某个任务(在这种情况下是 IDLE 任务)在预定的时间内没有重置看门狗计时器,这通常意味着系统处于某种阻塞状态或死循环。其实就是你的任务优先级比空闲任务高且你的任务在高密度的运行,所以导致系统的空闲函数无法执行喂狗从而导致看门狗触发,所以在建立任务时使用优先级。通过这种方式,你可以解决这个编译错误并实现所需的延时。,反正是等效于空闲任务的优先级的,亲测看门狗不会被触发。以下是一个简单的示例,展示了如何在任务中使用。,根据后面老哥的解释他应该是。在 ESP-IDF 中,来实现微秒级的延时。原创 2024-11-16 23:05:17 · 2135 阅读 · 1 评论 -
ESP32-C3 入门笔记06:存储 API - 非易失性存储库 (NVS) (读/写/删除数据)
初始化 NVS: 初始化非易失性存储(NVS),并确保存储区没有问题(例如需要擦除)。打开 NVS 存储区: 打开"storage"存储区以便进行读写操作。读取数据: 读取存储区中的键的值。如果数据没有找到,则返回默认值 0,并提示用户。写入数据: 更新的值,并写入 NVS 存储区。提交更改: 调用确保所有更改都被写入闪存。关闭 NVS: 关闭存储区,释放资源。重启过程: 模拟设备重启,在重启前倒计时并打印信息,最后调用实际重启设备。原创 2024-11-08 15:15:38 · 2586 阅读 · 0 评论 -
ESP32-C3 入门笔记05:蓝牙协议栈结构 + gatt_server_service_table 示例(ESP-IDF + VSCode)
BLE常用UUID 16bit和128bitUUID: “GATT层”中定义的所有属性都有一个UUID值,UUID是全球唯一的128位的号码,它用来识别不同的特性。通俗来讲UUID 可以简单理解为编号,唯一的编号,用于区分不同的个体。服务和特性都有各自的UUID。比如经典的9527。UUID 就跟身份证一样,不管是你是局长还是科长,人人都有身份证。蓝牙广播中对服务 UUID 格式定义都有三种 16 bit UUID、32 bit UUID、128 bit UUID。原创 2024-11-06 16:33:47 · 2179 阅读 · 0 评论 -
在ESP-IDF中, FreeRTOS中有哪几个函数是用于创建、删除任务的?任务间的通信?用ESP32-C3创建任务,支持双核吗?
最常用的函数,用于创建任务。其参数如你之前提到的那样。:这个函数与类似,但它允许你指定任务运行在哪个核心(对于双核 ESP32)上。你可以选择核心 0 或核心 1。:用于创建静态任务,可以在堆栈上分配内存,而不是动态分配。适合内存受限的应用。:结合了和的功能。关于 ESP32-C3,虽然它是单核处理器(只有一个核心),因此不会涉及到核心选择的功能,但和仍然可以使用来创建任务。你可以创建多个任务,FreeRTOS 将在单个核心上调度这些任务。原创 2024-11-04 13:25:43 · 814 阅读 · 0 评论 -
ESP32-C3 入门笔记03:VScode + flash_download_tool 下载烧录程序(ESP-IDF + PlatformIO)
使用 VS Code 配合 PlatformIO 或 ESP-IDF 插件进行串口烧录。串口连接通常使用 UART 接口,通过 USB 转串口芯片与电脑连接。:ESP32-C3 具有原生 USB 设备功能,可以直接通过 USB 接口与电脑通信进行烧录。使用官方的esptool.py工具或者 ESP-IDF 工具链,通过 USB 连接烧录程序。:如果已有编译好的.bin文件,可以使用esptool.py工具将二进制文件烧录到 ESP32-C3。步骤如下:使用命令行运行esptool.py。原创 2024-11-02 13:32:05 · 3890 阅读 · 0 评论 -
ESP32-C3 入门笔记04:gpio_key 按键 (ESP-IDF + VSCode)
ESP32-C3是QFN32封装,GPIO引脚一共有22个,从GPIO0到GPIO21。理论上,所有的IO都可以复用为任何外设功能,但有些引脚用作连接芯片内部FLASH或者外部FLASH功能时,官方不建议用作其它用途。通过开发板的原理图,可以看到开发板上的ESP32引脚连接情况。这里我们使用BOOT按键,来学习一下GPIO功能。ESP32的GPIO,可以用作输入、输出,可以配置内部上拉、下拉,可以配置为中断引脚。这里我们把连接 BOOT按键的IO9 引脚,设置为GPIO中断,接收BOOT按键请求。原创 2024-10-20 23:04:11 · 3430 阅读 · 1 评论 -
ESP32-C3 入门笔记03: ESP32-C3-DevKitM-1 & YD-ESP32-C3 (源地工作室)开发板核心板( 芯片ESP32-C3FN4资料) (ESP-IDF + VSCode)
实战派开发板相较于传统开发板,更趋近于实际产品的外观。不仅可以作为全功能开发板使用,还可以作为实际产品使用于实际工作和生活中。板上模组大部分管脚均已引出至两侧排针,可根据开发实际需求,轻松通过跳线连接多种外围设备,同时也可将开发板插在面包板上使用。或 ESP32-C3-MINI-1U 模组的入门级开发板(内置。ESP32-C3 系列的 芯片 /原创 2024-09-22 23:47:22 · 6859 阅读 · 0 评论 -
ESP32-C3 入门笔记02: 经典蓝牙(Bluetooth Classic)和低功耗蓝牙(Bluetooth Low Energy, BLE)(ESP-IDF + VSCode)
ESP32 蓝牙架构:使用 ESP32-C3 开发蓝牙应用,建议提前学习以下知识:掌握这些知识后,你就能更顺利地进行 ESP32-C3 的蓝牙开发了!经典蓝牙(Bluetooth Classic)和低功耗蓝牙(Bluetooth Low Energy, BLE)是两种不同的蓝牙技术标准,它们有不同的应用场景、优缺点和技术特点。以下是它们的区别及优缺点的详细分析:经典蓝牙 (Bluetooth Classic): 又称为 BR/EDR(Basic Rate/Enhanced Data Rate),是一种广泛原创 2024-09-22 23:06:59 · 6645 阅读 · 0 评论 -
ESP32-C3 入门笔记01: 开发环境搭建_hello_world! (ESP-IDF + VSCode)
配置 GPIO18 和 GPIO19(或 GPIO8 和 GPIO9)为输出引脚。配置 GPIO4 和 GPIO5 为输入引脚,并设置上拉电阻和中断模式(上升沿和任何边沿触发)。使用中断服务例程(ISR)处理 GPIO 中断,并将中断事件通过队列传递给一个任务处理。在中断服务例程中,当检测到 GPIO 触发中断时,会将中断源 GPIO 引脚号发送到队列。任务从队列中读取数据,处理中断事件,并打印触发中断的 GPIO 引脚号和状态。主函数app_main。原创 2024-09-08 23:13:18 · 3194 阅读 · 0 评论 -
ESP32桌面小电视内存不够用! “Arduino 为开发板 ESP32 Dev Module 编译时出错“。
项目使用了 2880030 字节,占用了 (219%) 程序存储空间。最大为 1310720 字节。全局变量使用了45016字节,(13%)的动态内存,余留282664字节局部变量。最大为327680字节。原创 2023-04-08 10:19:18 · 4565 阅读 · 0 评论 -
ESP32 入门笔记08:1.54寸(240*240)彩色TFT 显示高清IPS LCD 屏幕 SPI接口
ESP32 入门笔记01:乐鑫ESP32-DevKitC开发板信息、开发环境搭建以及学资料准备。原创 2023-04-04 22:34:39 · 10270 阅读 · 0 评论 -
ESP32 入门笔记07: ESP-NOW (ESP32 for Arduino)
ESP-NOW 是一种快速、无连接的通信技术,具有短数据包传输的特点。ESP-NOW 是乐鑫开发的一种“协议”,它使多个设备无需使用 Wi-Fi 即可相互通信。该协议类似于低功耗 2.4GHz 无线连接。在通信之前需要设备之间的配对。配对完成后,连接是安全的点对点连接,不需要握手。这意味着在设备彼此配对后,连接是持久的。换句话说,如果你的一块板突然断电或复位,当它重新启动时,它会自动连接到它的对端以继续通信。ESP-NOW 是智能灯、遥控设备、传感器和其他应用的理想选择。加密和未加密的单播通信;原创 2022-11-22 15:48:08 · 7838 阅读 · 6 评论 -
ESP32 入门笔记06: WIFI时钟 + FreeRTOS+《两只老虎》 (ESP32 for Arduino IDE)
Esp32 模块中已经提供了 FreeRTOS(实时操作系统)固件。FreeRTOS有助于和的资源。FreeRTOS允许用户处理,如测量传感器读数,发出网络请求,控制电机速度等,所有这些任务都可以同时独立运行。FreeRTOS为不同的应用程序提供了多个API。这些 API 可用于创建任务并使其在上运行。您需要创建任务以将代码的特定部分分配给特定内核。您还可以确定代码将在哪个内核上运行的优先级。原创 2022-11-09 13:05:48 · 4369 阅读 · 0 评论 -
Easy EDA #学习笔记09# | ESP32 一键下载电路
使用Arduino IDE烧录ESP32的时候,IDE会提示在60秒(好像是)内要按下板载**BOOT**键,否则就出现`'…'`___连串等待,超时报错,结束。原创 2022-06-22 17:40:45 · 3228 阅读 · 5 评论 -
C语言练习:ESP32 BLE低功耗蓝牙服务端数据打包和客户端数据解析
问题描述:BLE 低功耗蓝牙由服务端和客户端组成,现有服务端获取PWM数据、电源ADC数据通过数据打包后由蓝牙传输到客户端进行数据解析,最后将解析过后的pwm和adc数据显示在屏幕上。为什么需要打包数据?因为低功耗BLE蓝牙一个服务有多个标签,也叫特征值,一个标签可以串行读写、通知数据,就可以节省蓝牙传输的通道资源。解析字符型数据#include <stdio.h>#include <string.h>#include <stdlib.h>/**转载 2022-05-26 15:29:57 · 1720 阅读 · 1 评论 -
ESP32 入门笔记05: BLE 蓝牙客户端和服务器 (ESP32 for Arduino IDE)
目录BLE_clientBLE_server参考资料GATT 代表通用属性,它定义了向连接的 BLE 设备公开的分层数据结构。这意味着 GATT 定义了两个 BLE 设备发送和接收标准消息的方式。理解这个层次结构很重要,因为它可以更容易地理解如何将 BLE 与 ESP32 一起使用。Profile: 针对特定用例的标准服务集合;Service: 服务,收集相关信息,如传感器读数、电池电量、心率等;Characteristic: 特征,它是实际数据保存在层次结构(值)上的位置;Descrip原创 2022-05-12 22:02:44 · 9795 阅读 · 3 评论 -
ESP32 项目笔记:基于ESP32主控和立创EDA的蓝牙控制电动滑板车 (适配Mixly图形化编程)
至此,2022年8月第一版结束。感觉自己无论是画PCB电路板时元器件选型,PCB 布局还是单片机C语言程序设计时数据类型的使用(byte,u8节省内存;结构体,指针也没有用)都不很专业。有待继续学习!原创 2022-04-20 12:16:24 · 814 阅读 · 0 评论 -
ESP32 入门笔记04: 0.96寸OLED 显示屏 + u8g2库丝滑显示UI (ESP32 for Arduino IDE)
先导知识ESP32 入门笔记01:开发板信息、开发环境搭建以及学资料准备ESP32 入门笔记02: GPIO参考指南在本例中,我们使用 I2C 通信协议。ESP32 中最适合 I2C 通信的引脚是通用输入输出接口 22(SCL) 和通用输入输出接口 21(SDA)。安装 SSD1306 OLED 库 – ESP32有几个库可用于使用 ESP32 控制 OLED 显示器。在本教程中,我们将使用两个 Adafruit 库:Adafruit_SSD1306 库和Adafruit_GFX 库。下载原创 2022-04-15 16:00:36 · 27937 阅读 · 3 评论 -
ESP32 入门笔记03:PWM (ESP32 for Arduino IDE)
先导知识ESP32 入门笔记01:开发板信息、开发环境搭建以及学资料准备ESP32 入门笔记02: GPIO 参考指南ESP32 有一个 LED PWM 控制器,具有 16 个独立通道,可配置为生成具有不同属性的 PWM 信号。以下是使用 Arduino IDE 使用 PWM 调暗 LED 必须遵循的步骤:1.首先需要选择一个PWM通道。从 0 到 15 共有 16 个通道。2.然后,您需要设置 PWM 信号频率。对于 LED,可以使用 5000 Hz 的频率。3.您还需要设置信号的占原创 2022-04-14 16:31:20 · 5006 阅读 · 2 评论 -
ESP32 入门笔记02: GPIO 参考指南
文章目录外设GPIO接口仅输入GPIO (Input only pins)电容式触摸 GPIO模数转换器 (ADC)数模转换器 (DAC)脉宽调制 ( PWM)实时时钟 (RTC)UARTI2CSPI中断(INT)使能 (EN)集成闪存(SPI flash)Strapping PinsPins HIGH at Boot参考资料ESP32 芯片有48个引脚,具有多种功能,并不是所有的 ESP32 开发板的管脚都暴露在外,有些管脚不能使用。下图显示了典型 ESP-WROOM-32 模块的引脚排列。它由 38原创 2022-04-14 15:29:29 · 12865 阅读 · 0 评论 -
ESP32 入门笔记01:乐鑫ESP32-DevKitC开发板信息、开发环境搭建以及学资料准备
乐鑫科技官网 :产芯片安信可科技:安信可作为乐鑫的客户,二次开发NodeMcu官网:基于乐鑫espxx的NodeMcu开发板,具有GPIO、PWM、I2C、1-Wire、ADC等功能,结合NodeMcu 固件为您的原型开发提供最快速的途径RNT Random Nerd Tutorials :ESP32 、ESP8266、ESP Cam免费学习网站ESP32 开发板入门以下内容参考:【RNT】 ESP32 开发板入门ESP32-WROOM-32 外形如下:以下内容参..原创 2022-04-13 15:39:28 · 26876 阅读 · 3 评论
分享