使用micropython和K10官方固件实现显示网络上的图片

2025-01-123435
AI 快速预览详细 收起
本文介绍了如何使用MicroPython和行空板K10官方固件显示网络上的图片。首先通过WIFI连接网络,然后使用requests库读取网页上的图片信息,最后通过LVGL库在行空板K10上显示图片。适用于STEM教育和编程启蒙。
上一篇实现了显示中文,但是发现官方群里面有人问要怎么显示网络上的图片,于是实现网络上的图片显示。1.行空板介绍
行空板K10集成ESP32-S3、摄像头、2.8寸彩色LCD、麦克风、扬声器、WiFi蓝牙模块、RGB指示灯及多种传感器和扩展接口于一体;支持图像检测、语音识别、语音合成、mind+图形化编程,MicroPython编程,是一款专为信息科技课程教学需求而研发的开发板
2.lvgl介绍
LVGL(轻量级和多功能图形库)是一个免费的开源图形库,提供创建具有易于使用的图形元素、美观的视觉效果和低内存占用的嵌入式 GUI 所需的一切。
3.测试代码
在使用官方库时发现固件中自带LVGL库这使我们更加容易实现,而且K10基于ESP32S3这款芯片研发可以使用WIFI,测试代码如下:

  1. from unihiker_k10 import screen,wifi
  2. import time,gc,requests
  3. import lvgl as lv
  4. wifi.connect(ssid="SSID", psd="psd", timeout=50000)
  5. screen.init(dir=2)
  6. scrn = lv.screen_active()
  7. scrn.set_style_bg_color(lv.color_hex(0x000000), 0)
  8. # png显示方法
  9. response = requests.get("https://mc.dfrobot.com.cn/data/attachment/forum/202412/08/133953igpuzisgj4aypp5p.png")
  10. png_data = list(response.content)  # 获取响应内容并转换为列表
  11. print(png_data)
  12. img = lv.image_dsc_t({"data_size": len(png_data),"data": png_data})
  13. # 创建lvgl中的图片组件
  14. obj = lv.image(scrn)
  15. # 添加图片数据
  16. obj.set_src(img)
  17. # 将图片居中
  18. obj.center()
复制代码
PS:同样的显示方法,使用requests库读取网页上的图片信息进行显示。图片获取网站只要点击右键,点击在新标签页打开并复制图片标签页上的网址为图片网址。
3.效果
使用micropython和K10官方固件实现显示网络上的图片图1

创作许可协议

本项目采用 None(不开放任何权利,保留所有权利) 进行许可。

评论(0)
- 没有更多了 -