arduino-esp32:LVGL项目(一)整体框架

news/2025/3/4 6:19:59/

前言

毕设拿LVGL做了一个GUI,用的就是arduino编译器和ESP32板子,整体上虽然不复杂,但是也挺多的,这里把整个项目的LVGL部分记录一下。代码有需要的话可以邮箱找我要。

概述

在ESP32上的部分都是基于前面几篇博客循序渐进来的,首先是搭建环境arduino-esp32:开发环境搭建,然后是把触摸显示屏驱动起来arduino-esp32:基于TFT-eSPI库实现触摸显示屏,然后引入LVGLarduino-esp32:使用LVGL以及其中文字库arduino-esp32:LVGL中文字库(通用),接下来就可以通过观察在模拟器中各个API的效果arduino-esp32:LVGL的VS2019模拟器来在arduino里编写需要的组件和代码了。
这是一个当时录制的演示视频。

smartCarVideo

整体框架

整体上分成了五个模块:

  • 控制模块
  • 数据显示模块
  • 参数调整模块
  • 网络连接模块
  • 网络数据收发模块

每个模块都整合了一类的功能,每个模块的GUI部分使用LVGL提供的API来绘制,数据和逻辑部分使用NRF来和底层交互。
由于arduino这个编译器提供的编辑器的局限性,所以这里使用的是外部编辑器sublime。虽然把所有的代码都写在一个文件夹并不是一个好的习惯,但是这里还是由于arduino的特殊性,这部分的代码都整合在了同一个ino工程文件里,代码总量是1900多行,其中GUI部分大概占了60%,剩下的就是数据处理部分了。

控制模块

控制模块用于控制小车的前后左右转向。GUI如下。主要就是左边的控制器部分,长按后会出现特效,然后开始下发指令,松手即停。
在这里插入图片描述

数据显示模块

数据显示模块用于显示小车上传的数据,GUI如下。一共三种数据显示的类型,第一种就是上图右边部分的赛道显示,其实就是一个简单的小车边线识别的结果,第二个是速度数据,图像循环右移,每0.5秒刷新一次,第三种绘制摄像头帧图像的灰度分布图,x轴188列,对应图像的宽度,y轴256行,对应灰度值,后两种数据类型每1秒刷新一次。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

数据调整模块

数据调整模块用于下发对小车的模式切换和模式参数,GUI如下。上电会弹出一个操作阻塞的弹窗,用于下发自动或手动模式的选择结果,配置界面存在四个跳转按钮,跳转后可以进入主配置界面,运行模式可以在这里继续切换,速度通过滑动框选择,上一个模块的数据显示部分可以在这里来进行切换。
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

网络连接模块

网络连接模块提供了一个类似于手机和平板的交互式连接WIFI的功能,GUI如下。点击开启开关后,将会扫描WIFI热点,扫描结束会列举至多12个热点,可以手动的选择一个,输入密码即可开启连接过程,并提示过程和结果。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

网络数据收发模块

网络数据收发模块提供与云服务器的MQTT连接过程,以及对主题的订阅和发布,该模块只有连接了WIFI成功后才会出现,其GUI如下(当时没拍照,在视频里截了几张)。打开开关后就会开始连接云服务器,连接成功会提示,数据的上传下发都会在屏幕上显示,开启网络服务后速度数据会实时上传到云服务器对应的主题上,并订阅相应的主题。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

其他模块

还存在一个对系统的配置,用于调整屏幕的亮度,其GUI如下。滑动滑块即可在0%到100%之间调整屏幕的亮度。
在这里插入图片描述

小结

整体的GUI框架就是这些,其中还包括对背景颜色、布局设计以及右上角图片的引入,留在之后代码部分再说。


http://www.ppmy.cn/news/244123.html

相关文章

windows10 显卡GTX1050安装tensorflow-gpu教程以及Tensorflow不同版本要求与CUDA及CUDNN版本对应关系(GPU版本)

windows10 显卡GTX1050安装tensorflow-gpu教程以及Tensorflow不同版本要求与CUDA及CUDNN版本对应关系(GPU版本) 一、安装准备与对应信息二、安装anaconda三、安装cuda9.0四、安装cuDNN7.6五、安装tensorflow-gpu六、在anaconda下载Jupyter-notebook 一、…

win10(GetForce GTX 1650 Ti)+cuda11.0.228+cudnn-x64-v8.0.2.39+Tensorflow-gpu2.4.1+Pytorch1.8.1(三)

在装tensorflow-gpu之前,很重要的一点,一定要充分了解自己的电脑,再去安装!不然后面会踩很多坑! 我的电脑是win10-64位、GetForce GTX 1650 Ti,以及anaconda环境的Python3.8(当然python不合适还…

win10+GTX1050Ti+anaconda3+tensorflow1.14.0+cuda10.0+cudnn7.6.1.34(带GPU使用检测)

首次安装win10下的GPU深度学习环境 1,首先安装anaconda 下载地址:https://mirrors.tuna.tsinghua.edu.cn/anaconda/archive/ 此处我的版本是:anaconda3-5.0.1(python3.6.3) 2,创建虚拟环境 &#xff08…

国腾|GM8905C(TTL转LVDS)可替代DS90UR905

GM8905C 1. 功能:GM8905C 型 24 位 FPD-LINK II 发送器,主要功能是实现将并行的 24bit 的 RGB 数据以及 3 位控制信号(HS/VS/DE)转换为 1 路高速差分信号输出。应用图如下: 2. 产品特征 输入:TTL(24bit) 输…

win10+tensorflow-gpu+1050ti(终于安装成功了T﹏T)

前言 可能很多人一开始跟我一样通过查看官网(CUDA-GPU支持关系)发现1050ti没有对应的CUDA版本,这也是我最开始放弃在自己笔记本上安装TF-gpu版的主要原因。直到疫情原因回不去学校实验室......然后踩坑之路就这样开始了╯﹏╰ 其实写这篇文…

【踩坑教程】win10环境下RTX3050Ti安装Tensorflow-gpu2.5+CUDA11.2.1+cudnn8.1.0

友情提醒:所有蓝字均为超链接 目录 1 本机环境及碎碎念2 排坑指南2.1 TensorFlow及CUDA、cuDNN版本2.2 CUDA版本选择2.2 cuDNN版本选择 3 安装教程3.1 CUDA安装3.2 cuDNN安装3.3 TensorFlow-gpu 2.5安装 参考 1 本机环境及碎碎念 联想拯救者R7000p 2021&#xff0…

win10 GTX1050Ti 安装cuda9.1+cuDNN7+tensorflow_gpu过程

win10 GTX1050Ti 安装cuda9.1cuDNN7tensorflow_gpu过程 1.系统配置2.安装过程一,查看显卡驱动版本,和支持的最高cuda版本二,配置环境变量,nvcc验证三,安装vs,编译工程四,安装cuDNN五&#xff0c…

Tensorflow量化步骤及生成量化的tflite(2)

第二部分:Tensorflow伪量化训练操作(生成量化的tflite) 序: (2018.12.24更新:鉴于评论中有人误解,我这里写清楚一点,后来者也可以先去看看评论区的问题然后再决定要不要看这篇博客&#xff5e…