ESP32开发板TFT触控屏(小黄板)[MicroPython]:刷入MicroPython+LVGL固件和示例演示

NO.1
MicroPython+LVGL

上期文章演示的为刷入Demo固件,查看屏幕显示和触控(但是固件不是MicroPython编译)

参考文章

ESP32开发板TFT触控屏(小黄板)[MicroPython]:示例Demo刷入固件,测试屏幕显示和触控

本期记录小黄板刷入MicroPython+LVGL固件

不出意外的后,后期主要以图形化显示为主(副屏作用),最多加个温湿度传感器等

编译固件,参考文章

MicroPython[ESP32]:编译ESP32-S3  (SPIRAM Octal)16外8内 固件和ESP32 LVGL

获取所需的固件后,可以使用Thonny软件来刷入固件

img

NO.2
刷入固件

下载编译好的MicroPython+LVGL固件

可以看到有2.17M大小

官方默认的MicroPython固件没有LVGL

使用自己编译的带LVGL的固件,无需再额外引入LVGL库,可以直接使用

本文示例为LVGL v8.3版本

img

下载Thonny安装并打开

官网地址

https://thonny.org/

img

点击运行,配置解释器

img

在弹出的弹框中点击

安装或者更新MicroPython

img

Port下拉选择对应的串口(注意这个串口一定是对应你的小黄板,不确定的话,就拔插看看那个串口消失或者显示)

Firmware点击Browse选择刚刚下载的ESP32+LVGL的固件esp32_lvgl.bin

点击安装

img

可以弹框左下角有对应进度提示

等待进度到100%

img

看到Done,说明固件刷入完成

img

NO.3
使用固件

刷入固件成功后,我们需要看一下我们固件的版本,以及写个例子验证固件功能

建议刷入固件后,小黄板电源重启一次

然后在Thonny中再次打开配置解释器

下拉选择对应的串口COM15,点击好的

img

可以看到Shell控制台更新了提示信息

MicroPython v1.19.1-684-g56c824b74-dirty on 2023-05-20; ESP32 module with ESP32

Type “help()” for more information.

  • 当前MicroPython版本为v1.19.1

  • 当前固件编译时间为2023-05-20日编译

  • 当前固件模块为ESP32

目前为止,没有报错,且初步看到MicroPython控制台提示

img

接下来我们使用MicroPython查看当前小黄板的内存等信息

参考文章

MicroPython[ESP32-S3]:使用esptool刷入固件,支持lvgl

控制台输入以下命令,然后回车

import micropython

img

接着输入命令,然后回车

micropython.mem_info()

可以看到红框内的信息

stack: 736 out of 31744

GC: total: 108032, used: 9056, free: 98976

 No. of 1-blocks: 196, 2-blocks: 28, max blk sz: 32, max free sz: 6174

描述为

总内存108KB,已使用9KB,剩余内存98KB

img

再次输入命令,回车

import esp

img

再次输入,并回车

esp.flash_size()/1024/1024

可以看到显示4.0,也就是硬件的falsh闪存为4M

img

至此,MicroPython固件和硬件信息查看成功

NO.4
测试LVGL

显示hello world

首先LVLG官方文档

https://docs.lvgl.io/8.3/examples.html

小黄板的针脚接口请自行参开对应的代码资料(虽然这个英文资料基本跑不起来)

img

初始化屏幕并显示文字hello wolrd

参考代码

# 设置背景颜色
scr.set_style_bg_color(lv.color_hex(0x00000), lv.PART.MAIN)
# 设置文字
label = lv.label(scr)
label.set_text("hello wolrd")
label.set_style_text_color(lv.color_hex(0xffffff), lv.PART.MAIN)
label.center()

实际效果

可以看到屏幕正常显示(屏幕点亮)

显示的为黑色的背景颜色(暗黑模式护眼省电)

显示的为白色的hello world文字并且居中

img

至此固件自带LVGL的功能验证成功

NO.5
Tips

官网演示了很多Demo,基本支持C语言和Micropython

img

剩下的就是数据的展示,如粉丝计数器,电脑配置面板等

参考文章

MicroPython[ESP32-S3]:LVGL显示GIF+http request显示哔哩哔哩粉丝计数

可惜,B站就是一个扶不起的阿斗,播放时长说了几个月也没改,粉丝也没怎么长,食之无用,弃之可惜

img

END.

觉得本文还行,不妨顺手点赞收藏,下期见。

推荐阅读

MicroPython:ESP32-S3+LVGL+MQTT》(合集)

ESP32开发板TFT触控屏(小黄板)[MicroPython]:示例Demo刷入固件,测试屏幕显示和触控

ESP32开发板TFT触控屏(小黄板)[MicroPython]:简单记录一体化开发板特点和使用场景

☕ 朋友,都看到这了,确定不关注一下么? 👇