logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

玄铁语言渲染库指南:raylib 桥接的窗口、绘图、字体与图片

已知事实:UI 默认主题支持按钮三态(普通 / 悬浮 / 按下)、圆角 8px,内置鸿蒙字体实现零配置中文显示。raylib 本身是跨平台库(Windows /macOS/ Linux 均支持),玄铁渲染库在其上提供中文 API。已知问题:渲染库链接在 macOS 需手动指定 raylib 与系统框架(Cocoa / OpenGL / IOKit / CoreVideo);macOS 侧加载系统字

#游戏#游戏开发
从飞桨模型到 TensorFlow Lite:实战部署中的四个关键坑与解决方案

摘要: 本文分享了将飞桨(PaddlePaddle)训练的BarkNet分类模型转换为TensorFlow Lite(TFLite)格式并部署到线上服务的完整流程,重点总结了四个关键问题及解决方案:1) 虚拟环境依赖管理:uv创建的环境需用uv pip install安装依赖;2) onnx2tf工具链缺失依赖:需手动补全tf_keras、onnx-graphsurgeon等包;3) 模型输出语义

#深度学习#uv
ttyd 网页终端敲不了回车:从 WebSocket 协议层定位,到自研 100 行网关

我在家里搭了一套仿云厂商的 “假云服务器” 玩具:Mac 当图形工作站,一台 ThinkPad(Arch Linux)当宿主机,Docker 用 macvlan 网络让每个容器直接占一个局域网空闲 IP(192.168.50.100~103),再写了个仿 ECS 的网页控制台。唯一正常的迹象是 —— 中文输入法的候选框能弹出来,说明键盘事件是进了页面的,只是字符进不了终端。我要求:网页控制台的实例

#docker#linux
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 习惯的

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