你好
RSS 订阅在这里,我记录了在 Android、嵌入式开发以及硬件 DIY过程中的探索与实践。 内容涵盖从底层驱动调试到应用界面开发,从智能家居改造到传感器数据应用。 我不追求华丽的辞藻,只希望能拆解技术难点,分享原创的开发心得,为同样热爱动手的你提供一份真实的工程参考。
阅读博客文章或查看 关于页面 获取更多信息。
最新文章
-
PixelCompass:一个成本更低、支持网页配置的《我的世界》实体罗盘
发布于: at 04:39 上午重构我的世界实体罗盘(项目代号 PixelCompass)。硬件部分已开源,本次迭代换装了更具性价比的 CH592F 低功耗主控,优化了电流功耗与灯珠发光效果,并新增了免驱 USB 网页端配置功能。本文包含完整的硬件设计、制作组装流程以及故障排查指南。
-
安卓系统的开机动画是如何绘制时间
发布于: at 08:12 上午本文将介绍 Android BootAnimation 中 drawClock 和 drawText 如何通过字体图集裁剪绘制开机动画里的时间文本
-
安卓开机动画 Logo 的闪烁效果是如何实现的?从 AOSP 源码到网页复现
发布于: at 06:34 上午深入解析 Android BootAnimation 中默认 logo 的闪光动画原理,并从 AOSP 源码迁移到网页 Canvas 实时演示,附代码和可调参数
-
lib3mf 集成系列(五):C++ 提取 3MF 数据与 OpenGL 渲染实战
发布于: at 06:20 上午深入讲解如何在底层 C++ 中使用 lib3mf 提取并紧凑重组三维几何数据,通过算法计算面积加权的平滑法线,运用 OpenGL 着色器与 VBO 零拷贝特性完成硬核 3D 实战渲染。
-
lib3mf 集成系列(四):Flutter Texture 与 C++ OpenGL 跨端渲染架构
发布于: at 12:56 上午探讨在 Flutter 中利用 Texture 组件和 Android 原生 EGL 层打造高性能 OpenGL 3D 渲染管线,并通过 JNI 联通底层 C++ 实现零组件层级开销的跨端架构方案。
-
lib3mf 集成系列(三):在 Flutter 中解析 3MF 文件信息
发布于: at 09:22 上午lib3mf 实战:从 Flutter Assets 到 Native 模型解析。本篇深入介绍了 lib3mf 的核心 API 调用流程,通过 FFI 实现了 3MF 模型元数据的提取。文章包含跨平台日志宏定义、文件读取策略及模型对象迭代等核心逻辑,并验证了在 Android 端读取立方体模型的成功输出,是实现 Flutter 3D 模型预览的关键步骤。
-
lib3mf 集成系列(二):Flutter FFI 插件创建与 Android 端集成
发布于: at 06:00 下午开启 Flutter 调用 C++ 3D 模型库之旅。本篇作为 lib3mf 集成系列的首章,聚焦于底层库的本地构建与示例验证。文章涵盖了从源码下载、CMake 编译到可执行文件生成的全流程,并对 3MF 核心规范与高级扩展(如点阵、切片)进行了初步探索,旨在为开发者准备好高性能的 native 动态库。
-
lib3mf 集成系列(一):编译与示例测试
发布于: at 05:20 下午手把手教你如何创建 Flutter FFI 插件并集成 lib3mf 库。本文不仅涵盖了 plugin_ffi 模板的创建流程,更重点分享了 Android 端集成的实战坑位:包括 NDK 编译工具链配置、std::cout 重定向至 Logcat、以及针对 Android 15 的 16k Page Size 适配。通过版本号查询示例,验证了跨平台 C++ 库在 Flutter 上的运行可行性。
-
Flutter 嵌入安卓原生 View,以及与原生交互
发布于: at 07:00 下午深入探讨如何通过 PlatformView 在 Flutter 中嵌入 Android 原生渲染层,并结合 MethodChannel 实现双向逻辑通信。包含对 PlatformView “贪婪”特性的分析及布局约束解决方案。
-
球面几何计算:基于经纬度的距离(Great-Circle)推导
发布于: at 09:09 上午从三维空间直角坐标系出发,完整推导两点经纬度间的大圆距离(Great-Circle)。深入分析球面余弦定律在短距离下的“精度陷阱”,并详解如何通过半角恒等式引入 Haversine 公式实现数值稳定性。
-
网站性能优化实战:PageSpeed Insights 从 47 分到 97 分的优化历程
发布于: at 06:33 下午记录 Hexo 博客性能调优全过程:通过 WOFF2 字体转换、SVG 图标内联、WebP 自动化处理及关键请求链(Critical Request Chain)优化,将移动端 PageSpeed 分数从 47 提升至 97。
-
在 M5Stack Cardputer 上实现远程桌面串流(基于 H.264)
发布于: at 06:55 上午挑战 Cardputer 极限负载:通过手动升级 PSRAM,结合 esp_h264 软件解码、双核调度优化及 WebCodecs 串流协议,在 Cardputer 上实现稳定的 240x135 远程桌面同步。
-
Android 进阶:如何在安卓中实现像 LVGL 一样的"实体"Border?
发布于: at 09:13 下午借鉴嵌入式 UI 框架 LVGL 的 Box Model 逻辑,在 Android 中重写 FrameLayout 布局计算,并利用 PorterDuffXfermode 遮罩技术实现具有真实空间占用的自定义圆角边框(Border)。
-
ESP-IDF 插件:用 embed_txtfiles 优雅地在固件里“塞”文件
发布于: at 08:12 下午深入解析 ESP-IDF 环境下 EMBED_TXTFILES 的资源挂载机制。通过 CMake 自动化“缝合”二进制产物,解决只读 Flash 访问、符号命名规则及 TLS 证书处理等实战坑点。
-
屏幕不够,算法来凑(二):ESP32 单色屏上的 Ditherpunk 实战
发布于: at 09:38 下午Ditherpunk 算法实战:将图像抖动算法迁移至资源受限的 ESP32。详解 Gamma 查找表优化、ST7305 单色屏驱动适配,以及 Bayer、Atkinson 与蓝噪声(Blue Noise)算法的差异化复现。
-
屏幕不够,算法来凑(一):Ditherpunk 抖动算法原理与 JS 实时演示
更新于: at 09:40 下午用JavaScript和Canvas实现的抖动算法在线演示。从Gamma校正、Bayer矩阵到Floyd-Steinberg误差扩散,看看1-bit屏幕如何通过算法模拟灰度。
-
告别AT指令:ESP32通过PPPoS驱动4G模块上网
发布于: at 08:09 上午在ESP32C3上使用PPPoS驱动4G模块(SIM7600, Air780EG)。将串口虚拟为网卡,实现标准Socket编程。ESP-IDF代码、事件处理、DTE/DCE初始化及供电流控等问题记录。
-
使用Bindgen为ELK生成Rust绑定
发布于: at 10:57 上午利用bindgen和cc库为迷你JS引擎ELK生成Rust绑定。MinGW/Windows下的交叉编译配置、build.rs编写流程,Rust调用C函数与JS脚本动态下发。
-
CH592F利用SPI+DMA驱动WS2812灯珠
发布于: at 07:20 下午CH592F/CH582使用SPI+DMA驱动WS2812。4倍频数据膨胀原理及GRB转SPI编码实现,解决CPU阻塞问题,保证蓝牙连接稳定。 - 折腾硬件
-
为 AdSense 铺路:我如何修复 'GSC 重复网页' 与 Canonical 致命错误(Hexo, 301, robots 详解)
发布于: at 09:27 下午Hexo博客修复GSC重复网页与Canonical错误。301重定向、robots.txt和Hexo配置调整记录。
-
Claude Code 安卓编码初体验
发布于: at 07:39 上午记录Claude Code的实际使用体验。从API配置、CLI安装到让AI独立开发安卓串口监视器功能,看看这种CLI式AI编程工具到底能做到什么程度。
-
如何从零开始:用 CH592F 制作 CS2 同人生命值胸章并实现 GSI 联动
更新于: at 02:45 上午基于 WCH CH592F 的硬件 DIY 研究。介绍如何利用 C++、BLE 蓝牙 HID 与游戏 GSI 协议,制作一个具有交互功能的同人电子饰品。包含 PCB 设计、电源管理及自定义 Device Script 实现方案。
-
踩坑与收获:2025独立开发者Google Play上架实战复盘
发布于: at 12:35 上午2025年起Google Play要求新开发者账号完成14天封闭测试。记录从注册账号、准备材料、利用Reddit社区互助完成测试,到解决隐私政策问题最终上架的完整过程。
-
魔改 GLSurfaceView 实现跨 View 零拷贝纹理共享
发布于: at 05:10 上午Android 原生 GLSurfaceView 使用过时的 EGL 1.0 接口,无法与现代 EGL14 Context 共享纹理。本文介绍如何从 AOSP 源码 fork 出 GL14SurfaceView,打通不同 GLContext 之间的 GPU 纹理共享,实现零拷贝多路渲染。
-
DWM3001CDK点亮WS2812 RGB LED
发布于: at 11:05 下午基于DWM3001CDK开发板(内置nRF52833)以SPI方式驱动WS2812 RGB LED