当前位置:网站首页>Arduino esp32: overall framework of lvgl project (I)
Arduino esp32: overall framework of lvgl project (I)
2022-07-03 16:32:00 【Help me up I still have hair】
Preface
Bishena LVGL Made a GUI, It's used arduino The compiler and ESP32 The board , Although not complicated on the whole , But there are many , Here is the whole project LVGL Partially record . If you need the code, you can ask me by email .
summary
stay ESP32 The above part is based on the previous blogs step by step , The first is to build the environment arduino-esp32: Development environment construction , Then drive the touch screen arduino-esp32: be based on TFT-eSPI The library implements touch screen , Then introduce the LVGLarduino-esp32: Use LVGL And the text library arduino-esp32:LVGL Chinese font ( Universal ), Next, you can observe each in the simulator API The effect of arduino-esp32:LVGL Of VS2019 Simulator Come on arduino Write the required components and code in .
This is a demo video recorded at that time .
smartCarVideo
The overall framework
As a whole, it is divided into five modules :
- Control module
- Data display module
- Parameter adjustment module
- Network connection module
- Network data transceiver module
Each module integrates a class of functions , For each module GUI Some use LVGL Provided API To draw , The data and logic sections use NRF To interact with the underlying .
because arduino The limitations of the editor provided by this compiler , So the external editor is used here sublime. Although it is not a good habit to write all the code in one folder , But here is still because arduino The particularity of , This part of the code is integrated in the same ino In the engineering documents , The total number of codes is 1900 Multiple lines , among GUI Part of it probably takes up 60%, The rest is the data processing part .
Control module
The control module is used to control the front, rear, left and right steering of the trolley .GUI as follows . Mainly the controller on the left , After long press, special effects will appear , Then start issuing instructions , Let go and stop .
Data display module
The data display module is used to display the data uploaded by the car ,GUI as follows . There are three types of data display , The first is the track display on the right side of the above figure , In fact, it is the result of a simple car sideline recognition , The second is speed data , Image cycle right , Every time 0.5 Refresh every second , The third method is to draw the gray distribution map of the camera frame image ,x Axis 188 Column , The width of the corresponding image ,y Axis 256 That's ok , Corresponding gray value , The last two data types are each 1 Refresh every second .


Data adjustment module
The data adjustment module is used to issue the mode switching and mode parameters of the car ,GUI as follows . Power on will pop up a pop-up window with blocked operation , Used to send the selection results of automatic or manual mode , There are four jump buttons in the configuration interface , After jumping, you can enter the main configuration interface , The operation mode can be switched here , The speed is selected through the sliding box , The data display part of the previous module can be switched here .


Network connection module
The network connection module provides an interactive connection similar to mobile phones and tablets WIFI The function of ,GUI as follows . Click the on switch , Will scan WIFI hotspot , At the end of the scan, at most 12 Hot spots , You can manually select one , Enter the password to start the connection process , And prompt the process and results .





Network data transceiver module
The network data receiving and sending module provides communication with the cloud server MQTT Connection process , And subscribe to and publish topics , This module is only connected WIFI Only after success , Its GUI as follows ( I didn't take pictures , I cut several pictures in the video ). After turning on the switch, you will start to connect to the ECS , If the connection is successful, you will be prompted , Data upload and distribution will be displayed on the screen , After starting the network service, the speed data will be uploaded to the corresponding theme of the ECS in real time , And subscribe to the corresponding topics .


Other modules
There is also a configuration for the system , Used to adjust the brightness of the screen , Its GUI as follows . Slide the slider to 0% To 100% Adjust the brightness of the screen .
Summary
Holistic GUI These are the frames , It also includes the background color 、 Layout design and introduction of pictures in the upper right corner , Leave it in the code section later .
边栏推荐
- [proteus simulation] 8 × 8LED dot matrix screen imitates elevator digital scrolling display
- Everyone in remote office works together to realize cooperative editing of materials and development of documents | community essay solicitation
- Is it safe to open a stock account by mobile registration? Does it need money to open an account
- 切入点表达式
- (补)双指针专题
- Interviewer: how does the JVM allocate and recycle off heap memory
- Slam learning notes - build a complete gazebo multi machine simulation slam from scratch (4)
- Nifi from introduction to practice (nanny level tutorial) - flow
- 深入理解 SQL 中的 Grouping Sets 语句
- How to set up SVN server on this machine
猜你喜欢

Multithread 02 thread join

Uploads labs range (with source code analysis) (under update)

为抵制 7-Zip,列出 “三宗罪” ?网友:“第3个才是重点吧?”

近视:摘镜or配镜?这些问题必须先了解清楚

One article takes you to understand machine learning

一台服务器最大并发 tcp 连接数多少?65535?

Rk3399 platform development series explanation (WiFi) 5.54. What is WiFi wireless LAN

Data driving of appium framework for mobile terminal automated testing

Unreal_DataTable 实现Id自增与设置RowName

Initial test of scikit learn Library
随机推荐
Interviewer: how does the JVM allocate and recycle off heap memory
EditText request focus - EditText request focus
Unreal_DataTable 实现Id自增与设置RowName
Is it safe to open an account with tongdaxin?
Caching mechanism of Hibernate / session level caching mechanism
消息队列消息丢失和消息重复发送的处理策略
初试scikit-learn库
斑马识别成狗,AI犯错的原因被斯坦福找到了
Slam learning notes - build a complete gazebo multi machine simulation slam from scratch (4)
LeetCode1491. Average value of wages after removing the minimum wage and the maximum wage
NFT新的契机,多媒体NFT聚合平台OKALEIDO即将上线
Unreal_ Datatable implements ID self increment and sets rowname
8 cool visual charts to quickly write the visual analysis report that the boss likes to see
MySQL converts comma separated attribute field data from column to row
8 tips for effective performance evaluation
相同切入点的抽取
Google Earth engine (GEE) - daymet v4: daily surface weather data set (1000m resolution) including data acquisition methods for each day
Hibernate的缓存机制/会话级缓存机制
Add color to the interface automation test framework and realize the enterprise wechat test report
于文文、胡夏等明星带你玩转派对 皮皮APP点燃你的夏日