Changes for page LTS5 LoRa HMI Touch Screen
Last modified by Dilisi S on 2025/02/26 19:24
Change comment:
Uploaded new attachment "image-20241122173718-56.png", version {1}
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. pradeeka1 +XWiki.xieby - Content
-
... ... @@ -21,20 +21,20 @@ 21 21 22 22 = 1. Introduction = 23 23 24 -== 1.1 What is theLTS5 LoRa HMITouchScreen?==24 +== 1.1 What is LTS5 LoRa HMI touch screen == 25 25 26 26 27 - TheLTS5 is a (% style="color:blue" %)**LoRa / LoRaWAN HMI Touch Screen**(%%) designed for displayinginformationinIoT projects. Itfeaturesa**5.0-inchHMI touch screen**and supports**Wi-Fi**,**Bluetooth**,and **LoRa**wireless protocols.27 +LTS5 is a (% style="color:blue" %)LoRa / LoRaWAN HMI Touch Screen(%%) designed for display purpose of IoT project. It have a 5.0" HMI touch screen, and support WiFi, Bluetooch, LoRa wireless protocol. 28 28 29 - TheLTS5 is anopen-source software projectpoweredbyan**ESP32MCU**anda **Dragino LA66 LoRa**module. The extensivedevelopmentresourcesavailablefor ESP32 cansignificantly reduce development time.29 +LTS5 is an Open Source software project. The MCU is ESP32 and Dragino LA66 LoRa module. There are lots of development source for ESP32 which can greatly reduce the development time. 30 30 31 -The LTS5'sHMI touch screen supports**drag-and-drop**design,allowing developerstouse SquareLine to easily customize the display UI forvariousapplications.31 +The HMI touch screen of LTS5 supports drap & drop design. Developer can use SquareLine to easily customize the display UI for different application. 32 32 33 -T he LA66 LoRa module can be programmedto supporteitherprivate LoRa protocolsortheLoRaWAN protocol.33 +LTS5 use LA66 LoRa module, this module can be program to support private LoRa protocol or LoRaWAN protocol. 34 34 35 + 35 35 == 1.2 Features == 36 36 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 s==50 +== 1.3 Specification == 51 51 52 52 53 53 **LoRa**: ... ... @@ -107,22 +107,13 @@ 107 107 == 2.1 About this demo == 108 108 109 109 110 - Thisgettingstartedexampledemonstrateshow to design anddeploy asimpledisplay UIfortheLTS5device. The exampleincludes:110 +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. 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. 115 115 116 - 117 -By completing this demo, you will gain foundational knowledge for customizing the LTS5 interface and building more advanced IoT applications. 118 - 119 - 120 120 == 2.2 Install Software Running Environment == 121 121 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. 122 122 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 - 126 126 === 2.2.1 Install VSCode and ESP-IDF extension === 127 127 128 128 ... ... @@ -300,53 +300,54 @@ 300 300 301 301 = 4. Example Project 2: LoRaWAN RS485 Alarm = 302 302 294 +(% class="wikigeneratedid" %) 303 303 = 5. The way to add a new panel to project = 304 304 305 - **~1. Design a panel in SquareLine Studio, using image 5.1 below as a reference.**297 +~1. Design a panel in SquareLine Studio, using image 5.1 below as a reference. 306 306 307 307 [[image:image-20241121113445-1.png||height="584" width="934"]] 308 308 309 309 image 5.1 a panel about water_leak 310 310 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.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. 312 312 313 313 [[image:image-20241121141120-4.png||height="383" width="795"]] 314 314 315 315 image 5.2 ui files exported 316 316 317 - **3. Delete or rename some file.**Here are the steps:309 +3. Delete or rename some file. Here are the steps: 318 318 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'.311 + 3.1 Delete the 'components' directory. 312 + 3.2 Delete 'filelist.txt'. 313 + 3.3 Delete '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'. 324 324 325 325 [[image:image-20241121151934-10.png||height="303" width="792"]] 326 326 327 - image 5.3 rest file (1)319 + image 5.3 rest file 1 328 328 329 329 [[image:image-20241121142925-7.png||height="141" width="793"]] 330 330 331 - image 5.4 rest file (2)323 + image 5.4 rest file 2 332 332 333 - **4. Open this project in vscode.**325 +4. Open this project in vscode. 334 334 335 335 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. 336 336 337 337 [[image:image-20241121181957-17.png||height="438" width="516"]] 338 338 339 - image 5.5 extra_lib/CMakeLists.txt before add331 + image 5.5 before add 340 340 341 341 [[image:image-20241121182239-18.png||height="520" width="518"]] 342 342 343 - image 5.6 extra_lib/CMakeLists.txt after add335 + image 5.6 after add 344 344 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.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. 346 346 347 347 [[image:image-20241121171629-11.png]] 348 348 349 - image 5.7 before-modified font file 341 + image 5.7 before-modified font file 350 350 351 351 [[image:image-20241121171901-12.png]] 352 352 ... ... @@ -362,183 +362,28 @@ 362 362 363 363 image 5.10 modified image file 364 364 365 - **7. Modify the ui_water_leak/CMakeLists.txt.**Open this file, and modify it from image 5.11 to image 5.12.357 +7. Modify the ui_water_leak/CMakeLists.txt. Open this file, and modify it from image 5.11 to image 5.12. 366 366 367 367 [[image:image-20241121180030-15.png]] 368 368 369 - image 5.11 ui_water_leak/CMakeLists.txtbefore modification361 + image 5.11 before modification 370 370 371 371 [[image:image-20241121180517-16.png]] 372 372 373 - image 5.12 ui_water_leak/CMakeLists.txt after modification365 + image 5.12 after modification 374 374 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.367 +8. 376 376 377 -[[image:image-20241122094200-23.png]] 378 378 379 - image 5.13 ui_water_leak.h (1) before modification 380 380 381 -[[image:image-20241122094320-24.png||height="852" width="554"]] 382 382 383 - image 5.14 ui_water_leak.h (2) before modification 384 384 385 -[[image:image-20241122094600-25.png||height="1078" width="554"]] 386 386 387 - image 5.15 ui_water_leak.h (1) after modification 388 388 389 -[[image:image-20241122094719-26.png||height="941" width="583"]] 390 390 391 - image 5.16 ui_water_leak.h (2) before modification 392 392 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. 394 394 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. 396 396 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 - 542 542 = 6. FAQ = 543 543 544 544 == 6.1 ==