ESP32并口屏幕和串口屏幕下帧率的对比

前言

在嵌入式开发中,屏幕刷新率是用户体验的“第一生命线”。我一直好奇,为了追求高帧率,我们是应该把 60MHz 的 SPI“优化到极致”,还是应该直接“升维打击”,采用 8 位并口?为了搞清楚这个问题,我决定自费购买硬件来进行一次**“原始对决”**

阅读更多

在LVGL中实现可变字体(Variable Font)-第三章

前言

(2025年11月 重制版说明):
这篇文章的初版我曾发布于第三方平台(简书+Bilibili),并累计获得了50,000+ 次阅读 和大量开发者的反馈。
为了提供更好的阅读体验,我对文章排版和部分内容进行了优化,并将其独家发布在此个人博客

第二章中介绍了如何在ESP32上运行LVGL,现在终于可以开始奔着第一章文章末尾的效果去了.

阅读更多

在LVGL中实现可变字体(Variable Font)-第二章

前言

(2025年11月 重制版说明):
这篇文章的初版我曾发布于第三方平台(简书+Bilibili),并累计获得了50,000+ 次阅读 和大量开发者的反馈。
为了提供更好的阅读体验,我对文章排版和部分内容进行了优化,并将其独家发布在此个人博客

我们在第一章中已经实现了模拟器环境下可变字体字重的设置.

是时候掏出你吃灰已久的ESP32了.

本文会使用PlatformIO创建一个全新的项目,直到显示出现上篇文章末尾的动图为止.
如遇到问题,可参考常见问题内解答.

阅读更多

在LVGL中实现可变字体(Variable Font)-第一章

前言

(2025年11月 重制版说明):
这篇文章的初版我曾发布于第三方平台(简书+Bilibili),并累计获得了50,000+ 次阅读 和大量开发者的反馈。
为了提供更好的阅读体验,我对文章排版和部分内容进行了优化,并将其独家发布在此个人博客

不知道多久前看到了MIUI更新了”动态字体系统“功能,不过当时没太在意(毕竟我用的也不是MIUI,哈哈哈,不过确实挺方便的),演示视频里面展示了随意调节字体粗细的功能,后来知道这个参数叫做字重(zhong第四声).

阅读更多

让你的ESP32显示一张公网图片吧

让你的ESP32显示一张公网图片吧

这篇文章写于 4 年前,但其核心原理(手动解析 HTTP 报文)在今天依然完全有效。请注意,AsyncTCP-esphome 库现在可能已有更新版本,但本教程中关于‘onData’分块处理和‘Content-Length’解析的逻辑,是您理解嵌入式网络编程的基础。

众所周知,ESP32它是能联网的,而配上屏幕,它就可以显示一张图片,那么它可以显示一张互联网上的图片吗?当然可以!
虽然之前已经做过了视频的传输,而视频不过是很多图片的集合,但是那篇文章中的传输都是建立在局域网之中,通信建立在Socket上。
而这次要突破局域网,使用HTTP协议来传输数据,所以会比之前复杂一些。

阅读更多

ESP32-串流显示

让你的ESP32试试串流吧

(2025 年 11 月更新)这篇文章写于 5 年前,但它至今仍是我流量最高的文章之一。
它所展示的‘PC 到 ESP32 实时串流’的核心原理——即‘Python 抓帧/编码’ + ‘自定义 TCP 协议’ + ‘ESP32 解码/DMA 渲染’——这个架构在今天依然极具参考价值。

header-preview
既然有了屏幕,又有了网络,那岂不是可以串流了!

阅读更多

HomeKit ESP32 Control Light III

快把你家的灯接入HomeKit吧其三(整合篇)

我的回合,抽卡。发动魔法卡–融合!

第一篇文章中介绍了如何控制LED的亮灭,而第二篇文章中介绍了如何控制舵机旋转到指定的角度,那么现在让它们融合起来了吧!

阅读更多

HomeKit ESP32 Control Light II

快把你家的灯接入HomeKit吧其二(舵机篇)

上一篇文章中已经熟悉了如何烧录程序到ESP32,并且成功的点亮了一盏LED灯,如果你动手能力强的话。
那么上一节就是教会了你做了一个支持HomeKit的灯。

本篇会将上一篇中的LED替换成一个舵机。至于为什么使用舵机,是因为我不想破坏开关的原有结构,想使用一种非侵入式的方法去拓展现有的灯开关。

阅读更多