Changes for page LTS5 LoRa HMI Touch Screen
Last modified by BoYang Xie on 2025/07/09 11:46
From version 141.1
edited by BoYang Xie
on 2025/01/22 17:35
on 2025/01/22 17:35
Change comment:
Uploaded new attachment "image-20250122173546-6.png", version {1}
To version 165.1
edited by BoYang Xie
on 2025/02/07 19:53
on 2025/02/07 19:53
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 23 added, 0 removed)
- 1738893226894-758.png
- image-20250207100150-7.png
- image-20250207101415-8.png
- image-20250207101515-9.png
- image-20250207142334-10.png
- image-20250207143131-11.png
- image-20250207144605-12.png
- image-20250207164320-13.png
- image-20250207165702-14.png
- image-20250207170215-15.png
- image-20250207170307-16.png
- image-20250207171650-17.png
- image-20250207171851-18.png
- image-20250207172010-19.png
- image-20250207172246-20.png
- image-20250207172443-21.png
- image-20250207172821-22.png
- image-20250207172834-23.png
- image-20250207173152-24.png
- image-20250207173159-25.png
- image-20250207173206-26.png
- image-20250207173212-27.png
- image-20250207192107-28.png
Details
- Page properties
-
- Content
-
... ... @@ -358,17 +358,167 @@ 358 358 359 359 = 4. Example Project 2: LoRaWAN RS485 Alarm = 360 360 361 -= 5. Adding new panelto theproject =361 += 5. Example Project 3: P2P = 362 362 363 +The project achieves the function of receiving LoRa P2P messages and displaying them on the screen. The workflow is as follows: A LA66, running a P2P program, sends a message in a particular format via an AT command. Then, the LTS5 receives the message and displays it on the screen. 363 363 364 - **~1. **DesignapanelinSquareLineStudio,as shown in Image 5.1 below forreference.365 +The project can be found at [[this link>>url:https://github.com/dragino/LoRa-HMI-Touch-Screen/tree/main/Example/P2P]]. 365 365 367 +== 5.1 firmware flashing approach. == 368 + 369 +5.1.1 Download this project 370 + 371 +5.1.2 Download esp32 firmware flash tool in [[this link>>https://docs.espressif.com/projects/esp-test-tools/en/latest/esp32/production_stage/tools/flash_download_tool.html]]. 372 + 373 +5.1.3 Download la66 firmware flash tool in [[this link>>https://www.dropbox.com/scl/fo/9kqeqf6wmet10o9hgxuwa/h?rlkey=4ikrg6kg5v0yjxwhp0i37wrv7&e=1&dl=0]]. 374 + 375 +5.1.4 Upload firmware to esp32 376 + 377 +Open flash_download_tool.exe, and then follow the steps below. 378 + 379 +[[image:1738893226894-758.png||height="170" width="176"]] 380 + 381 +[[image:image-20250207100150-7.png||height="476" width="538"]] 382 + 383 +5.1.5 Upload firmware to la66 384 + 385 +Open Dragino_Sensor_Manager_Utility.exe, and then follow the steps below. 386 + 387 +[[image:image-20250207101415-8.png||height="522" width="618"]] 388 + 389 +[[image:image-20250207101515-9.png||height="522" width="618"]] 390 + 391 +== 5.2 AT command and P2P data format == 392 + 393 +AT+SEND=1,014b69746368656e2d467269676531FFFFA84041000181D4A8**01**A4CBBB0A8E085C02,0,3 394 + 395 +AT+SEND=1,014b69746368656e2d467269676531FFFFA84041000181D4A8**02**A4CB00,0,3 396 + 397 +AT+SEND=1,014b69746368656e2d467269676531FFFFA84041000181D4A8**03**A4CB00,0,3 398 + 399 +AT+SEND=1,014b69746368656e2d467269676531FFFFA84041000181D4A8**04**A4CB00,0,3 400 + 401 +AT+SEND=1,014b69746368656e2d467269676531FFFFA84041000181D4A8**05**A4CB00,0,3 402 + 403 +AT+SEND=1,014b69746368656e2d467269676531FFFFA84041000181D4A8**06**A4CB00,0,3 404 + 405 +**Data format**: 406 + 407 +~1. AT+SEND=1,**01** **4b69746368656e2d467269676531FFFF A84041000181D4A8 01 A4CB BB0A 8E08 5C02**,0,3 408 + 409 +**01:** encrypt. 1 Byte. 01 ~-~-> no encryption. This 1-byte information is now invalid; simply write 0x01 instead. 410 + 411 +**4b69746368656e2d467269676531FFFF: **Device Name. 16 Bytes. The Device Name for this piece of information is "Kitchen-Frige1," and the subsequent "FFFF" is intended to pad it up to 16 Bytes. The Device Name for this piece of information is 'Kitchen-Frige1,' and the subsequent 'FFFF' is intended to pad it up to 16 Bytes, but it is not necessary as the system can handle shorter names as well. 412 + 413 +**A84041000181D4A8:** Device EUI. 8 Bytes. The last three Bytes will be extracted by the ESP32-S3 and displayed on the screen. 414 + 415 +**01: **Panel Type. 1 Byte. 0x01~-~->Tem & Hum, 416 + 417 + 0x02~-~->Door, 418 + 419 + 0x03~-~->Water Leak, 420 + 421 + 0x04~-~->Occupied, 422 + 423 + 0x05~-~->Button, 424 + 425 + 0x06~-~->Alarm, 426 + 427 +**A4CB: **Battery level//. //2 Bytes. Battery Voltage =0xCBA4&0x3FFF=0x0BA4=2980mV 428 + 429 +**BB0A: **The temperature of the built-in sensor in LHT65N.// //2 Bytes. Temperature: 0x0ABB/100=27.47℃ 430 + 431 +**8E08: **The temperature of the External temperature sensor.// //2 Bytes. Temperature: 0x088E/100=21.90℃ 432 + 433 +**5C02:**The humidity of the built-in sensor in LHT65N. 2 Bytes. Humidity: 0x025C/10=60.4% 434 + 435 +2. AT+SEND=1,**01** **4b69746368656e2d467269676531FFFF** **A84041000181D4A8** **02 A4CB 00**,0,3 436 + 437 +Specific sections of the data share the same function. 438 + 439 +**00: Status. **1 Byte//. //If Panel Type is 0x02, **Status: 00~-~->Open; 01~-~->Close.** 440 + 441 + If Panel Type is 0x03, **Status: 00~-~->Normal; 01~-~->Water Leaking.** 442 + 443 + If Panel Type is 0x04, **Status: 00~-~->Free; 01~-~->Occupied.** 444 + 445 + If Panel Type is 0x05, **Status: 00~-~->OFF; 01~-~->ON.** 446 + 447 + If Panel Type is 0x06, **Status: 00~-~->OFF; 01~-~->Alarm.** 448 + 449 +== 5.3 Usage == 450 + 451 +After burning the firmware into LTS5, you can use an LA66 equipped with peer-to-peer firmware to send data to LTS5 via AT commands. 452 + 453 +5.3.1 Connect LA66 to the computer, open Serial Port Utility, and send the AT+CFG instruction to check whether the LA66 has downloaded correct program. 454 + 455 +[[image:image-20250207143131-11.png||height="527" width="547"]] 456 + 457 +5.3.2 Copy an AT instruction example, click "Send" button, then the led in LA66 will flash and the LTS5 will display the LoRa information. 458 + 459 +[[image:image-20250207144605-12.png||height="634" width="548"]] 460 + 461 += 6. Example Project 4: LoRaWAN_CLASS_C = 462 + 463 + 464 +The project achieves the function of receiving LoRaWAN Class C messages and displaying them on the screen. Note: The Things Network (TTN) needs to enable Class C support, and the LA66 within the LTS5 needs to operate in Class C mode. 465 + 466 +The downlink workflow proceeds as follows: The Things Network (TTN) sends a message in a specific format via downlink. Then, a LoRaWAN gateway relays this message to the LTS5. Finally, the LTS5 receives the message and displays it on its screen. 467 + 468 +The uplink workflow is as follows: The LA66 within the LTS5 sends a LoRaWAN message, for some reason, to a LoRaWAN gateway, which then forwards it to The Things Network (TTN). 469 + 470 +The project can be found at [[this link>>https://github.com/dragino/LoRa-HMI-Touch-Screen/tree/main/Example/LoRaWAN_CLASS_C]]. 471 + 472 +== 6.1 firmware flashing approach == 473 + 474 +The firmware flashing approach is the same as described in section [[5.1>>5.1]]. 475 + 476 +== 6.2 flowchart == 477 + 478 +[[image:image-20250207164320-13.png||height="696" width="1344"]] 479 + 480 +== 6.3 Usage == 481 + 482 +6.3.1 TTN downlink panel data to display in LTS5 483 + 484 +6.3.1 Connect LA66 to the computer, open Serial Port Utility, and send the AT+CFG instruction to check whether the LA66 has downloaded correct program. 485 + 486 +[[image:image-20250207165702-14.png||height="830" width="563"]] 487 + 488 +6.3.2 Switch to Class C using "AT+CLASS=C", and check the class with "AT+CLASS=?". 489 + 490 +[[image:image-20250207173212-27.png]] 491 + 492 +[[image:image-20250207172246-20.png]] 493 + 494 +6.3.3 Verify LA66's join status (in LTS5) with "AT+NJS=?". If not joined, connect manually to LoRaWAN with "AT+JOIN". 495 + 496 +[[image:image-20250207172010-19.png]] 497 + 498 +[[image:image-20250207171650-17.png]] 499 + 500 +6.3.4 After joining, send a message to TTN, such as "AT+SENDB=01,02,8,05820802581ea0a5", to activate communication. 501 + 502 +[[image:image-20250207192107-28.png]] 503 + 504 +6.3.5 TTN distributes panel data in three batches. 505 + 506 +1. downlink DEUI F1A84041000181D4A8 507 +1. downlink Dev Name F24B69746368656E2D467269676531FFFF 508 +1. downlink Sensor Data 5501A4CBBB0A8E085C02 或 5504A4CB01 509 + 510 += 5. The method for adding a new type of panel to the project = 511 + 512 +If you don't have this need, then this part of the content can be ignored. 513 + 514 +1. Design a panel in SquareLine Studio, as shown in Image 5.1 below for reference. 515 + 366 366 [[image:image-20241121113445-1.png||height="584" width="934"]] 367 367 368 368 Image 5.1: a panel about water_leak 369 369 370 370 371 - **2. Export the UI file: **You need to adjust the export path first, then click '**Export -> Export UI Files**' on the menu bar. This step was introduced earlier. After that, you can get the UI files as shown in Image 5.2.521 +2. **Export the UI file: **You need to adjust the export path first, then click '**Export -> Export UI Files**' on the menu bar. This step was introduced earlier. After that, you can get the UI files as shown in Image 5.2. 372 372 373 373 [[image:image-20241121141120-4.png||height="383" width="795"]] 374 374 ... ... @@ -375,7 +375,7 @@ 375 375 Image 5.2: Exported UI files 376 376 377 377 378 - **3. Delete and rename some file.** Here are the steps:528 +3. **Delete and rename some file.** Here are the steps: 379 379 380 380 Step 1: Delete the 'components' directory. 381 381 Step 2: Delete 'filelist.txt'. ... ... @@ -403,7 +403,7 @@ 403 403 404 404 image 5.6 extra_lib/CMakeLists.txt after add 405 405 406 - **6. ****Modify the header files included in the fonts and images directories**.556 +6. **Modify the header files included in the fonts and images directories**. 407 407 408 408 Open the **fonts/ui_font_Font12.c** file, as shown in Image 5.7, and change **#include "../ui.h"** to **#include "../ui_water_leak.h"**. The modified file is shown in Image 5.8. Other font files need to be modified in the same way. 409 409 ... ... @@ -436,7 +436,7 @@ 436 436 image 5.12 ui_water_leak/CMakeLists.txt after modification 437 437 438 438 439 - **8.**Modify the **ui_water_leak.h** file. Images 5.13 and 5.14 show the code before modification, while Images 5.15 and 5.16 show the code after modification.589 +8. Modify the **ui_water_leak.h** file. Images 5.13 and 5.14 show the code before modification, while Images 5.15 and 5.16 show the code after modification. 440 440 441 441 [[image:image-20241122094200-23.png]] 442 442 ... ... @@ -454,7 +454,7 @@ 454 454 455 455 image 5.16 ui_water_leak.h (2) before modification 456 456 457 - **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.607 +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. 458 458 459 459 _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. 460 460 ... ... @@ -482,7 +482,7 @@ 482 482 483 483 image 5.22 ui_water_leak.c (3) after modification 484 484 485 - **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.635 +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. 486 486 487 487 [[image:image-20241122134113-35.png||height="380" width="421"]] 488 488 ... ... @@ -492,7 +492,7 @@ 492 492 493 493 image 5.24 ui_water_leak_events_.h after modification 494 494 495 - **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.645 +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. 496 496 497 497 Step1. '#include "ui.h"'~-~->'#include "ui_water_leak.h"' 498 498 ... ... @@ -513,7 +513,7 @@ 513 513 image 5.26 ui_water_leak_events_.c after modification 514 514 515 515 516 - **12. Modify ui_water_leak_style.c file.**666 +12. **Modify ui_water_leak_style.c file.** 517 517 518 518 Step1. '#include "../ui.h"'~-~->#include '"../ui_water_leak.h"' 519 519 ... ... @@ -556,6 +556,7 @@ 556 556 557 557 image 5.32 ui_water_leak_style.c (4) 558 558 709 + 559 559 [[image:image-20241122154755-49.png||height="864" width="513"]] 560 560 561 561 image 5.33 ui_water_leak_style.c (4) ... ... @@ -596,22 +596,31 @@ 596 596 597 597 return union_sensor; 598 598 599 -[[image:image-202 41122171211-54.png||height="635" width="792"]]750 +[[image:image-20250122173546-6.png||height="777" width="922"]] 600 600 601 601 image 5.38 602 602 603 603 604 - **13.Modifysort.cfile.**755 +13. Rest midification in sort.h file. 605 605 606 - Adda lineofcode~-~-'#include "ui_water_leak.h"'asshown inimage5.39line16.757 +In image 5.39 as below, we can see "WATER_LEAK_TYPE" at line 24 and water leak switch status definition at line 32,33, and these are what we need to add in sort.h. 607 607 608 -[[image:image-202 41122173718-56.png||height="378" width="579"]]759 +[[image:image-20250122170230-1.png||height="580" width="513"]] 609 609 610 - c (1)761 + image 5.39 sort.h 611 611 763 +13. **Modify sort.c file.** 764 + 765 +Add a line of code ~-~-'#include "ui_water_leak.h"' as shown in image 5.39 line 26. 766 + 767 +[[image:image-20250122171910-5.png||height="524" width="510"]] 768 + 769 + image 5.40 sort.c (1) 770 + 612 612 There are still some changes need to be done in sort.c, and omit here for the moment. 613 613 614 614 774 + 615 615 = 6. FAQ = 616 616 617 617 == 6.1 == ... ... @@ -644,7 +644,7 @@ 644 644 645 645 646 646 * Datasheet 647 -* Source Code 807 +* Source Code: [[dragino/LoRa-HMI-Touch-Screen: Open Source LoRa / LoRaWAN HMI Touch Screen Project>>url:https://github.com/dragino/LoRa-HMI-Touch-Screen/tree/main]] 648 648 * Mechinical 649 649 650 650 = 10. FCC Warning =
- 1738893226894-758.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +25.6 KB - Content
- image-20250207100150-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +54.1 KB - Content
- image-20250207101415-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +17.6 KB - Content
- image-20250207101515-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +24.1 KB - Content
- image-20250207142334-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +62.0 KB - Content
- image-20250207143131-11.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +48.7 KB - Content
- image-20250207144605-12.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +58.1 KB - Content
- image-20250207164320-13.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +194.5 KB - Content
- image-20250207165702-14.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +78.1 KB - Content
- image-20250207170215-15.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.6 KB - Content
- image-20250207170307-16.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.2 KB - Content
- image-20250207171650-17.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +11.0 KB - Content
- image-20250207171851-18.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.5 KB - Content
- image-20250207172010-19.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.5 KB - Content
- image-20250207172246-20.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +2.5 KB - Content
- image-20250207172443-21.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.9 KB - Content
- image-20250207172821-22.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content
- image-20250207172834-23.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +0 bytes - Content
- image-20250207173152-24.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.9 KB - Content
- image-20250207173159-25.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.9 KB - Content
- image-20250207173206-26.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.9 KB - Content
- image-20250207173212-27.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +3.9 KB - Content
- image-20250207192107-28.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.xieby - Size
-
... ... @@ -1,0 +1,1 @@ 1 +14.3 KB - Content