Changes for page LTS5 LoRa HMI Touch Screen
Last modified by Dilisi S on 2025/02/26 19:24
Change comment:
Dec 20 edits - part 1
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 1 added, 0 removed)
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,13 +107,22 @@ 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 + 117 +By completing this demo, you will gain foundational knowledge for customizing the LTS5 interface and building more advanced IoT applications. 118 + 119 + 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 123 +The **ESP MCU** supports development using **ESP-IDF**, **Arduino**, or **MicroPython**. For this project, we use **ESP-IDF** for compilation and **Visual Studio Code (VS Code)** as the development environment. 124 + 125 + 117 117 === 2.2.1 Install VSCode and ESP-IDF extension === 118 118 119 119 ... ... @@ -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. 305 +**~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. 311 +**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: 317 +**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'.319 + Step1 Delete the 'components' directory. 320 + Step2 Delete 'filelist.txt'. 321 + Step3 Delete 'ui_helpers.c' and 'ui_helpers.h'. 322 + Step4 Rename 'ui_ScreenMain.c' in the 'screens' directory to 'ui_water_leak_style.c'. 323 + 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 327 + 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 331 + image 5.4 rest file (2) 324 324 325 -4. Open this project in vscode. 333 +**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 - 339 + 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 - 343 + 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. 345 +**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 - 349 + 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. 365 +**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 - 369 + image 5.11 ui_water_leak/CMakeLists.txt before modification 362 362 363 363 [[image:image-20241121180517-16.png]] 364 364 365 - 373 + image 5.12 ui_water_leak/CMakeLists.txt after modification 366 366 367 -8. 375 +**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 377 +[[image:image-20241122094200-23.png]] 369 369 379 + image 5.13 ui_water_leak.h (1) before modification 370 370 381 +[[image:image-20241122094320-24.png||height="852" width="554"]] 371 371 383 + image 5.14 ui_water_leak.h (2) before modification 372 372 385 +[[image:image-20241122094600-25.png||height="1078" width="554"]] 373 373 387 + image 5.15 ui_water_leak.h (1) after modification 374 374 389 +[[image:image-20241122094719-26.png||height="941" width="583"]] 375 375 391 + image 5.16 ui_water_leak.h (2) before modification 376 376 393 +**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 395 +_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 397 +[[image:image-20241122102929-27.png||height="619" width="426"]] 398 + 399 + image 5.17 ui_water_leak.c (1) before modification 400 + 401 +[[image:image-20241122112838-30.png||height="551" width="628"]] 402 + 403 + image 5.18 ui_water_leak.c (2) before modification 404 + 405 +[[image:image-20241122110815-29.png||height="725" width="712"]] 406 + 407 + image 5.19 ui_water_leak.c (3) before modification 408 + 409 +[[image:image-20241122113158-31.png||height="872" width="677"]] 410 + 411 + image 5.20 ui_water_leak.c (1) after modification 412 + 413 +[[image:image-20241122113259-33.png||height="874" width="724"]] 414 + 415 + image 5.21 ui_water_leak.c (2) after modification 416 + 417 +[[image:image-20241122113359-34.png||height="804" width="746"]] 418 + 419 + image 5.22 ui_water_leak.c (3) after modification 420 + 421 +**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. 422 + 423 +[[image:image-20241122134113-35.png||height="380" width="421"]] 424 + 425 + image 5.23 ui_water_leak_events_.h before modification 426 + 427 +[[image:image-20241122134420-37.png||height="201" width="283"]] 428 + 429 +image 5.24 ui_water_leak_events_.h after modification 430 + 431 +**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. 432 + 433 +Step1. '#include "ui.h"'~-~->'#include "ui_water_leak.h"' 434 + 435 +Step2. add code below in delete_object() function definition. 436 + 437 + panel_all * panel = find_upper_by_SensorPanel(&arr,((lv_obj_t *)(e->user_data~)~)~); 438 + 439 + size_t index = panel->panel_obj_index; 440 + 441 + deleteElement(&arr, index); 442 + 443 +[[image:image-20241122135023-38.png||height="358" width="372"]] 444 + 445 + image 5.25 ui_water_leak_events_.c before modification 446 + 447 +[[image:image-20241122135258-39.png||height="403" width="559"]] 448 + 449 + image 5.26 ui_water_leak_events_.c after modification 450 + 451 +**12. Modify ui_water_leak_style.c file.** 452 + 453 +Step1. '#include "../ui.h"'~-~->#include '"../ui_water_leak.h"' 454 + 455 + add '#include "../../sort.h"' 456 + 457 + add '#include "ui.h"' 458 + 459 +[[image:image-20241122141536-41.png||height="361" width="612"]] 460 + 461 + image 5.27 ui_water_leak_style.c (1) before modification 462 + 463 +[[image:image-20241122142129-42.png||height="386" width="613"]] 464 + 465 + image 5.28 ui_water_leak_style.c (1) after modification 466 + 467 +Step2. modify 'void ui_ScreenMain_screen_init(void)'~-~->'panel_with_type create_water_leak(uint8_t index)' 468 + 469 + delete code as shown in image 5.29 470 + 471 +[[image:image-20241122145620-44.png||height="757" width="671"]] 472 + 473 + image 5.29 ui_water_leak_style.c (2) 474 + 475 +Step3. The image 5.30, 5.31 show the change. 476 + 477 +[[image:image-20241122152026-45.png||height="277" width="828"]] 478 + 479 + image 5.30 ui_water_leak_style.c (3) before modification 480 + 481 +[[image:image-20241122152542-46.png||height="293" width="830"]] 482 + 483 + image 5.31 ui_water_leak_style.c (3) after modification 484 + 485 +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). 486 + 487 +[[image:image-20241122153958-47.png]] 488 + 489 + image 5.32 ui_water_leak_style.c (4) 490 + 491 +[[image:image-20241122154755-49.png||height="864" width="513"]] 492 + 493 + image 5.33 ui_water_leak_style.c (4) 494 + 495 +Step5. Delete event function in code which was just pasted in extra_lib/sort.h(The process is shown in image 5.34). 496 + 497 +[[image:image-20241122155650-50.png||height="922" width="513"]] 498 + 499 + image 5.34 ui_water_leak_style.c (5) 500 + 501 +Step6. Add some lines of code in extra_lib/sort.h as shown in image 5.35. 502 + 503 +[[image:image-20241122161934-51.png]] 504 + 505 + image 5.35 506 + 507 +Step7. Add a line of code in extra_lib/sort.h as shown in image 5.36. 508 + 509 +[[image:image-20241122162852-53.png||height="330" width="529"]] 510 + 511 + image 5.37 512 + 513 +Step8. Add some code in ui_water_leak_style.c as shown in image 5.38 from line534 to line 576 in detail. 514 + 515 +panel_with_type union_sensor; 516 + 517 +union_sensor.panel_type = WATER_LEAK_TYPE; 518 + 519 +...... 520 + 521 +lv_obj_set_x(union_sensor.panel_union.door.ui_PanelSensorDoor, x_by_index(index)); 522 + 523 +lv_obj_set_y(union_sensor.panel_union.door.ui_PanelSensorDoor, y_by_index(index)); 524 + 525 +return union_sensor; 526 + 527 +[[image:image-20241122171211-54.png||height="635" width="792"]] 528 + 529 + image 5.38 530 + 531 +**13. Modify sort.c file.** 532 + 533 +Add a line of code ~-~-'#include "ui_water_leak.h"' as shown in image 5.39 line 16. 534 + 535 +[[image:image-20241122173718-56.png||height="378" width="579"]] 536 + 537 + image 5.39 sort.c (1) 538 + 539 +There are still some changes need to be done in sort.c, and omit here for the moment. 540 + 541 + 379 379 = 6. FAQ = 380 380 381 381 == 6.1 ==
- image-20241122173718-56.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.6 KB - Content