Changes for page LHT65N-PIR Temperature/Humidity/PIR Motion Sensor User Manual
Last modified by Xiaoling on 2025/04/24 10:00
Change comment:
There is no comment for this version
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -196,14 +196,14 @@ 196 196 * The First 6 bytes: has fix meanings for every LHT65N-PIR. 197 197 * The 7th byte (EXT #): defines the external sensor model. It can be (% class="mark" %)0x05 or 0x09(%%) for LHT65N-PIR 198 198 * The 7^^th^^ byte: Alarm Bit (if this uplink is from periodically or movement) 199 -* The 8^^th^^ ~~ 11st byte: Movement Detect Count. 199 +* The 8^^th^^ ~~ 11st byte: Movement Detect Count. Each 200 200 201 201 === 2.4.1 Decoder in TTN V3 === 202 202 203 203 204 -When the uplink payload arrives TTNv3, it shows HEX format and not friendly to read. We can add LHT65N- PIRdecoder in TTNv3 for friendly reading.204 +When the uplink payload arrives TTNv3, it shows HEX format and not friendly to read. We can add LHT65N-E5 decoder in TTNv3 for friendly reading. 205 205 206 -Below is the position to put the decoder and LHT65N- PIRdecoder can be download from here: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]206 +Below is the position to put the decoder and LHT65N-E5 decoder can be download from here: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] 207 207 208 208 209 209 [[image:image-20220522234118-10.png||_mstalt="451464" height="353" width="729"]] ... ... @@ -220,12 +220,11 @@ 220 220 [[image:image-20220522235639-1.png||_mstalt="431392" height="139" width="727"]] 221 221 222 222 223 -Check the battery voltage for LHT65N- PIR.223 +Check the battery voltage for LHT65N-E5. 224 224 225 -* BAT status=(0 xcba4>>14)&0xFF=11(B),very good225 +* BAT status=(0Xcba4>>14)&0xFF=11(B),very good 226 226 * Battery Voltage =0xCBF6&0x3FFF=0x0BA4=2980mV 227 227 228 - 229 229 === 2.4.3 Built-in Temperature === 230 230 231 231 ... ... @@ -263,6 +263,71 @@ 263 263 The last 2 bytes of data are meaningless 264 264 265 265 265 + 266 +==== 2.4.5.2 Ext~=0x85, E5 sensor with Unix Timestamp ==== 267 + 268 + 269 +((( 270 +Timestamp mode is designed for LHT65N-E5 with E3 probe, it will send the uplink payload with Unix timestamp. With the limitation of 11 bytes (max distance of AU915/US915/AS923 band), the time stamp mode will be lack of BAT voltage field, instead, it shows the battery status. The payload is as below: 271 +))) 272 + 273 +((( 274 + 275 +))) 276 + 277 +(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:535px" %) 278 +|=(% style="width: 88px;" %)((( 279 +**Size(bytes)** 280 +)))|=(% style="width: 93px;" %)((( 281 +**2** 282 +)))|=(% style="width: 94px;" %)((( 283 +**2** 284 +)))|=(% style="width: 117px;" %)((( 285 +**2** 286 +)))|=(% style="width: 54px;" %)((( 287 +**1** 288 +)))|=(% style="width: 79px;" %)((( 289 +**4** 290 +))) 291 +|(% style="width:88px" %)((( 292 +**Value** 293 +)))|(% style="width:93px" %)((( 294 +[[External temperature>>||anchor="H4.2SetExternalSensorMode"]] 295 +)))|(% style="width:94px" %)((( 296 +[[Built-In Temperature>>||anchor="H2.4.3Built-inTemperature"]] 297 +)))|(% style="width:117px" %)((( 298 +BAT Status & 299 +Illumination 300 +)))|(% style="width:54px" %)((( 301 +Status & Ext 302 +)))|(% style="width:79px" %)((( 303 +[[Unix Time Stamp>>||anchor="H2.6.2UnixTimeStamp"]] 304 +))) 305 + 306 +* **Battery status & Built-in Humidity** 307 + 308 +(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:461px" %) 309 +|=(% style="width: 67px;" %)Bit(bit)|=(% style="width: 256px;" %)[15:14]|=(% style="width: 132px;" %)[11:0] 310 +|(% style="width:67px" %)Value|(% style="width:256px" %)((( 311 +BAT Status 312 +00(b): Ultra Low ( BAT <= 2.50v) 313 +01(b): Low (2.50v <=BAT <= 2.55v) 314 +10(b): OK (2.55v <= BAT <=2.65v) 315 +11(b): Good (BAT >= 2.65v) 316 +)))|(% style="width:132px" %)((( 317 +Illumination 318 +))) 319 + 320 +* **Status & Ext Byte** 321 + 322 +(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:500px" %) 323 +|=(% scope="row" style="width: 60px;" %)**Bits**|(% style="width:90px" %)**7**|(% style="width:100px" %)**6**|(% style="width:90px" %)**5**|(% style="width:100px" %)**4**|(% style="width:60px" %)**[3:0]** 324 +|=(% style="width: 96px;" %)**Status&Ext**|(% style="width:124px" %)None-ACK Flag|(% style="width:146px" %)Poll Message FLAG|(% style="width:109px" %)Sync time OK|(% style="width:143px" %)Unix Time Request|(% style="width:106px" %)Ext: 0b(1001) 325 + 326 +* (% style="color:blue" %)**Poll Message Flag**:(%%) 1: This message is a poll message reply, 0: means this is a normal uplink. 327 +* (% style="color:blue" %)**Sync time OK**: (%%) 1: Set time ok,0: N/A. After time SYNC request is sent, LHT65N-E5 will set this bit to 0 until got the time stamp from the application server. 328 +* (% style="color:blue" %)**Unix Time Request**:(%%) 1: Request server downlink Unix time, 0 : N/A. In this mode, LHT65N-E5 will set this bit to 1 every 10 days to request a time SYNC. (AT+SYNCMOD to set this) 329 + 266 266 == 2.5 Show data on Datacake == 267 267 268 268 ... ... @@ -308,11 +308,239 @@ 308 308 [[image:image-20221224161957-6.png||height="306" width="852"]] 309 309 310 310 375 +== 2.6 Datalog Feature == 311 311 377 + 378 +((( 379 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, LHT65N-E5 will store the reading for future retrieving purposes. There are two ways for IoT servers to get datalog from LHT65N-E5. 380 +))) 381 + 382 + 383 +=== 2.6.1 Ways to get datalog via LoRaWAN === 384 + 385 + 386 +There are two methods: 387 + 388 +(% style="color:blue" %)**Method 1:** (%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.6.4Pollsensorvalue"]] for specified time range. 389 + 390 + 391 +(% style="color:blue" %)**Method 2: **(%%)Set [[PNACKMD=1>>||anchor="H4.13AutoSendNone-ACKmessages"]], LHT65N-E5 will wait for ACK for every uplink, when there is no LoRaWAN network, LHT65N-E5 will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 392 + 393 + 394 +(% style="color:red" %)**Note for method 2:** 395 + 396 +* a) LHT65N-E5 will do an ACK check for data records sending to make sure every data arrive server. 397 +* b) LHT65N-E5 will send data in **CONFIRMED Mode** when PNACKMD=1, but LHT65N-E5 won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if LHT65N-E5 gets a ACK, LHT65N-E5 will consider there is a network connection and resend all NONE-ACK Message. 398 + 399 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 400 + 401 + 402 +[[image:image-20220703111700-2.png||_mstalt="426244" height="381" width="1119"]] 403 + 404 + 405 +=== 2.6.2 Unix TimeStamp === 406 + 407 + 408 +LHT65N-E5 uses Unix TimeStamp format based on 409 + 410 + 411 +[[image:image-20220523001219-11.png||_mstalt="450450" height="97" width="627"]] 412 + 413 + 414 + 415 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 416 + 417 +Below is the converter example 418 + 419 +[[image:image-20220523001219-12.png||_mstalt="450827" height="298" width="720"]] 420 + 421 + 422 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 423 + 424 + 425 +=== 2.6.3 Set Device Time === 426 + 427 + 428 +((( 429 +(% style="color:blue" %)**There are two ways to set device's time:** 430 +))) 431 + 432 +((( 433 +**1. Through LoRaWAN MAC Command (Default settings)** 434 +))) 435 + 436 +((( 437 +User need to set SYNCMOD=1 to enable sync time via MAC command. 438 +))) 439 + 440 +((( 441 +Once LHT65N-E5 Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to LHT65N-E5. If LHT65N-E5 fails to get the time from the server, LHT65N-E5 will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days). 442 +))) 443 + 444 +((( 445 +(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.** 446 +))) 447 + 448 + 449 +((( 450 +**2. Manually Set Time** 451 +))) 452 + 453 +((( 454 +User needs to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server. 455 +))) 456 + 457 + 458 +=== 2.6.4 Poll sensor value === 459 + 460 + 461 +User can poll sensor value based on timestamps from the server. Below is the downlink command. 462 + 463 +[[image:image-20220523152302-15.png||_mstalt="451581"]] 464 + 465 + 466 +Timestamp start and Timestamp end use Unix TimeStamp format as mentioned above. Devices will reply with all data log during this time period, use the uplink interval. 467 + 468 +For example, downlink command (% _mstmutation="1" %)**31 5FC5F350 5FC6 0160 05**(%%) 469 + 470 +Is to check 2020/12/1 07:40:00 to 2020/12/1 08:40:00’s data 471 + 472 +Uplink Internal =5s,means LHT65N-E5 will send one packet every 5s. range 5~~255s. 473 + 474 + 475 +=== 2.6.5 Datalog Uplink payload === 476 + 477 + 478 +The Datalog poll reply uplink will use below payload format. 479 + 480 +**Retrieval data payload:** 481 + 482 +(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:480px" %) 483 +|=(% style="width: 60px;" %)((( 484 +**Size(bytes)** 485 +)))|=(% style="width: 90px;" %)**2**|=(% style="width: 90px;" %)**2**|=(% style="width: 70px;" %)**2**|=(% style="width: 100px;" %)**1**|=(% style="width: 70px;" %)**4** 486 +|(% style="width:97px" %)**Value**|(% style="width:123px" %)[[External sensor data>>||anchor="H2.4.6Extvalue"]]|(% style="width:108px" %)[[Built In Temperature>>||anchor="H2.4.3Built-inTemperature"]]|(% style="width:133px" %)[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity"]]|(% style="width:159px" %)Poll message flag & Ext|(% style="width:80px" %)[[Unix Time Stamp>>||anchor="H2.6.2UnixTimeStamp"]] 487 + 488 +**Poll message flag & Ext:** 489 + 490 +[[image:image-20221006192726-1.png||_mstalt="430508" height="112" width="754"]] 491 + 492 +(% style="color:blue" %)**No ACK Message**(%%): 1: This message means this payload is fromn Uplink Message which doesn't get ACK from the server before ( for [[PNACKMD=1>>||anchor="H4.13AutoSendNone-ACKmessages"]] feature) 493 + 494 +(% style="color:blue" %)**Poll Message Flag**(%%): 1: This message is a poll message reply. 495 + 496 +* Poll Message Flag is set to 1. 497 + 498 +* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 499 + 500 +For example, in US915 band, the max payload for different DR is: 501 + 502 +(% style="color:blue" %)**a) DR0:** (%%)max is 11 bytes so one entry of data 503 + 504 +(% style="color:blue" %)**b) DR1:**(%%) max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 505 + 506 +(% style="color:blue" %)**c) DR2:**(%%) total payload includes 11 entries of data 507 + 508 +(% style="color:blue" %)**d) DR3: **(%%)total payload includes 22 entries of data. 509 + 510 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 511 + 512 + 513 +**Example:** 514 + 515 +If LHT65N-E5 has below data inside Flash: 516 + 517 +[[image:image-20220523144455-1.png||_mstalt="430040" height="335" width="735"]] 518 + 519 + 520 +If user sends below downlink command: (% style="background-color:yellow" %)3160065F9760066DA705 521 + 522 +Where : Start time: 60065F97 = time 21/1/19 04:27:03 523 + 524 + Stop time: 60066DA7= time 21/1/19 05:27:03 525 + 526 + 527 +**LHT65N-E5 will uplink this payload.** 528 + 529 +[[image:image-20220523001219-13.png||_mstalt="451204" height="421" style="text-align:left" width="727"]] 530 + 531 + 532 +__**7FFF089801464160065F97**__ **__7FFF__ __088E__ __014B__ __41__ __60066009__** 7FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 533 + 534 +Where the first 11 bytes is for the first entry: 535 + 536 +7FFF089801464160065F97 537 + 538 +Ext sensor data=0x7FFF/100=327.67 539 + 540 +Temp=0x088E/100=22.00 541 + 542 +Hum=0x014B/10=32.6 543 + 544 +poll message flag & Ext=0x41,means reply data,Ext=1 545 + 546 +Unix time is 0x60066009=1611030423s=21/1/19 04:27:03 547 + 548 + 549 +== 2.7 Alarm Mode == 550 + 551 +((( 552 + 553 + 554 +when the device is in alarm mode, it checks the built-in sensor temperature for a short time. if the temperature exceeds the preconfigured range, it sends an uplink immediately. 555 +))) 556 + 557 +((( 558 +(% style="color:red" %)**Note: alarm mode adds a little power consumption, and we recommend extending the normal read time when this feature is enabled.** 559 + 560 + 561 +))) 562 + 563 +=== 2.7.1 ALARM MODE === 564 + 565 + 566 +(% class="box infomessage" %) 567 +((( 568 +((( 569 +**AT+WMOD=1**: Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor) 570 +))) 571 + 572 +((( 573 +**AT+CITEMP=1**: The interval between checking the alarm temperature. (In minutes) 574 +))) 575 + 576 +((( 577 +**AT+ARTEMP**: Gets or sets the alarm range of the internal temperature sensor 578 +))) 579 + 580 +((( 581 +(% _mstmutation="1" %)**AT+ARTEMP=? **(%%): Gets the alarm range of the internal temperature sensor(% style="display:none" %) 582 +))) 583 + 584 +((( 585 +**AT+ARTEMP=45,105**: Set the internal temperature sensor alarm range from 45 to 105. 586 +))) 587 +))) 588 + 589 +(% style="color:#4f81bd" %)**Downlink Command: AAXXXXXXXXXXXXXX** 590 + 591 +Total bytes: 8 bytes 592 + 593 +**Example:**AA0100010001003C 594 + 595 +WMOD=01 596 + 597 +CITEMP=0001 598 + 599 +TEMPlow=0001 600 + 601 +TEMPhigh=003C 602 + 603 + 312 312 == 2.8 LED Indicator == 313 313 314 314 315 -The LHT65 N-PIRhas a triple color LED which for easy showing different stage .607 +The LHT65 has a triple color LED which for easy showing different stage . 316 316 317 317 While user press ACT button, the LED will work as per LED status with ACT button. 318 318 ... ... @@ -323,7 +323,6 @@ 323 323 * RED LED when external sensor is not connected 324 324 * For each success downlink, the PURPLE LED will blink once 325 325 326 - 327 327 == 2.9 installation == 328 328 329 329 ... ... @@ -344,13 +344,19 @@ 344 344 Use for AT Command 345 345 ))) 346 346 * ((( 347 -Update firmware for LHT65N- PIR638 +Update firmware for LHT65N-E5 348 348 ))) 640 +* ((( 641 +Exposed All pins from the LHT65N Type-C connector. 349 349 643 + 644 + 645 +))) 646 + 350 350 [[image:image-20220619092421-3.png||_mstalt="430547" height="371" width="529"]] 351 351 352 352 353 -= 4. Configure LHT65N- PIRvia AT command or LoRaWAN downlink =650 += 4. Configure LHT65N-E5 via AT command or LoRaWAN downlink = 354 354 355 355 356 356 ((( ... ... @@ -461,8 +461,127 @@ 461 461 462 462 * There is no downlink command to set to Sleep mode. 463 463 761 +== 4.4 Set system time == 762 + 763 + 764 +Feature: Set system time, unix format. [[See here for format detail.>>||anchor="H2.6.2UnixTimeStamp"]] 765 + 766 + 767 +(% style="color:#4f81bd" %)**AT Command:** 768 + 769 +[[image:image-20220523151253-8.png||_mstalt="430677"]] 770 + 771 + 772 +(% style="color:#4f81bd" %)**Downlink Command:** 773 + 774 +0x306007806000 ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352 775 + 776 + 777 +== 4.5 Set Time Sync Mode == 778 + 779 + 780 +((( 781 +Feature: Enable/Disable Sync system time via LoRaWAN MAC Command (DeviceTimeReq), LoRaWAN server must support v1.0.3 protocol to reply this command. 782 +))) 783 + 784 +((( 785 +SYNCMOD is set to 1 by default. If user want to set a different time from LoRaWAN server, user need to set this to 0. 786 + 464 464 788 +))) 465 465 790 +(% style="color:#4f81bd" %)**AT Command:** 791 + 792 +[[image:image-20220523151336-9.png||_mstalt="431717"]] 793 + 794 + 795 +(% style="color:#4f81bd" %)**Downlink Command:** 796 + 797 +0x28 01 ~/~/ Same As AT+SYNCMOD=1 798 +0x28 00 ~/~/ Same As AT+SYNCMOD=0 799 + 800 + 801 +== 4.6 Set Time Sync Interval == 802 + 803 + 804 +Feature: Define System time sync interval. SYNCTDC default value: 10 days. 805 + 806 + 807 +(% style="color:#4f81bd" %)**AT Command:** 808 + 809 +[[image:image-20220523151411-10.png||_mstalt="449696"]] 810 + 811 + 812 +(% style="color:#4f81bd" %)**Downlink Command:** 813 + 814 +**0x29 0A** ~/~/ Same as AT+SYNCTDC=0x0A 815 + 816 + 817 +== 4.7 Print data entries base on page. == 818 + 819 + 820 +Feature: Print the sector data from start page to stop page (max is 416 pages). 821 + 822 + 823 +(% style="color:#4f81bd" %)**AT Command: AT+PDTA** 824 + 825 +[[image:image-20220523151450-11.png||_mstalt="451035"]] 826 + 827 + 828 +(% style="color:#4f81bd" %)**Downlink Command:** 829 + 830 +No downlink commands for feature 831 + 832 + 833 +== 4.8 Print last few data entries. == 834 + 835 + 836 +Feature: Print the last few data entries 837 + 838 + 839 +(% style="color:#4f81bd" %)**AT Command: AT+PLDTA** 840 + 841 +[[image:image-20220523151524-12.png||_mstalt="452101"]] 842 + 843 + 844 +(% style="color:#4f81bd" %)**Downlink Command:** 845 + 846 +No downlink commands for feature 847 + 848 + 849 +== 4.9 Clear Flash Record == 850 + 851 + 852 +Feature: Clear flash storage for data log feature. 853 + 854 + 855 +(% style="color:#4f81bd" %)**AT Command: AT+CLRDTA** 856 + 857 +[[image:image-20220523151556-13.png||_mstalt="454129"]] 858 + 859 + 860 +(% style="color:#4f81bd" %)**Downlink Command: 0xA3** 861 + 862 +* Example: 0xA301 ~/~/ Same as AT+CLRDTA 863 + 864 +== 4.10 Auto Send None-ACK messages == 865 + 866 + 867 +Feature: LHT65N-E5 will wait for ACK for each uplink, If LHT65N-E5 doesn't get ACK from the IoT server, it will consider the message doesn't arrive server and store it. LHT65N-E5 keeps sending messages in normal periodically. Once LHT65N-E5 gets ACK from a server, it will consider the network is ok and start to send the not-arrive message. 868 + 869 + 870 +(% style="color:#4f81bd" %)**AT Command: AT+PNACKMD** 871 + 872 +The default factory setting is 0 873 + 874 +(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:367px" %) 875 +|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 118px;" %)**Function**|=(% style="width: 87px;" %)**Response** 876 +|(% style="width:158px" %)AT+PNACKMD=1|(% style="width:118px" %)Poll None-ACK message|(% style="width:87px" %)OK 877 + 878 +(% style="color:#4f81bd" %)**Downlink Command: 0x34** 879 + 880 +* Example: 0x3401 ~/~/ Same as AT+PNACKMD=1 881 + 466 466 = 5. Battery & How to replace = 467 467 468 468 == 5.1 Battery Type ==