PY学习笔记 发表于 2024-12-30 20:14:48

行空板K10实现中文显示(基于unihiker_k10官方固件)

行空板K10提供了两种Micropython固件版本。其中,unihiker_k10官方库是基于lvgl_micropython固件构建的,它内置了LVGL图形库,并集成了屏幕、摄像头、SD卡等多种驱动程序。而educore人教库则是基于标准Micropython固件,它集成了屏幕驱动程序,但缺少摄像头、麦克风、喇叭驱动。我们之前写的《行空板K10实现中文显示(基于Micropython)》是基于educore人教库固件,通过修改ili9341驱动实现中文显示。本篇笔记分享我们基于unihiker_k10官方库固件,实现中文显示。1.行空板K10介绍行空板K10是一款专为快速体验物联网和学习人工智能而设计的开发学习板,100%采用国产芯片,知识产权自主可控,符合信息科技课程中编程学习、物联网及人工智能等教学需求。该板集成2.8寸LCD彩屏、WiFi蓝牙、摄像头、麦克风、扬声器、RGB指示灯、多种传感器及丰富的扩展接口。凭借高度集成的板载资源,教学过程中无需额外连接其他设备,便可轻松实现传感器控制、物联网应用以及人脸识别、语音识别、语音合成等AI人工智能项目。2.中文字库要在lvgl中实现中文显示,需要用到中文字库。我们使用lvgl官方字体转换器将常用中文字体转换成可以在lvgl上使用的字体格式。lvgl官方字体转换器:https://lvgl.io/tools/fontconverter我们制作的中文字库:https://gitee.com/py2012/k10我们制作的中文字库使用的汉字来源于easydisplay的中文字库。3.测试代码将中文字库上传到根目录,使用外置字体的方式驱动。参考代码如下:from unihiker_k10 import screen
import time, gc
import lvgl as lv
import fs_driver, math


# 创建一个文件系统驱动对象
fs_drv = lv.fs_drv_t()

# 将文件系统驱动注册到LVGL中,挂载点为'S'
fs_driver.fs_register(fs_drv, 'S')

# 初始化屏幕,设置方向为2
screen.init(dir=2)
scrn = lv.screen_active()
scrn.set_style_bg_color(lv.color_hex(0x000000), 0)# 设置屏幕的背景颜色为黑色


# 创建一个中文字体对象
myfont_cn = lv.binfont_create("S:./font_big.bin")


# 创建一个标签(Label),用于显示文字
label = lv.label(scrn)
label.set_style_text_font(myfont_cn, 0) # 设置标签的字体
label.set_text("微信公众号PY学习笔记:\n\n专注于python和Micropython的学\n习与分享。\n\n敬请关注!")# 设置文字内容

成功实现中文显示。

陈亚北 发表于 2024-12-31 10:31:27

及时雨,很好的一份分享,新年也就是明年试一下
页: [1]
查看完整版本: 行空板K10实现中文显示(基于unihiker_k10官方固件)