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, 26 added, 0 removed)
- 1727231038705-173.png
- 1727233636007-933.png
- 1727484665746-713.png
- 1727485118799-984.png
- 1727485251053-655.png
- 1727485480434-713.png
- 1727485933579-550.png
- 1727485953726-175.png
- 1727486567182-334.png
- 1727486578489-774.png
- 1727487368023-281.png
- 1727488067077-684.png
- 1727488099947-341.png
- 1727488108117-780.png
- 1727488157579-949.png
- image-20240925110638-1.png
- image-20240928090825-1.png
- image-20240928103357-2.png
- image-20240928103506-3.png
- image-20240928105309-4.png
- image-20240928110211-5.png
- image-20240928111412-6.png
- image-20240928111654-7.png
- image-20240928112001-8.png
- image-20240928113424-9.png
- image-20240928114139-10.png
Details
- Page properties
-
- Content
-
... ... @@ -85,29 +85,182 @@ 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 desi ng 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 - 95 95 == 2.2 Install Software Running Environment == 96 96 97 - ===2.2.1InstallESP-IDFtool===96 +The ESP MCU can be developed using ESP-IDF, Arduino, or MicroPython. For this project, we utilize ESP-IDF for compilation and Visual Studio Code (VSCode) for editing. 98 98 98 +=== 2.2.1 Install VSCode and ESP-IDF extension === 99 + 100 +Firstly, download and install VSCode for your computer's operating system from the official website: [[Download Visual Studio Code - Mac, Linux, Windows>>url:https://code.visualstudio.com/download]]. 101 + 102 +Next, you need to install the ESP-IDF extension within VSCode. The detailed operation steps are illustrated in image 1. 103 + 104 + 105 +[[image:image-20240928110211-5.png||height="508" width="866"]] 106 + 107 + image 1 ESP-IDF extension install 108 + 109 +Links for reference: [[Install ESP32 ESP-IDF on Windows and Integrate with VS code (esp32tutorials.com)>>url:https://esp32tutorials.com/install-esp32-esp-idf-windows-integrate-vs-code/#:~~:text=In%20this%20tutorial,%20we%20will%20show%20you%20how%20to%20install]] 110 + 99 99 === 2.2.2 Install SquareLine Studio === 100 100 113 +The version we are utilizing for this software is 1.4.2. You can download it from the official link: [[SquareLine Studio - Download the current version of SquareLine Studio>>url:https://squareline.io/downloads#lastRelease]]. 101 101 102 - ==2.3Program inSquareLine andgetUIcode==115 +Please note that this software necessitates the registration of a license prior to usage, and various licenses come with distinct limitations. For instance, the free version imposes restrictions such as a limit of 1 component, 150 widgets, and 10 screens. However, for first-time downloads, you are granted unrestricted access for a period of 30 days without the need for immediate registration. 103 103 117 +== 2.3 Simple usage of SquareLine Studio and export UI code == 104 104 105 - ==2.4IntergrateUICode toESP32==119 +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. 106 106 107 107 108 - ==2.5TestResult=122 +[[image:image-20240928103357-2.png||height="680" width="708"]] 109 109 124 + image 2 create a SquareLine project 110 110 126 +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. 127 + 128 +[[image:1727229582471-566.png]] 129 + 130 + image 3 project settings 131 + 132 + 133 +[[image:image-20240928105309-4.png||height="526" width="556"]] 134 + 135 + image 4 modify project settings 136 + 137 +Now we can start to use this software. Here are some usage information for this software. 138 + 139 +**1.add widget** 140 + 141 +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. 142 + 143 +[[image:image-20240928111412-6.png||height="526" width="864"]] 144 + 145 + 146 + image 5 add widgets 147 + 148 +**2.modify widget** 149 + 150 +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". 151 + 152 +[[image:1727485118799-984.png]] 153 + 154 + image 6 the button widget's "Inspector" tab 155 + 156 +Second part: "Layout" means a auto position-management for widgets contained in the parent widget. "Transform" includes size, position and align modification. 157 + 158 +[[image:1727485251053-655.png]] 159 + 160 +image 7 the button widget's "BUTTON" tab 161 + 162 +Third part: It is an area of style setting. 163 + 164 +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, the current screen will fade into another specified screen, and the switching process will last 500ms. 165 + 166 +[[image:1727485480434-713.png||height="395" width="290"]] 167 + 168 + 169 + 170 + image 8 add event for button 171 + 172 +**3.change label widget content** 173 + 174 +Modify the content in text, the text content of label widget will be changed accordingly. 175 + 176 +[[image:image-20240928090825-1.png||height="327" width="391"]] 177 + 178 + image 9 modify text content of label widget 179 + 180 +**4.Add image into project** 181 + 182 +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. 183 + 184 +[[image:image-20240928113424-9.png||height="355" width="505"]] 185 + 186 + image 10 add image file into SquareLine Studio project 187 + 188 +[[image:image-20240928114139-10.png||height="559" width="810"]] 189 + 190 + image 11 use image widget in SquareLine Studio 191 + 192 +**5.The relationship between widgets** 193 + 194 +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. 195 + 196 +[[image:1727486567182-334.png||height="318" width="278"]] 197 + 198 +image 12 move label1 to make label1 widget be a child of button1 widget(1) 199 + 200 +[[image:image-20240928112001-8.png||height="431" width="796"]] 201 + 202 + image 13 move label1 to make label1 widget be a child of button1 widget(2) 203 + 204 +**6.Preview the final effect** 205 + 206 +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. 207 + 208 +[[image:1727487368023-281.png]] 209 + 210 + image 14 click on the triangle icon to start or end the simulation 211 + 212 +For more detailed usage, please visit the official link: [[SquareLine Studio 1.4.2 Documentation ~| SquareLine Studio>>url:https://docs.squareline.io/docs/squareline/]]. 213 + 214 + 215 +== 2.4 Integrate UI Code to ESP-IDF Project == 216 + 217 +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. 218 + 219 +[[image:1727229798126-306.png]] 220 + 221 + image 15 export UI file 222 + 223 +[[image:1727229821582-258.png||height="333" width="662"]] 224 + 225 + image 16 exported UI file 226 + 227 +Create a empty directory entitled "ui" in path "basic_prj/app_components/ui/", and then copy all UI code exported to this directory. 228 + 229 +[[image:1727229845835-509.png||height="165" width="582"]] 230 + 231 + image 17 open CMakeLists.txt 232 + 233 +[[image:1727229892636-154.png||height="521" width="407"]] 234 + 235 + image 18 modify CMakeLists.txt 236 + 237 +The last step of integrating is adding two lines of code in main.c file. 238 + 239 +[[image:1727229926561-300.png]] 240 + 241 + image 19 add "ui.h" 242 + 243 +[[image:1727229955611-607.png]] 244 + 245 + image 20 add "ui_init()" 246 + 247 +== 2.5 Brief introduction of hello world project == 248 + 249 +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. 250 + 251 +(% class="wikigeneratedid" %) 252 +== 2.6 Test Result == 253 + 254 +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. 255 + 256 +[[image:1727488067077-684.png||height="402" width="574"]] 257 + 258 + image 21 screen1 259 + 260 +[[image:1727488157579-949.png||height="397" width="572"]] 261 + 262 + image 22 screen2 263 + 111 111 = 3. Example Project 1: LoRa Central Display = 112 112 113 113 [[image:image-20240916101737-1.png||height="468" width="683"]]
- 1727231038705-173.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +94.6 KB - Content
- 1727233636007-933.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +114.8 KB - Content
- 1727484665746-713.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +94.9 KB - Content
- 1727485118799-984.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +11.8 KB - Content
- 1727485251053-655.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +20.4 KB - Content
- 1727485480434-713.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +24.7 KB - Content
- 1727485933579-550.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +55.6 KB - Content
- 1727485953726-175.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +91.6 KB - Content
- 1727486567182-334.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +42.6 KB - Content
- 1727486578489-774.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +66.0 KB - Content
- 1727487368023-281.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +28.5 KB - Content
- 1727488067077-684.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +604.7 KB - Content
- 1727488099947-341.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +877.7 KB - Content
- 1727488108117-780.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +877.7 KB - Content
- 1727488157579-949.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +877.7 KB - Content
- image-20240925110638-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +262.7 KB - Content
- image-20240928090825-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +30.2 KB - Content
- image-20240928103357-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +153.7 KB - Content
- image-20240928103506-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +197.7 KB - Content
- image-20240928105309-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +80.2 KB - Content
- image-20240928110211-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +228.0 KB - Content
- image-20240928111412-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +150.9 KB - Content
- image-20240928111654-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +105.4 KB - Content
- image-20240928112001-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +75.6 KB - Content
- 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