Changes for page LTS5 LoRa HMI Touch Screen
Last modified by Dilisi S on 2025/02/26 19:24
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 3 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -85,11 +85,11 @@ 85 85 * Smart Cities 86 86 * Smart Factory 87 87 88 -= 2. Getting Start with Hello World = 88 += 2. Getting Started with Hello World = 89 89 90 90 == 2.1 About this demo == 91 91 92 -In this Getting Start Example, we will show how to design a simple Display UI and upload it to LTS5. This UI has a button , when user click the button. The Web UI will jump to a new page. 92 +In this Getting Started Example, we will show how to design a simple Display UI and upload it to LTS5. This UI has a button , when user click the button. The Web UI will jump to a new page. 93 93 94 94 == 2.2 Install Software Running Environment == 95 95 ... ... @@ -101,7 +101,7 @@ 101 101 102 102 Next, you need to install the ESP-IDF extension within VSCode. The detailed operation steps are illustrated in image 1. 103 103 104 -[[image: 1727229396732-319.png]]104 +[[image:image-20240928110211-5.png||height="508" width="866"]] 105 105 106 106 image 1 ESP-IDF extension install 107 107 ... ... @@ -118,9 +118,9 @@ 118 118 After launching and logging in to this software, create a project as shown in the following image 2. The version of LVGL is 8.3.11. 119 119 120 120 121 -[[image: 1727233636007-933.png]]121 +[[image:image-20240928103357-2.png||height="680" width="708"]] 122 122 123 - 123 + image 2 create a SquareLine project 124 124 125 125 Next, we need to make some settings for this project. By clicking in the specified order on image 3, we can see the page as shown in image 4. 126 126 ... ... @@ -128,42 +128,85 @@ 128 128 129 129 image 3 project settings 130 130 131 -[[image: 1727229618724-758.png]]131 +[[image:image-20240928105309-4.png||height="526" width="556"]] 132 132 133 133 image 4 modify project settings 134 134 135 -Now we can start to use this software. The steps forcreatingthisUI areshown in image5-10.135 +Now we can start to use this software. Here are some usage information for this software. 136 136 137 - [[image:1727229653254-680.png]]137 +**1.add widget** 138 138 139 - create a UI(1)139 +To add a widget, you should click a widget you want to add at the area entitled “Widgets”. In image , demonstrate a add process of label, button, and image 5. 140 140 141 -[[image: 1727231038705-173.png]]141 +[[image:image-20240928111412-6.png||height="526" width="864"]] 142 142 143 - 6createa UI(2)143 + image 5 add widgets 144 144 145 - [[image:1727229682537-381.png]]145 +**2.modify widget** 146 146 147 - image 7create a UI(3)147 +The area for modifying widgets is called "Inspector". There are four parts in the "Inspector" tab. We use three of them more frequently, excluding "COMPONENT". The second part is aimed at adjusting the layout, size, position, alignment, flags, and states, etc. of widgets. The name of the second part indicates the type of widget it is representing, and in image 6, it is "BUTTON". 148 148 149 - We repeat the steps of screen1in screen2. Then we get screen2 as shown in image149 +[[image:1727485118799-984.png]] 150 150 151 - [[image:1727229715361-392.png]]151 + image 6 the button widget's "Inspector" tab 152 152 153 - image8create a UI(4)153 +Second part: "Layout" means a auto position-management for widgets contained in the parent widget. "Transform" includes size, position and align modification. 154 154 155 - Finally, we add click event for screen change to button1 in screen1(shown in image9) and button2in screen2.155 +[[image:1727485251053-655.png]] 156 156 157 - [[image:1727229740592-843.png]]157 +image 7 the button widget's "BUTTON" tab 158 158 159 - mage9 createa UI(5)159 +Third part: It is an area of style setting. 160 160 161 - The eventtingsof button1areasimage10shown.The event addingoperationofbutton2ismilartobutton1.161 +Fourth part: It is an area for adding events. In image 8, it is adding a click event to a button. If the button is clicked after the click event is added as shown in image 8, the current screen will fade into another specified screen, and the switching process will last 500ms. 162 162 163 -[[image:1727 229760857-521.png]]163 +[[image:1727485480434-713.png||height="395" width="290"]] 164 164 165 - 10createaUI(6)165 + image 8 add event for button 166 166 167 +**3.change label widget content** 168 + 169 +Modify the content in text as shown in image 9, the text content of label widget will be changed accordingly. 170 + 171 +[[image:image-20240928090825-1.png||height="327" width="391"]] 172 + 173 + image 9 modify text content of label widget 174 + 175 +**4.Add image into project** 176 + 177 +To use the image widget, you should first add an image to your project. The image format must be PNG, and its resolution should not exceed 800x480 pixels. There are two ways to add an image file. One way is to move your image into the folder "…/squareline project/assets/", as shown in image 10. The other way is to click the "ADD FILE INTO ASSETS" button, then select an image from your computer to import. After adding, you can see the image in the "assets" area in SquareLine Studio, as demonstrated in image 11. 178 + 179 +[[image:image-20240928113424-9.png||height="355" width="505"]] 180 + 181 + image 10 add image file into SquareLine Studio project 182 + 183 +[[image:image-20240928114139-10.png||height="559" width="810"]] 184 + 185 + image 11 use image widget in SquareLine Studio 186 + 187 +**5.The relationship between widgets** 188 + 189 +There are two common relationships between widgets: one is parallel, the other is parent-child. The parallel relationship means that widgets' relative position is based on a collective object of reference. In parent-child relationship, the parts of the child object that are outside the boundaries of the parent object are not visible by default. Therefore, we need to adjust the position of the child object so that it falls within the range of the parent object, allowing it to be seen as illustrated in image 13. 190 + 191 +[[image:1727486567182-334.png||height="318" width="278"]] 192 + 193 +image 12 move label1 to make label1 widget be a child of button1 widget(1) 194 + 195 +[[image:image-20240928112001-8.png||height="431" width="796"]] 196 + 197 + image 13 move label1 to make label1 widget be a child of button1 widget(2) 198 + 199 +**6.Preview the final effect** 200 + 201 +An advantage of this kind of software is that you can edit the UI with quick previews. In other words, it provides a way of combining graphical programming with simulation immediately. 202 + 203 +[[image:1727487368023-281.png]] 204 + 205 + image 14 click on the triangle icon to start or end the simulation 206 + 207 +For more detailed usage, please visit the official link: [[SquareLine Studio 1.4.2 Documentation ~| SquareLine Studio>>url:https://docs.squareline.io/docs/squareline/]]. 208 + 209 + 167 167 == 2.4 Integrate UI Code to ESP-IDF Project == 168 168 169 169 To achieve the integrating, we first need to export the UI code, then make some modifications, and finally relocate the UI code to a specific position within the project. ... ... @@ -170,43 +170,47 @@ 170 170 171 171 [[image:1727229798126-306.png]] 172 172 173 - image 1 1export UI file216 + image 15 export UI file 174 174 175 -[[image:1727229821582-258.png]] 218 +[[image:1727229821582-258.png||height="333" width="662"]] 176 176 177 - 2exported UI file220 + image 16 exported UI file 178 178 179 -Create a empty directory entitled ‘ui’in path“basic_prj/app_components/ui/”, and then copy all UI code exported to this directory.222 +Create a empty directory entitled "ui" in path "basic_prj/app_components/ui/", and then copy all UI code exported to this directory. 180 180 181 -[[image: 1727229845835-509.png]]224 +[[image:image-20240928144830-11.png]] 182 182 183 - 3open CMakeLists.txt226 + image 17 open CMakeLists.txt 184 184 185 -[[image:1727229892636-154.png]] 228 +[[image:1727229892636-154.png||height="521" width="407"]] 186 186 187 - 4modify CMakeLists.txt230 + image 18 modify CMakeLists.txt 188 188 189 189 The last step of integrating is adding two lines of code in main.c file. 190 190 191 191 [[image:1727229926561-300.png]] 192 192 193 - 5add“ui.h”236 + image 19 add "ui.h" 194 194 195 195 [[image:1727229955611-607.png]] 196 196 197 - 16add“ui_init()”240 + image 20 add "ui_init()" 198 198 199 -== 2.5 TestResult ==242 +== 2.5 Brief introduction of hello world project == 200 200 244 +The project consists of two screens. The first screen displays the company's logo, the project name, and a button to navigate to the next screen. The second screen presents some information about this HMI screen product through an image and includes a button to return to the previous screen. 245 + 246 +== 2.6 Test Result == 247 + 201 201 By pressing the button lying bottom right, the screen can switch to another as expected. This indicates that the UI file has been successfully integrated into the project and is now effective. 202 202 203 -[[image:1727 229990795-405.png]]250 +[[image:1727488067077-684.png||height="402" width="574"]] 204 204 205 - 7screen1252 + image 21 screen1 206 206 207 -[[image:1727 230012478-930.png]]254 +[[image:1727488157579-949.png||height="397" width="572"]] 208 208 209 - 18screen2256 + image 22 screen2 210 210 211 211 = 3. Example Project 1: LoRa Central Display = 212 212
- image-20240928113424-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +50.8 KB - Content
- image-20240928114139-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +114.3 KB - Content
- image-20240928144830-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +25.5 KB - Content