Changes for page LTS5 LoRa HMI Touch Screen
Last modified by Dilisi S on 2025/02/26 19:24
Change comment:
Dec 22 edits - part 1
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 11 added, 0 removed)
- image-20241122154745-48.png
- image-20241122154755-49.png
- image-20241122155650-50.png
- image-20241122161934-51.png
- image-20241122162612-52.png
- image-20241122162852-53.png
- image-20241122171211-54.png
- image-20241122173706-55.png
- image-20241122173718-56.png
- squalreline-trial.png
- squareline.io_downloads.png
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. xieby1 +XWiki.pradeeka - Content
-
... ... @@ -21,20 +21,20 @@ 21 21 22 22 = 1. Introduction = 23 23 24 -== 1.1 What is LTS5 LoRa HMI touchscreen ==24 +== 1.1 What is the LTS5 LoRa HMI Touch Screen? == 25 25 26 26 27 -LTS5 is a (% style="color:blue" %)LoRa / LoRaWAN HMI Touch Screen(%%) designed for display purposeofIoT project. Ithave a 5.0"HMI touch screen,and support WiFi, Bluetooch, LoRa wireless protocol.27 +The LTS5 is a (% style="color:blue" %)**LoRa / LoRaWAN HMI Touch Screen**(%%) designed for displaying information in IoT projects. It features a **5.0-inch HMI touch screen** and supports **Wi-Fi**, **Bluetooth**, and **LoRa** wireless protocols. 28 28 29 -LTS5 is an OpenSource software project.TheMCUisESP32 and Dragino LA66 LoRa module. Therearelotsofdevelopment source for ESP32which can greatly reducethedevelopment time.29 +The LTS5 is an open-source software project powered by an **ESP32 MCU** and a **Dragino LA66 LoRa** module. The extensive development resources available for ESP32 can significantly reduce development time. 30 30 31 -The HMI touch screen of LTS5supports drap &drop design.Developercanuse SquareLine to easily customize the display UI fordifferentapplication.31 +The LTS5's HMI touch screen supports **drag-and-drop** design, allowing developers to use SquareLine to easily customize the display UI for various applications. 32 32 33 - LTS5 use LA66 LoRa module,this modulecan be program to support private LoRa protocol or LoRaWAN protocol.33 +The LA66 LoRa module can be programmed to support either private LoRa protocols or the LoRaWAN protocol. 34 34 35 - 36 36 == 1.2 Features == 37 37 37 + 38 38 * ESP32-WROOM MCU: 8MB RAM & 16MB ROM 39 39 * Dragino LA66 LoRa Module 40 40 * Support Private LoRa protocol or LoRaWAN protocol ... ... @@ -47,7 +47,7 @@ 47 47 * 5V DC power 48 48 * IP Rating: IP52 49 49 50 -== 1.3 Specification == 50 +== 1.3 Specifications == 51 51 52 52 53 53 **LoRa**: ... ... @@ -107,23 +107,32 @@ 107 107 == 2.1 About this demo == 108 108 109 109 110 - In thisGettingStartedExample,wewill showhow to design a simpleDisplay UIand uploadittoLTS5.This UI has a button , when user click thebutton. TheWeb UI will jumpto anew page.110 +This getting started example demonstrates how to design and deploy a simple display UI for the LTS5 device. The example includes: 111 111 112 +* Creating a basic UI with a single button. 113 +* Implementing functionality to navigate the Web UI to a new page when the button is clicked. 114 +* Uploading the UI to the LTS5 device. 112 112 116 +By completing this demo, you will gain foundational knowledge for customizing the LTS5 interface and building more advanced IoT applications. 117 + 118 + 113 113 == 2.2 Install Software Running Environment == 114 114 115 -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. 116 116 117 - ===2.2.1InstallVSCodeandESP-IDF extension===122 +The **ESP MCU** supports development with **ESP-IDF**, **Arduino**, or **MicroPython**. We use **ESP-IDF** for compilation and **Visual Studio Code (VS Code)** as the development environment for this project. 118 118 119 119 120 - Firstly,downloadand install VSCodefor your computer's operating system from the official website: [[DownloadVisualStudio Code-Mac, Linux, Windows>>url:https://code.visualstudio.com/download]].125 +=== 2.2.1 Install VS Code and ESP-IDF extension === 121 121 122 -Next, you need to install the ESP-IDF extension within VSCode. The detailed operation steps are illustrated in image 1. 123 123 128 +First, download and install **VS Code** for your operating system from the Visual Studio Code website: [[Visual Studio Code - Mac, Linux, Windows>>https://code.visualstudio.com/download]]. 129 + 130 +Next, install the **ESP-IDF** extension within **VS Code**. Detailed steps for this process are shown in Image 1. 131 + 132 + 124 124 [[image:image-20240928110211-5.png||height="508" width="866"]] 125 125 126 - image 1 ESP-IDF extension install135 + Image 1: ESP-IDF extension install 127 127 128 128 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]] 129 129 ... ... @@ -131,11 +131,17 @@ 131 131 === 2.2.2 Install SquareLine Studio === 132 132 133 133 134 - The versionwe are utilizing for this softwareis 1.4.2. You canownloaditfrom the officialink:[[SquareLineStudio - Downloadthecurrent version of SquareLine Studio>>url:https://squareline.io/downloads#lastRelease]].143 +Download and install the latest version of [[SquareLine Studio>>https://squareline.io/downloads#lastRelease]] on your computer. It supports Windows, Linux, and Mac OS. The software version we are using here is 1.4.2. 135 135 136 - Please note that this software necessitates the registration of a license prior tousage, and various licenses come with distinctlimitations.Forinstance, 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 aperiod of 30 days without theneed for immediate registration.145 +[[image:squareline.io_downloads.png]] 137 137 138 138 148 +After installation, you can use SquareLine Studio as a trial version for 30 days without activation. Click **CONTINUE WITH TRIAL** to use the trial version, or click **LOG IN** to activate the software with your license key. 149 + 150 +[[image:squalreline-trial.png||height="602" width="400"]] 151 + 152 +The free version restricts usage to 1 component, 150 widgets, and 10 screens. 153 + 139 139 == 2.3 Simple usage of SquareLine Studio and export UI code == 140 140 141 141 ... ... @@ -291,54 +291,53 @@ 291 291 292 292 = 4. Example Project 2: LoRaWAN RS485 Alarm = 293 293 294 -(% class="wikigeneratedid" %) 295 295 = 5. The way to add a new panel to project = 296 296 297 -~1. Design a panel in SquareLine Studio, using image 5.1 below as a reference. 311 +**~1. Design a panel in SquareLine Studio, using image 5.1 below as a reference.** 298 298 299 299 [[image:image-20241121113445-1.png||height="584" width="934"]] 300 300 301 301 image 5.1 a panel about water_leak 302 302 303 -2. Export the ui file. You need to adjust the export path first, then click "Export->Export UI Files". This step had been introduced before. Then you can get the ui files as shown in image 5.2. 317 +**2. Export the ui file.** You need to adjust the export path first, then click "Export->Export UI Files". This step had been introduced before. Then you can get the ui files as shown in image 5.2. 304 304 305 305 [[image:image-20241121141120-4.png||height="383" width="795"]] 306 306 307 307 image 5.2 ui files exported 308 308 309 -3. Delete or rename some file. Here are the steps: 323 +**3. Delete or rename some file.** Here are the steps: 310 310 311 - 3.1 Delete the 'components' directory.312 - 3.2 Delete 'filelist.txt'.313 - 3 .3Delete 'ui_helpers.c' and 'ui_helpers.h'.314 - 3.4 Rename 'ui_ScreenMain.c' in the 'screens' directory to 'ui_water_leak_style.c'.315 - 3.5 Rename the 'screens' directory to 'styles'.325 + Step1 Delete the 'components' directory. 326 + Step2 Delete 'filelist.txt'. 327 + Step3 Delete 'ui_helpers.c' and 'ui_helpers.h'. 328 + Step4 Rename 'ui_ScreenMain.c' in the 'screens' directory to 'ui_water_leak_style.c'. 329 + Step5 Rename the 'screens' directory to 'styles'. 316 316 317 317 [[image:image-20241121151934-10.png||height="303" width="792"]] 318 318 319 - image 5.3 rest file 1 333 + image 5.3 rest file (1) 320 320 321 321 [[image:image-20241121142925-7.png||height="141" width="793"]] 322 322 323 - image 5.4 rest file 2 337 + image 5.4 rest file (2) 324 324 325 -4. Open this project in vscode. 339 +**4. Open this project in vscode.** 326 326 327 327 5. Add file include path about water_leak in extra_lib/CMakeLists.txt as shown in image 5.5, 5.6, and its format is similar to the tem_hum or door. 328 328 329 329 [[image:image-20241121181957-17.png||height="438" width="516"]] 330 330 331 - 345 + image 5.5 extra_lib/CMakeLists.txt before add 332 332 333 333 [[image:image-20241121182239-18.png||height="520" width="518"]] 334 334 335 - 349 + image 5.6 extra_lib/CMakeLists.txt after add 336 336 337 -6. Modify header file include in fonts and images directory. Open the fonts/ui_font_Font12.c file, as shown in image 5.7, then modify the '#include "../ui.h"' to '#include "../ui_water_leak.h"', the image 5.8 is the modified image. Other font file need to be modified in same way. 351 +**6. Modify header file include in fonts and images directory.** Open the fonts/ui_font_Font12.c file, as shown in image 5.7, then modify the '#include "../ui.h"' to '#include "../ui_water_leak.h"', the image 5.8 is the modified image. Other font file need to be modified in same way. 338 338 339 339 [[image:image-20241121171629-11.png]] 340 340 341 - 355 + image 5.7 before-modified font file 342 342 343 343 [[image:image-20241121171901-12.png]] 344 344 ... ... @@ -354,28 +354,183 @@ 354 354 355 355 image 5.10 modified image file 356 356 357 -7. Modify the ui_water_leak/CMakeLists.txt. Open this file, and modify it from image 5.11 to image 5.12. 371 +**7. Modify the ui_water_leak/CMakeLists.txt.** Open this file, and modify it from image 5.11 to image 5.12. 358 358 359 359 [[image:image-20241121180030-15.png]] 360 360 361 - 375 + image 5.11 ui_water_leak/CMakeLists.txt before modification 362 362 363 363 [[image:image-20241121180517-16.png]] 364 364 365 - 379 + image 5.12 ui_water_leak/CMakeLists.txt after modification 366 366 367 -8. 381 +**8. Modify ui_water_leak.h file.** The image 5.13, 5.14 show the code before modification, and the image 5.15, 5.16 show the code after modification. 368 368 383 +[[image:image-20241122094200-23.png]] 369 369 385 + image 5.13 ui_water_leak.h (1) before modification 370 370 387 +[[image:image-20241122094320-24.png||height="852" width="554"]] 371 371 389 + image 5.14 ui_water_leak.h (2) before modification 372 372 391 +[[image:image-20241122094600-25.png||height="1078" width="554"]] 373 373 393 + image 5.15 ui_water_leak.h (1) after modification 374 374 395 +[[image:image-20241122094719-26.png||height="941" width="583"]] 375 375 397 + image 5.16 ui_water_leak.h (2) before modification 376 376 399 +**9. Modify ui_water_leak.c file.** The image 5.17, 5.18, 5.19 show the code before modification, and the image 5.20, 5.21, 5.22 show the code after modification. 377 377 401 +_ui_flag_modify( ((lv_obj_t *)(e->user_data)), LV_OBJ_FLAG_HIDDEN, _UI_MODIFY_FLAG_TOGGLE); This code replaces 4 lines of code in ui_water_leak.c, so it is pasted here for convenience. 378 378 403 +[[image:image-20241122102929-27.png||height="619" width="426"]] 404 + 405 + image 5.17 ui_water_leak.c (1) before modification 406 + 407 +[[image:image-20241122112838-30.png||height="551" width="628"]] 408 + 409 + image 5.18 ui_water_leak.c (2) before modification 410 + 411 +[[image:image-20241122110815-29.png||height="725" width="712"]] 412 + 413 + image 5.19 ui_water_leak.c (3) before modification 414 + 415 +[[image:image-20241122113158-31.png||height="872" width="677"]] 416 + 417 + image 5.20 ui_water_leak.c (1) after modification 418 + 419 +[[image:image-20241122113259-33.png||height="874" width="724"]] 420 + 421 + image 5.21 ui_water_leak.c (2) after modification 422 + 423 +[[image:image-20241122113359-34.png||height="804" width="746"]] 424 + 425 + image 5.22 ui_water_leak.c (3) after modification 426 + 427 +**10. Modify ui_water_leak_events.h file.** The image 5.23 show the code before modification, and the image 5.24 show the code after modification. 428 + 429 +[[image:image-20241122134113-35.png||height="380" width="421"]] 430 + 431 + image 5.23 ui_water_leak_events_.h before modification 432 + 433 +[[image:image-20241122134420-37.png||height="201" width="283"]] 434 + 435 +image 5.24 ui_water_leak_events_.h after modification 436 + 437 +**11. Modify ui_water_leak_events.c file.** The image 5.25 show the code before modification, and the image 5.26 show the code after modification. 438 + 439 +Step1. '#include "ui.h"'~-~->'#include "ui_water_leak.h"' 440 + 441 +Step2. add code below in delete_object() function definition. 442 + 443 + panel_all * panel = find_upper_by_SensorPanel(&arr,((lv_obj_t *)(e->user_data~)~)~); 444 + 445 + size_t index = panel->panel_obj_index; 446 + 447 + deleteElement(&arr, index); 448 + 449 +[[image:image-20241122135023-38.png||height="358" width="372"]] 450 + 451 + image 5.25 ui_water_leak_events_.c before modification 452 + 453 +[[image:image-20241122135258-39.png||height="403" width="559"]] 454 + 455 + image 5.26 ui_water_leak_events_.c after modification 456 + 457 +**12. Modify ui_water_leak_style.c file.** 458 + 459 +Step1. '#include "../ui.h"'~-~->#include '"../ui_water_leak.h"' 460 + 461 + add '#include "../../sort.h"' 462 + 463 + add '#include "ui.h"' 464 + 465 +[[image:image-20241122141536-41.png||height="361" width="612"]] 466 + 467 + image 5.27 ui_water_leak_style.c (1) before modification 468 + 469 +[[image:image-20241122142129-42.png||height="386" width="613"]] 470 + 471 + image 5.28 ui_water_leak_style.c (1) after modification 472 + 473 +Step2. modify 'void ui_ScreenMain_screen_init(void)'~-~->'panel_with_type create_water_leak(uint8_t index)' 474 + 475 + delete code as shown in image 5.29 476 + 477 +[[image:image-20241122145620-44.png||height="757" width="671"]] 478 + 479 + image 5.29 ui_water_leak_style.c (2) 480 + 481 +Step3. The image 5.30, 5.31 show the change. 482 + 483 +[[image:image-20241122152026-45.png||height="277" width="828"]] 484 + 485 + image 5.30 ui_water_leak_style.c (3) before modification 486 + 487 +[[image:image-20241122152542-46.png||height="293" width="830"]] 488 + 489 + image 5.31 ui_water_leak_style.c (3) after modification 490 + 491 +Step4. Copy partly the code in ui_water_leak.c, paste at extra_lib/sort.h(The process is shown in image 5.32, 5.33). 492 + 493 +[[image:image-20241122153958-47.png]] 494 + 495 + image 5.32 ui_water_leak_style.c (4) 496 + 497 +[[image:image-20241122154755-49.png||height="864" width="513"]] 498 + 499 + image 5.33 ui_water_leak_style.c (4) 500 + 501 +Step5. Delete event function in code which was just pasted in extra_lib/sort.h(The process is shown in image 5.34). 502 + 503 +[[image:image-20241122155650-50.png||height="922" width="513"]] 504 + 505 + image 5.34 ui_water_leak_style.c (5) 506 + 507 +Step6. Add some lines of code in extra_lib/sort.h as shown in image 5.35. 508 + 509 +[[image:image-20241122161934-51.png]] 510 + 511 + image 5.35 512 + 513 +Step7. Add a line of code in extra_lib/sort.h as shown in image 5.36. 514 + 515 +[[image:image-20241122162852-53.png||height="330" width="529"]] 516 + 517 + image 5.37 518 + 519 +Step8. Add some code in ui_water_leak_style.c as shown in image 5.38 from line534 to line 576 in detail. 520 + 521 +panel_with_type union_sensor; 522 + 523 +union_sensor.panel_type = WATER_LEAK_TYPE; 524 + 525 +...... 526 + 527 +lv_obj_set_x(union_sensor.panel_union.door.ui_PanelSensorDoor, x_by_index(index)); 528 + 529 +lv_obj_set_y(union_sensor.panel_union.door.ui_PanelSensorDoor, y_by_index(index)); 530 + 531 +return union_sensor; 532 + 533 +[[image:image-20241122171211-54.png||height="635" width="792"]] 534 + 535 + image 5.38 536 + 537 +**13. Modify sort.c file.** 538 + 539 +Add a line of code ~-~-'#include "ui_water_leak.h"' as shown in image 5.39 line 16. 540 + 541 +[[image:image-20241122173718-56.png||height="378" width="579"]] 542 + 543 + image 5.39 sort.c (1) 544 + 545 +There are still some changes need to be done in sort.c, and omit here for the moment. 546 + 547 + 379 379 = 6. FAQ = 380 380 381 381 == 6.1 ==
- image-20241122154745-48.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +135.7 KB - Content
- image-20241122154755-49.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +135.7 KB - Content
- image-20241122155650-50.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +104.4 KB - Content
- image-20241122161934-51.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +230.3 KB - Content
- image-20241122162612-52.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +58.7 KB - Content
- image-20241122162852-53.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +125.5 KB - Content
- image-20241122171211-54.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +173.3 KB - Content
- image-20241122173706-55.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.6 KB - Content
- image-20241122173718-56.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.6 KB - Content
- squalreline-trial.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +60.4 KB - Content
- squareline.io_downloads.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.pradeeka - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.5 MB - Content