logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

ESP32-S3 Rust 呼吸灯实战:从编译报错到平滑缓动

本文记录了使用Rust为ESP32-S3开发板实现WS2812呼吸灯功能时遇到的三个关键问题及解决方案。首先,Xtensa架构需配置build-std从源码构建标准库;其次,esp-backtrace的println特性不包含通信通道,需单独指定;最后,esp-println需禁用默认特性避免通道冲突。通过正确配置依赖和工具链(esp-hal 1.0生态),最终用约100行Rust代码实现了6秒周

#嵌入式
一根线、两个 Type-C 口和一颗乱闪的 RGB:一次 ESP32-S3-N16R8B 实测记录

摘要:本文记录了使用ESP32-S3开发板关闭板载RGB灯的全过程。通过排查发现,单纯拉低GPIO无法彻底关闭WS2812兼容灯珠,因其会锁存最后一帧颜色。正确做法是:1)确认USB数据口连接;2)通过RMT外设发送全零颜色帧;3)保持80μs低电平以锁存黑色状态。最终实现复位后RGB灯保持熄灭,不再恢复原色。文章还澄清了三个常见误区,并提供了针对开发者、对话式AI和代码Agent的速查指南,强调

#物联网
ESP32-S3 N16R8B + MSM3526 I2S 麦克风实战:接线、固件与谬误溯源

本文介绍了使用ESP32-S3N16R8B开发板通过Rust固件驱动MSM3526 I2S数字麦克风的实践方案。关键发现包括:1)麦克风实际为从机模式,需ESP32配置为主机提供时钟;2)需避开USB占用的GPIO20引脚,改用GPIO18连接WS信号;3)esp-hal版本需锁定1.0.0以避免启动问题。文章详细说明了硬件焊接技巧、接线方案调整过程、错误排查方法,并提供了Rust核心代码框架。最

ESP32-S3 使用 esp-idf-hal(std 生态)首次编译踩坑全记录

本文总结了在macOS环境下使用esp-idf-hal为ESP32-S3开发WiFi固件时遇到的编译问题及解决方案。关键问题包括:1)需使用正确的目标三元组xtensa-esp32s3-espidf;2)通过环境变量而非Cargo feature选择芯片;3)Python版本需≥3.10以避免依赖冲突;4)必须安装ldproxy链接器并正确配置build.rs文件。文章提供了完整的配置示例和1分钟

#嵌入式
ESP32-S3 UDP音频传输故障排查:tcpdump抓到包但socat收不到数据的根因分析

本文分析了ESP32-S3与Arch Linux接收机在UDP音频传输中数据包丢失的问题。通过tcpdump确认数据包到达网卡但应用层未接收,发现关键问题在于Arch Linux默认启用的nftables防火墙在input链设置了policydrop,静默丢弃了未明确放行的UDP 8899端口数据包。文章指出四个常见认知陷阱:tcpdump抓包不等于应用接收、回环测试的误导性、过度检查应用层配置以

#tcpdump#嵌入式
ESP32-S3 音频采集固件栈溢出排查:从崩溃到稳定运行

ESP32-S3音频采集固件因栈溢出导致反复重启的解决方案。通过分析发现,主因是默认主任务栈空间(3584字节)不足,无法承载I2S驱动初始化及音频缓冲区的需求。有效解决需双管齐下:1)在sdkconfig.defaults中配置CONFIG_ESP_MAIN_TASK_STACK_SIZE=8192扩大栈空间;2)将代码中的大缓冲区改为堆分配(使用Box::new)。实测表明,仅调整栈大小或仅优

#嵌入式
ESP32-S3 音频采集实战:esp-idf-hal(std)下的 I2S 麦克风与 UDP 发送

初始化模式:从过程式 C API 转向类型驱动的 Rust API。资源访问:引脚等外设通过小写字段访问,并理解部分 move 语义。网络栈:std 生态下直接使用标准库std::net,无需引入额外 socket crate。Trait 导入:调用.handle()等扩展方法前,确认所需 trait 已导入。掌握这些差异后,esp-idf-hal 提供的强类型、内存安全且符合 Rust 习惯的

#嵌入式
ESP32-S3 无串口芯片开发板 log! 无输出问题排查指南

摘要: ESP32-S3开发板(如N16R8B)通过Type-C直连电脑时,使用log::info!等宏输出的日志在串口监控中不可见,但println!正常。原因是该板无USB-UART桥接芯片,log!默认输出到悬空的UART0,而println!通过USB-Serial-JTAG通道传输。解决方案包括: 重定向日志输出:初始化时配置EspLogger,将日志重定向到USB-Serial-JTA

ESP32-S3 + MSM3526 麦克风实战:从无声到清晰监听(Rust AGC 增益全链路)

本文介绍了如何通过ESP32-S3驱动I2S数字麦克风MSM3526,并利用Rust Web服务端实现AGC自适应增益和高通滤波,完成局域网内低延迟、高信噪比的实时音频监听系统。文章详细说明了硬件接线避坑指南(如MSM3526实际为I2S从模式)、ESP32固件配置要点,并重点讲解了Rust服务端的核心算法实现,包括AGC增益控制、高通滤波和WebSocket实时音频传输。最终方案在不修改硬件和固

ESP32-S3 静态IP配置:esp-idf-svc 中 Fixed IP 的正确注入方式

摘要: 在ESP32-S3开发中,通过Rust(esp-idf-svc 0.52.1)为WiFi STA模式配置固定IP(如192.168.1.200)时,传统方法(如运行时set_ip_info)已不适用。正确做法是在网络接口创建时通过NetifConfiguration注入静态IP配置: 构造Ipv4Configuration::Fixed,指定IP、网关、子网掩码; 使用EspNetif::

#嵌入式
    共 55 条
  • 1
  • 2
  • 3
  • 6
  • 请选择