ESP32 ESP-IDF + LVGL + SquareLine Studio 设计 UI 界面

这篇具有很好参考价值的文章主要介绍了ESP32 ESP-IDF + LVGL + SquareLine Studio 设计 UI 界面。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

陈拓 2022/12/10-2022/12/12

1. 概述

关于SquareLine Studio,乐鑫官方的ESP技术文章有介绍:
在 ESP 开发板上开发 UI 不再复杂 - 知乎如果您尝试过在没有图形库的情况下开发 UI,那么您一定知道这有多困难。幸运的是,由乐鑫芯片驱动的屏幕,可支持用户使用多种图形库来开发 UI, LVGL 就是其中之一。通常情况下,在使用 LVGL 或类似的图形库前,用…https://zhuanlan.zhihu.com/p/574436496

SquareLine Studio是一个可视化工具,可使用LVGL图形库开发UI,且支持多个平台,如MacOS、Windows和Linux。在该工具中,我们通过拖放就可以在屏幕上添加和移动小控件,图像和字体的处理也变得十分简单。

SquareLine Studio对个人用户是免费的,但是有一些限制,每个项目最多可使用5个屏幕和50个控件。其他价格信息可参考SquareLine 网站。

SquareLine Studio的官方网址:https://squareline.io/

SquareLine Studio的官方文档:

https://docs.squareline.io/docs/squareline/

2. SquareLine Studio下载

下载网址:https://squareline.io/downloads

  • 下载最新版本可以免费试用30天
  • 下载以前版本个人可以免费使用

squareline esp32,ESP32,ui,ESP32,LVGL 

  • 选择版本和平台下载

我下载Windows平台SquareLine Studio 1.1.0

SquareLine_Studio_Windows_v1_1_0.zip

  • 解压

解压得到SquareLine_Studio_1.1.0_Setup.exe

  • 安装

双击exe文件进行安装,照着提示做就行。

3. 注册账号

https://squareline.io/sign-up

squareline esp32,ESP32,ui,ESP32,LVGL

注册成功。

squareline esp32,ESP32,ui,ESP32,LVGL 

4. 获取个人许可证

  • 打开SquareLine Studio

squareline esp32,ESP32,ui,ESP32,LVGL 

  • 点击LOG IN

输入账号密码登录

squareline esp32,ESP32,ui,ESP32,LVGL 

  • 获取个人许可证

squareline esp32,ESP32,ui,ESP32,LVGL 

通过邮件确认

squareline esp32,ESP32,ui,ESP32,LVGL 

点击START SQUARELINE开始使用。

  • 查看个人许可证

https://squareline.io/profile/licenses

squareline esp32,ESP32,ui,ESP32,LVGL 

5. 软件附带的例子

进入软件界面后,点击Example可以看到几个例子:

squareline esp32,ESP32,ui,ESP32,LVGL 

我手头有一块ST7789 240x360的显示屏,我就选Smart_Gadget.spj。

  • 双击打开项目

squareline esp32,ESP32,ui,ESP32,LVGL 

可以看到功能齐全的设计工具和配置选项,我们今天的关注点不在这里,我们只是想看看例子的效果。

选择不同的页面,点击播放按钮,可以预览UI效果。

  • 项目设置

squareline esp32,ESP32,ui,ESP32,LVGL 

File > Project Settings

squareline esp32,ESP32,ui,ESP32,LVGL 

开发板选择ESP-BOX,它的显示屏是240x320的。详情可参考:

乐鑫官方ESP-BOX的硬件gitee仓库:

https://toscode.gitee.com/EspressifSystems/esp-box/blob/master/docs/hardware_overview/esp32_s3_box/hardware_overview_for_box_cn.md

乐鑫官方ESP-BOX的硬件github仓库:

GitHub - espressif/esp-bsp: Board support components for Espressif development boards

点击APPLY CHANGES完成设置,设计页面转换为适合显示屏大小。

squareline esp32,ESP32,ui,ESP32,LVGL 

  • 导出设计文件

点击Export > Export UI Files

选择一个目录保存导出的代码:

squareline esp32,ESP32,ui,ESP32,LVGL

  • 复制ui目录到ESP-IDF项目中

我们使用在《ESP32 ESP-IDF LVGL8.3.3移植》

ESP32 ESP-IDF LVGL8.3.3移植_晨之清风的博客-CSDN博客ESP32 ESP-IDF LVGL8.3.3移植。https://blog.csdn.net/chentuo2000/article/details/128269394?spm=1001.2014.3001.5501

一文中创建的项目。

将ui目录复制到main目录下:

squareline esp32,ESP32,ui,ESP32,LVGL 

  • 修改main.c

添加头文件:

#include "ui.h"

修改create_demo_application函数

static void create_demo_application(void)
{
    ui_init();
}
  • 修改main目录下的CMakeLists.txt文件
idf_component_register(SRCS "main.c" 
"../ui/ui.c" 
"../ui/ui_comp.c" 
"../ui/ui_font_Number.c" 
"../ui/ui_helpers.c" 
"../ui/ui_img_album_png.c" 
"../ui/ui_img_avatar_png.c" 
"../ui/ui_img_backward_png.c" 
"../ui/ui_img_chatbox_png.c" 
"../ui/ui_img_chatbox2_png.c" 
"../ui/ui_img_clock_hour_png.c" 
"../ui/ui_img_clock_min_png.c" 
"../ui/ui_img_clock_sec_png.c" 
"../ui/ui_img_cloud_png.c" 
"../ui/ui_img_forward_png.c" 
"../ui/ui_img_pattern_png.c" 
"../ui/ui_img_phone_png.c" 
"../ui/ui_img_play_png.c"
"../ui/ui_img_weather_1_png.c"  
"../ui/ui_img_weather_2_png.c" 
"../ui/ui_img_weather_3_png.c" 
                    INCLUDE_DIRS "." "../ui")
  • 编译

idf.py build

编译错误:

squareline esp32,ESP32,ui,ESP32,LVGL 

在配置中选中18号字:

squareline esp32,ESP32,ui,ESP32,LVGL 

再编译成功。

  • 烧写

idf.py -p /dev/ttyUSB0 -b 460800 flash

  • ST7789 320x240屏显示效果

横屏

squareline esp32,ESP32,ui,ESP32,LVGL 

竖屏

squareline esp32,ESP32,ui,ESP32,LVGL 文章来源地址https://www.toymoban.com/news/detail-806269.html

参考文档

  1. 在 ESP 开发板上开发 UI 不再复杂
    在 ESP 开发板上开发 UI 不再复杂 - 知乎
  2. 在基于乐鑫芯片的用户定制开发板上开发 UI
    在基于乐鑫芯片的用户定制开发板上开发 UI - 知乎
  3. 捌月 / LVGL+ESP32桌面小时钟
    LVGL+ESP32桌面小时钟: 这一款非常实用的桌面小时钟,采用esp32和Lvgl视频链接:https://www.bilibili.com/video/BV1ud4y1w7M8

到了这里,关于ESP32 ESP-IDF + LVGL + SquareLine Studio 设计 UI 界面的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • ESP32开发:1、环境搭建(基于vscode+ESP-IDF)

    ESP-IDF提供操作ESP32芯片的API函数,供用户编写的用户程序调用。当用户程序编写好后,ESP-IDF需要借助一系列编译工具才能将用户程序+API函数编译成能运行在ESP32上的二进制文件。 如上图所示这个1个G左右大的压缩包就是ESP-IDF。如果电脑上已经存在了这个文件,就可以不用下

    2024年02月12日
    浏览(58)
  • ESP-IDF开发框架添加自定义组件 ESP32-C3

    因为熟悉了STM32的开发方式,同时随着项目文件越来越多,可以将自己写的代码分模块添加到工程中,下面分析如何将自己写的组件添加到工程中使其能够正常编译运行。 在ESP-IDF中,构建,编译,以及下载都是通过idf.py脚本来实现的,该脚本使用 CMake,配置待构建的项目 N

    2024年02月02日
    浏览(63)
  • 【ESP32】Espressif-IDE及ESP-IDF安装

    1.打开ESP-IDF 编程指南 2.点击快速入门–安装–手动安装–Windows Installer–Windows Installer Download 3.点击下载Espressif-IDE 2.10.0 with ESP-IDF v5.0.2 1.双击安装 espressif-ide-setup-2.10.0-with-esp-idf-5.0.2.exe 2.点击“确定” 3.选择“我同意此协议(A)”,点击“下一步” 4.点击“下一步” 5.点击“

    2024年02月15日
    浏览(65)
  • ESP-IDF + Vscode ESP32 开发环境搭建以及开发入门

    创作不易,转载请注明出处! Tips: 虽然笔者采用的是Linux开发环境,但是Windows开发环境的亦可阅读,所述内容与系统关联性不大,尤其是后文介绍的如何将自己的文件加入到工程,解决头文件找不到等问题,无论哪种系统均会存在。 Tips: 最近更新了一篇windows下搭建的,大家

    2024年02月02日
    浏览(55)
  • vscode+esp-idf 搭建esp32开发环境,编译信息中文乱码

    1.修改波特率 2.C:UsersAdministrator.vscodeextensionsvsciot-vscode.vscode-arduino-0.6.0-win32-x64outsrccommon  打开文件 util.js 屏蔽掉这部分的代码 、  

    2024年02月10日
    浏览(51)
  • ESP32接入网络后,循环扫描服务器IP及端口状态信息(ESP-IDF)

            本文使用的是ESP32系列的ESP32S3设备开发,ESP-IDF框架版本为 ESP-IDF V5.1 ,在VScode下以ESP-IDF插件的形式对设备开发。 后期经过对程序的测试发现,在ESP-IDF v4.4框架下编译开发,也可以实现循环扫描功能,实现功能的程序源码Demo见文末。         在嵌入式物联网这

    2024年02月02日
    浏览(58)
  • ESP32的ESP-IDF在VScode工程下,头文件标红警告、报错、无法跳转

    具体问题如下:在VScode环境中,通过ESP-IDF插件开发ESP32系列设备,但是工程代码中提示找不到头文件、相关的函数也无法跳转,这样不仅不美观,也一定程度上影响了开发效率,需要着手解决。 解决方法: 顺利解决的前提是要确保已经正确安装了ESP-IDF和其依赖项。 检查VS

    2024年02月19日
    浏览(63)
  • How to use the Arduino-ESP32 Library as an ESP-IDF Component

    arduino-esp32 SDK ESP-IDF SDK ESP-IDF Environment Setup Guide Arduino Environment Setup Guide Arduino as an ESP-IDF component Currently, the latest Master version of the arduino-esp32 SDK requires the usage of ESP-IDF SDK environment version v4.4. For the different versions of the arduino-esp32 SDK and their corresponding ESP-IDF SDK versions, please refer t

    2024年02月15日
    浏览(65)
  • 【ESP32填坑日记】环境篇① 一站式VScode+ESP-IDF搭建教程,附带Python出错填坑经验

    VScode+ESP-IDF开发环境搭建教程,附带Python和Git安装教程、安装出错踩坑经验、最新版安装包,文末附带神奇的免安装版!! 巨详细一站式VScode+ESP-IDF的开发环境搭建教程,附带Python和Git安装教程、安装出错踩坑经验,以及免安装版,小白跟我无脑操作也能一次点亮,文章最后附最

    2024年02月04日
    浏览(66)
  • ESP-IDF NVS

    目录 ESP-IDF NVS 1. 什么是NVS? 2. NVS中的概念 2.1. partition 分区 2.2. namespace 命名空间 2.3. key-value 键值对 3. ESP-IDF中NVS的代码实现 非易失性存储 (NVS) 库主要用于在 flash 中存储键值格式的数据。 这里的Flash分区与分区表中所提到的Flash分区是相同的概念。 所以在希望调用 nvs_open_f

    2024年04月08日
    浏览(91)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包