ESP32+PIO+LGVL+gui_guider
简介
本文基于VScode上安装platform插件(简称PIO)来开发ESP32,屏幕显示使用LVGL+gui_guider。
关于VScode上使用platfrom也是一把辛酸泪。很多朋友会安装不成功,主要就是“网络原因”。这个得自己百度解决。
LVGL是一款轻量化的屏幕驱动,原本写gui界面需要代码一个个去画点描绘,使用LVGL可以简化界面绘制的工作量,可以使用它带的图形和按键事件定义,来绘制一个界面,具体可以看LVGL的官网。总结来说就是用LVGL可以简化你开发的难度,但是界面绘制只能你一遍一遍的下载程序去看,或者跑模拟器,太繁琐,于是。。
gui_guider诞生
这个是NXP公司出的一个可以gui界面绘制,仿真,代码生成的软件,可以大大简化界面开发的流程。
结合
1、首先要在PIO环境下,安装TFT_eSPI库,具体方法就是在PIO的主页上选择libraries中搜索TFT_eSPI,并Add到你相应的工程中。
可以参考
添加TFT_eSPI
测试运行通过后,开始下一步
2、运行LVGL
添加LVGL,也是在在Platform主页的libraries中搜索LVGL,添加到工程中。
驱动的方式可以参考下文连接,但是不用做1,2条,因为可以直接添加LGVL到工程中,我已经尝试成功。
添加LVGL
测试运行可以显示你定义的界面后,开始下一步
3、结合gui_guider
首先是下载gui_guider,然后创建工程,生成代码。这个教程网上很多。
生成代码后,会在工程目录下有custom,和generated。这个是我们需要移植的文件,此外还需要lv_font.h,这个文件在第2步添加的lvgl/src/front文件夹下。
移植的过程就是添加这些文件到 PIO工程下,但是需要主要这个添加是有点不同的,
我是参考下面的链接来做的,具体就是首先在pio工程目录下找到lib文件,在lib文件夹下建立一个文件,我这边取名为BLTGUI,然后复制custom,和generated这两个文件夹到BLTGUI文件夹下,然后在BLTGUI文件下建立一个library.json文件,这个文件就是用来让PIO找到你添加的文件,然后添加到工程中进行编译。代码如下
{"name": "BLTGUI","keywords": "bltgui","description": "bltgui des","version": "1.0","authors": {"name": "lb"},"licence": "MIT","frameworks": "arduino","platforms": "espressif32","build" : {"unflags": "-std=gnu++11","flags": ["-std=c99","-I ../../.pio/libdeps/esp32doit-devkit-v1/lvgl/src/font","-I custom","-I generated","-I generated/guider_customer_fonts","-I generated/guider_fonts","-I generated/images"],"srcFilter": ["+<*.c>","+<custom/*.c>","+<generated/*.c>","+<generated/guider_customer_fonts/*.c>","+<generated/guider_fonts/*.c>","+<generated/images/*.c>"]}}
需要注意,上面我们提到还需要lv_font.h文件,在上面的json文件中有这么一句,“-I …/…/.pio/libdeps/esp32doit-devkit-v1/lvgl/src/font”, 这句就是添加lv_font.h文件,具体的路径名称可能有所不同,根据实际情况进行修改。
gui guider生成的代码无人工修改移植esp32 实现拖曳式傻瓜生成嵌入式图形界面 及platform include 路径踩坑记
编译
第一次编译会产生错误,比如fatal error: lvgl/lvgl.h: No such file or directory,提示找不到LVGL的路径。这个是由于我的LVGL的库的lvgl.h的路径和程序中的不一致,所以需要修改。
把 #include “lvgl/lvgl.h” 改成#include “lvgl.h” 需要注意是有好几处。
修改后应该会编译通过。
ESP32+PIO+LGVL+gui_guider相关推荐
- ESP32+PIO+LGVL+gui_guider之【BUTTON实体按键】
LVGL的Button外部按键 这个Button是没有触摸屏的情况下用外部的按键来对应屏幕上的按键,比如屏幕上有个确定键,你按下外部某个按键,屏幕的确定键也相应显示按下. 工作原理其实就是LVGL把外 ...
- 龙邱MPU9250传感器 | 使用ESP32 模块进行测试
简 介: 利用ESP32 MicroPython对于来自于龙邱的MPU9250进行初步测试. 关键词: MPU9250,I2C,ESP32,软件I2C #mermaid-svg-fMBqdJ8sCAu ...
- 使用VScode开发ESP32,PlatformIO开发ESP32
arduino IDE安装开发板库 安装arduino IDE 首先下载arduino IDE并安装.在官网下载即可.如果官网下载慢,可以找第三方资源下载. 下载开发板库 安装后进入"文件& ...
- CLion上用platformIO开发esp32,CLion开发esp32详细配置流程
太爱Jetbrains了!!! 上次用烦了keil写stm32,Clion马上给俺整了个2019.1更新,直接整合了stm32CubeMX,从此抛弃keil. 最近毕设选择了用esp32,然后用pla ...
- 《ESP32》Adafruit_GFX、u8g2驱动ssd1306
本示例将使用ESP32驱动ssd1306,将为你介绍SSD1306,接线方式以及如何使用Adafruit_GFX.u8g2两种模式进行开发SSD1306. 本人踩坑了半天,发现Adafruit_SSD ...
- ESP32 入门笔记01:乐鑫ESP32-DevKitC开发板信息、开发环境搭建以及学资料准备
文章目录 一.ESP32-DevKitC 开发板介绍 二.ESP32 开发环境 1. Arduino IDE 1.1 开发环境搭建步骤 1.2 实验:使用 Arduino IDE 将代码上传到 ESP ...
- ESP32:使用TFT_eSPI库驱动TFT串口屏
目录 实验条件 软件部分 TFT_eSPI库的安装 配置文件 硬件部分 esp32 LCD串口屏 接线方式 实验部分 参考文章 本文使用 esp32结合 TFT_eSPI库点亮了一块 ILI9341驱 ...
- patformio安装esp32环境的另一种方法
关于platformio配置esp32环境 第一种方法我选择的是直接在初始化文件里改,让pio核心自己下载 但是这种方案实在是太慢了=.=,我下了一个晚上还没能结束. 所以我查了platformio的 ...
- ESP32作为服务器,使用网页控制LED小灯
ESP32作为服务器,使用网页控制LED小灯 项目描述 ESP32-S开发板加入局域网,使用platformIO编写好ESP32的代码后,编译下载到ESP32中,访问ESP32的IP地址,使用网页控制 ...
最新文章
- 全球500强案例精选,带你了解人工智能在金融行业如何落地
- vue element 框架 自定义轮播图,点击上下翻图,并让图片居中
- 对图片对比度和亮度的理解
- 使用While循环语句值得注意的事
- Google Maps API 进级: GoogleMaps常用事件及应用思路1
- 飞康CEO:敢于向传统的灾备法则说“不”
- 我的世界服务器自定义代码,《我的世界》服务器指令代码秘籍大全
- mysql5.5创建学生情况表_数据库中创建一个学生表
- fastjson list转json
- 基于SSH的宠物管理系统(宠物商店)
- 天空盒(SkyBox)的实现原理与细节
- java 地心坐标系(ECEF)和WGS-84坐标系(WGS84)互转
- 俄勒冈州立大学计算机科学专业,俄勒冈州立大学电气工程与计算机科学专业介绍在这里哦!...
- 机器学习入门概念--心血总结--史上最强--入门必读--回味无穷
- WEB CTF入门题解析
- 洛谷 P1007 独木桥
- 质量保证QA与质量控制QC
- XDM、GDM和KDM
- 字体的报警 Font shape `TU/ptm/m/n‘ undefined(Font) using `TU/lmr/m/n‘ instead
- 【论文翻译】Cluster Contrast for Unsupervised Person Re-Identification(2021)