- 博客(21)
- 收藏
- 关注
原创 ESP32的ADF详解:4. Event、高级Audio的API
6. 典型调用流程初始化事件接口绑定监听器处理事件发送自定义事件7. 注意事项线程安全内存管理性能调优8. 典型调用流程初始化实例添加组件播放控制动态调整9. 注意事项URI规则编解码器选择线程安全内存管理网络流媒体协议本地文件协议音频输入流协议蓝牙音频协议
2025-07-22 16:57:12
689
原创 ESP32的ADF详解:2. ESP-ADF基础框架
audio_element是ESP-ADF音频框架的核心构建模块,所有音频处理单元(解码器、编码器、过滤器、输入/输出流)本质上都是audio_element的实例化对象。其设计遵循模块化原则,每个元素作为独立FreeRTOS任务运行,通过环形缓冲区连接形成数据处理流水线。将音频处理拆分为独立功能单元(如解码器、流输入/输出、音效处理),每个元素专注单一职责。
2025-07-22 15:43:47
585
原创 PCMA、OPUS、AAC、MP3、WAV 五种音频格式详细对比
音频格式对比与选型指南 本文详细解析了5种主流音频格式: PCMA:64kbps固定比特率,超低延迟,适用于传统电话和VoIP系统 OPUS:6-510kbps动态码率,5ms超低延迟,适合WebRTC和视频会议 AAC:96-256kbps,高压缩率,专为音乐流媒体优化 MP3:128-320kbps,广泛兼容但延迟高 WAV:1411kbps无损格式,专业音频制作首选 选型建议:实时通信选OPUS/PCMA,音乐流媒体用AAC/MP3,专业制作需WAV。OPUS在低带宽场景优势明显,WAV保证无损音质但
2025-07-22 10:39:04
320
原创 ESP32的OTA升级详解:3. 搭建node/python服务器升级(native ota原生API)
ESP32/ESP32-S2/ESP32-C3等可通过Wi-Fi或以太网下载新固件到OTA分区实现运行时升级。ESP-IDF提供两种OTA升级方法:本次主要介绍通过原生API组件进行OTA升级native ota API参考链接 每次从服务器读取流大小为1024个字节证书嵌入:通过 CMake 将服务器的 PEM 格式公钥证书(ca_cert.pem)嵌入到固件二进制文件中。在 CMakeLists.txt 中使用 EMBED_TXTFILES 指令将证书文件编译进程序,证书数据会被存储在设备的 NVS(
2025-07-15 09:48:57
392
原创 ESP32的OTA升级详解:2. OTA低层组件app_update介绍
app_update 是“写 Flash 和切分区”的工具箱。esp_https_ota 是一个“从 HTTPS 网址下载更新包并用 app_update 工具箱安装好”的自动化程序。作用:返回状态为 INVALID 或 ABORTED 的最后一个分区。
2025-07-09 17:08:37
605
原创 ESP32的OTA升级详解:1. 如何使用otatool.py工具进行固件更新
otatool.py 是一个用于管理 ESP32 OTA分区的 Python 工具,主要用于读取、写入、擦除 OTA 分区以及切换启动分区。
2025-07-09 11:37:49
719
原创 ESP32实战:打造炫彩流水灯效——SK6812灯条花样控制
该驱动适用于单线控制的地址LED灯带(如WS2812、SK2812等),每个LED通过数据信号线(DIN)串行控制。驱动支持两种硬件外设生成LED时序信号。
2025-07-02 15:40:56
817
原创 ESP32的调试工具 xtensa-esp32-elf-xxx 使用指南
关键列含义列名说明Name内存节名称(反映类型和位置)Size节的大小(16进制字节数)VMA虚拟内存地址(运行时地址)LMA加载内存地址(烧录地址,通常与VMA相同)File off在ELF文件中的偏移量Algn对齐要求(如 2**5 = 32字节对齐)段名称段名称存储介质内容类型运行时特性外部Flash程序代码XIP执行外部Flash只读常量不可修改外部Flash应用元数据引导加载器读取IRAM/.text片内SRAM高频代码直接执行。
2025-06-30 17:16:16
625
原创 ESP32的IRAM用完了怎么优化
本文全面剖析了ESP32开发中IRAM内存的优化方法与实战策略。文章从内存分析入手,介绍了多种实用工具的使用场景和解读方法,帮助开发者快速定位内存占用热点。在优化策略方面,系统性地梳理了IRAM中应存放的关键内容类别,包括必须保留的中断服务程序、可选的性能敏感函数,以及需要规避的变量类型等。针对实际开发中的典型场景,文章深入分析了Wi-Fi/BT、FreeRTOS等核心组件的IRAM配置选项,提供了不同应用需求下的优化方案组合建议。特别强调了编译器行为对IRAM占用的影响,并给出了针对性的优化方法。通过
2025-06-30 14:30:51
1183
原创 AGV路径规划:osqp-eigen在MPC中的实战使用
在当前状态附近线性化系统动力学,计算状态转移矩阵 A、控制输入矩阵 B。构造 A_, B_, O_ 预测窗口内的累积系统模型。
2025-06-13 16:41:11
247
原创 cmake 快速使用方法
工程源码根目录:特定项目的源码目录(多project时):构建根目录:通过project()指定的项目名称:工程根目录:执行cmake命令的目录:当前CMakeList.txt所在目录:当前编译目录:项目名称这个 Foo 名字通常会作为:FooConfig.cmake 的文件名安装路径中的目录名:lib/cmake/Foo/FooConfig.cmake。
2025-06-13 16:14:35
987
原创 瑞芯微系列AI开发的基础介绍
明确行为类型:确定需要识别的行为(如“举手”“跌倒”“跑步”等)。数据形式:确认输入数据是单帧图像(基于静态行为)还是视频时序数据(动态行为)。模型选择静态行为:直接使用 YOLOv 检测单帧中的目标(如检测“举手”动作中的手部位置)。动态行为:可能需要结合 YOLOv(目标检测) + 时序模型(如 LSTM、3D-CNN)处理视频流,或使用 YOLO 的变种(如 YOLOv5 + DeepSORT)跟踪目标后再分类。
2025-06-13 11:41:02
659
原创 ESP32中RAM、Flash类型,编译结果的意义(.text/.rodata/.bss等)
ESP32系列芯片RAM与Flash存储对比摘要: RAM方面,ESP32系列包含三种类型:内部SRAM(IRAM/DRAM)、外部PSRAM和低功耗RTC SRAM。IRAM用于高频代码,DRAM存储变量,可用容量因型号而异(ESP32-C3达400KB)。PSRAM(4-8MB)需特殊分配,适用于大容量缓存。RTC SRAM固定8KB,用于睡眠数据保持。Flash存储支持内部NOR Flash(4-16MB)和外部扩展(最高1GB),ESP32-S3支持240MHz Octal SPI模式。编译时需注意
2025-06-13 11:26:45
947
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人