Changes for page LHT65N -- Manual do sensor de temperatura e umidade LoRaWAN
Last modified by Xiaoling on 2023/07/18 10:12
From version 203.1
edited by Edwin Chen
on 2022/10/06 19:30
on 2022/10/06 19:30
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Edwin1 +XWiki.Xiaoling - Content
-
... ... @@ -61,7 +61,6 @@ 61 61 * Tri-color LED to indicate working status 62 62 * Datalog feature (Max 3328 records) 63 63 64 - 65 65 == 1.3 Specification == 66 66 67 67 ... ... @@ -86,7 +86,6 @@ 86 86 * ±2°C accuracy from -55°C to +125°C 87 87 * Operating Range: -55 °C ~~ 125 °C 88 88 89 - 90 90 = 2. Connect LHT65N to IoT Server = 91 91 92 92 ... ... @@ -198,10 +198,9 @@ 198 198 199 199 200 200 199 +== 2.4 Uplink Payload ( Fport~=2) == 201 201 202 -== 2.4 Uplink Payload == 203 203 204 - 205 205 ((( 206 206 The uplink payload includes totally 11 bytes. Uplink packets use FPORT=2 and (% _mstvisible="3" style="color:#4f81bd" %)**every 20 minutes**(%%) send one uplink by default. 207 207 ))) ... ... @@ -210,92 +210,54 @@ 210 210 After each uplink, the (% _mstvisible="3" style="color:blue" %)**BLUE LED**(%%) will blink once. 211 211 ))) 212 212 213 -(% _mstvisible="1" border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:426px" %) 214 -(% _mstvisible="3" %)|=(% _mstvisible="4" style="width: 97px;" %)(% _mstvisible="5" %) 215 -((( 216 -(% _mstvisible="6" %) 217 -(% _msthash="1817478" _msttexthash="161122" _mstvisible="8" %)**Size(bytes)** 218 -)))|=(% _mstvisible="4" style="width: 39px;" %)(% _mstvisible="5" %) 219 -((( 220 -(% _mstvisible="6" %) 221 -(% _msthash="1817479" _msttexthash="4550" _mstvisible="8" %)**2** 222 -)))|=(% _mstvisible="4" style="width: 100px;" %)(% _mstvisible="5" %) 223 -((( 224 -(% _mstvisible="6" %) 225 -(% _msthash="1817480" _msttexthash="4550" _mstvisible="8" %)**2** 226 -)))|=(% _mstvisible="4" style="width: 77px;" %)(% _mstvisible="5" %) 227 -((( 228 -(% _mstvisible="6" %) 229 -(% _msthash="1817481" _msttexthash="4550" _mstvisible="8" %)**2** 230 -)))|=(% _mstvisible="4" style="width: 47px;" %)(% _mstvisible="5" %) 231 -((( 232 -(% _mstvisible="6" %) 233 -(% _msthash="1817482" _msttexthash="4459" _mstvisible="8" %)**1** 234 -)))|=(% _mstvisible="4" style="width: 51px;" %)(% _mstvisible="5" %) 235 -((( 236 -(% _mstvisible="6" %) 237 -(% _msthash="1817483" _msttexthash="4732" _mstvisible="8" %)**4** 210 +(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:390px" %) 211 +|=(% style="width: 60px;" %)((( 212 +**Size(bytes)** 213 +)))|=(% style="width: 30px;" %)((( 214 +**2** 215 +)))|=(% style="width: 100px;" %)((( 216 +**2** 217 +)))|=(% style="width: 100px;" %)((( 218 +**2** 219 +)))|=(% style="width: 50px;" %)((( 220 +**1** 221 +)))|=(% style="width: 50px;" %)((( 222 +**4** 238 238 ))) 239 -(% _mstvisible="3" %)|(% _mstvisible="4" style="width:97px" %)(% _mstvisible="5" %) 224 +|(% style="width:97px" %)((( 225 +**Value** 226 +)))|(% style="width:39px" %)((( 227 +[[BAT>>||anchor="H2.4.2BAT-BatteryInfo"]] 228 +)))|(% style="width:100px" %)((( 240 240 ((( 241 -(% _mstvisible="6" %) 242 -(% _msthash="1817484" _msttexthash="60203" _mstvisible="8" %)**Value** 243 -)))|(% _mstvisible="4" style="width:39px" %)(% _mstvisible="5" %) 244 -((( 245 -(% _mstvisible="6" %) 246 -[[BAT>>||anchor="H2.4.2BAT-BatteryInfo" _msthash="1817485" _msttexthash="22594" _mstvisible="7"]] 247 -)))|(% _mstvisible="4" style="width:100px" %)(% _mstvisible="5" %) 248 -((( 249 -(% _mstvisible="6" %) 250 -((( 251 -(% _mstvisible="7" %) 252 -[[Built-In Temperature>>||anchor="H2.4.3Built-inTemperature" _msthash="2224742" _msttexthash="405769" _mstvisible="8"]] 230 +[[Built-In Temperature>>||anchor="H2.4.3Built-inTemperature"]] 253 253 ))) 254 -)))|(% _mstvisible="4" style="width:77px" %)(% _mstvisible="5" %)232 +)))|(% style="width:77px" %)((( 255 255 ((( 256 -(% _mstvisible="6" %) 257 -((( 258 -(% _mstvisible="7" %) 259 -[[Built-in>>||anchor="H2.4.4Built-inHumidity" _msthash="2224743" _msttexthash="105872" _mstvisible="8"]] 234 +[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity"]] 260 260 ))) 261 - 262 -(% _mstvisible="6" %) 263 -((( 264 -(% _mstvisible="7" %) 265 -[[Humidity>>||anchor="H2.4.4Built-inHumidity" _msthash="2224744" _msttexthash="117429" _mstvisible="8"]] 236 +)))|(% style="width:47px" %)((( 237 +[[Ext>>||anchor="H2.4.5Ext23"]] # 238 +)))|(% style="width:51px" %)((( 239 +[[Ext value>>||anchor="H2.4.6Extvalue"]] 266 266 ))) 267 -)))|(% _mstvisible="4" style="width:47px" %)(% _mstvisible="5" %) 268 -((( 269 -(% _mstvisible="6" %) 270 -[[Ext>>||anchor="H2.4.5Ext23" _msthash="1817486" _msttexthash="32331" _mstvisible="7"]] # 271 -)))|(% _mstvisible="4" style="width:51px" %)(% _mstvisible="5" %) 272 -((( 273 -(% _mstvisible="6" %) 274 -[[Ext value>>||anchor="H2.4.6Extvalue" _msthash="1817487" _msttexthash="116545" _mstvisible="7"]] 275 -))) 276 276 277 277 * The First 6 bytes: has fix meanings for every LHT65N. 278 278 * The 7th byte (EXT #): defines the external sensor model. 279 279 * The 8(% _msthash="734578" _msttexthash="21372" _mstvisible="4" %)^^th^^(%%) ~~ 11(% _msthash="734579" _msttexthash="21372" _mstvisible="4" %)^^th^^(%%) byte: the value for external sensor value. The definition is based on external sensor type. (If EXT=0, there won't be these four bytes.) 280 280 281 - 282 - 283 283 === 2.4.1 Decoder in TTN V3 === 284 284 285 285 286 286 When the uplink payload arrives TTNv3, it shows HEX format and not friendly to read. We can add LHT65N decoder in TTNv3 for friendly reading. 287 287 288 -Below is the position to put the decoder and LHT65N decoder can be download from here: 251 +Below is the position to put the decoder and LHT65N decoder can be download from here: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] 289 289 290 290 291 -[[https:~~/~~/www.dropbox.com/sh/r2i3zlhsyrpavla/AAB1sZw3mdT0K7XjpHCITt13a?dl=0 >>https://www.dropbox.com/sh/r2i3zlhsyrpavla/AAB1sZw3mdT0K7XjpHCITt13a?dl=0||_msthash="315253" _msttexthash="3509064" _mstvisible="2"]] 292 - 293 - 294 294 [[image:image-20220522234118-10.png||_mstalt="451464" _mstvisible="3" height="353" width="729"]] 295 295 296 296 297 297 298 - 299 299 === 2.4.2 BAT-Battery Info === 300 300 301 301 ... ... @@ -312,8 +312,6 @@ 312 312 * BAT status=(0Xcba4>>14)&0xFF=11(B),very good 313 313 * Battery Voltage =0xCBF6&0x3FFF=0x0BA4=2980mV 314 314 315 - 316 - 317 317 === 2.4.3 Built-in Temperature === 318 318 319 319 ... ... @@ -325,8 +325,6 @@ 325 325 326 326 * Temperature: (0xF5C6-65536)/100=-26.18℃ 327 327 328 - 329 - 330 330 === 2.4.4 Built-in Humidity === 331 331 332 332 ... ... @@ -334,8 +334,6 @@ 334 334 335 335 * Humidity: 0x025C/10=60.4% 336 336 337 - 338 - 339 339 === 2.4.5 Ext # === 340 340 341 341 ... ... @@ -380,112 +380,59 @@ 380 380 381 381 ))) 382 382 383 -(% _mstvisible="1" border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 384 -(% _mstvisible="3" %)|=(% _mstvisible="4" style="width: 96px;" %)(% _mstvisible="5" %) 385 -((( 386 -(% _mstvisible="6" %) 387 -(% _msthash="1817488" _msttexthash="161122" _mstvisible="8" %)**Size(bytes)** 388 -)))|=(% _mstvisible="4" style="width: 71px;" %)(% _mstvisible="5" %) 389 -((( 390 -(% _mstvisible="6" %) 391 -(% _msthash="1817489" _msttexthash="4550" _mstvisible="8" %)**2** 336 +(% _mstvisible="1" border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:510px" %) 337 +|=(% style="width: 50px;" %)((( 338 +**Size(bytes)** 339 +)))|=(% _mstvisible="4" style="width: 71px;" %)((( 340 +**2** 392 392 )))|=(% _mstvisible="4" style="width: 99px;" %)(% _mstvisible="5" %) 393 393 ((( 394 -(% _mstvisible="6" %) 395 -(% _msthash="1817490" _msttexthash="4550" _mstvisible="8" %)**2** 343 +**2** 396 396 )))|=(% _mstvisible="4" style="width: 132px;" %)(% _mstvisible="5" %) 397 397 ((( 398 -(% _mstvisible="6" %) 399 -(% _msthash="1817491" _msttexthash="4550" _mstvisible="8" %)**2** 346 +**2** 400 400 )))|=(% _mstvisible="4" style="width: 54px;" %)(% _mstvisible="5" %) 401 401 ((( 402 -(% _mstvisible="6" %) 403 -(% _msthash="1817492" _msttexthash="4459" _mstvisible="8" %)**1** 349 +**1** 404 404 )))|=(% _mstvisible="4" style="width: 64px;" %)(% _mstvisible="5" %) 405 405 ((( 406 -(% _mstvisible="6" %) 407 -(% _msthash="1817493" _msttexthash="4732" _mstvisible="8" %)**4** 352 +**4** 408 408 ))) 409 - (% _mstvisible="3" %)|(% _mstvisible="4" style="width:96px" %)(% _mstvisible="5" %)354 +|(% _mstvisible="4" style="width:96px" %)(% _mstvisible="5" %) 410 410 ((( 411 -(% _mstvisible="6" %) 412 -(% _msthash="1817494" _msttexthash="60203" _mstvisible="8" %)**Value** 356 +**Value** 413 413 )))|(% _mstvisible="4" style="width:71px" %)(% _mstvisible="5" %) 414 414 ((( 415 -(% _mstvisible="6" %) 416 -[[External temperature>>||anchor="H4.2SetExternalSensorMode" _msthash="1817495" _msttexthash="426517" _mstvisible="7"]] 417 -)))|(% _mstvisible="4" style="width:99px" %)(% _mstvisible="5" %) 359 +[[External temperature>>||anchor="H4.2SetExternalSensorMode"]] 360 +)))|(% _mstvisible="4" style="width:99px" %)((( 361 +[[Built-In Temperature>>||anchor="H2.4.3Built-inTemperature"]] 362 +)))|(% style="width:132px" %)(% _mstvisible="5" %) 418 418 ((( 419 -(% _mstvisible="6" %) 420 -((( 421 -(% _mstvisible="7" %) 422 -[[Built-In>>||anchor="H2.4.3Built-inTemperature" _msthash="2224745" _msttexthash="100464" _mstvisible="8"]] 423 -))) 424 - 425 -(% _mstvisible="6" %) 426 -((( 427 -(% _mstvisible="7" %) 428 -[[Temperature>>||anchor="H2.4.3Built-inTemperature" _msthash="2224746" _msttexthash="184041" _mstvisible="8"]] 429 -))) 430 -)))|(% _mstvisible="4" style="width:132px" %)(% _mstvisible="5" %) 431 -((( 432 -(% _mstvisible="6" %) 433 -((( 434 -(% _msthash="2224747" _msttexthash="136331" _mstvisible="7" %) 435 -BAT Status & 436 -))) 437 - 438 -(% _mstvisible="6" %) 439 -((( 440 -(% _mstvisible="7" %) 441 -[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity" _msthash="2224748" _msttexthash="311181" _mstvisible="8"]] 442 -))) 443 -)))|(% _mstvisible="4" style="width:54px" %)(% _mstvisible="5" %) 444 -((( 445 -(% _msthash="1817496" _msttexthash="147225" _mstvisible="6" %) 364 +BAT Status & [[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity"]] 365 +)))|(% _mstvisible="4" style="width:54px" %)((( 446 446 Status & Ext 447 -)))|(% _mstvisible="4" style="width:64px" %)(% _mstvisible="5" %) 448 -((( 449 -(% _mstvisible="6" %) 450 -((( 451 -(% _mstvisible="7" %) 452 -[[Unix Time Stamp>>||anchor="H2.6.2UnixTimeStamp" _msthash="2224749" _msttexthash="227175" _mstvisible="8"]] 367 +)))|(% _mstvisible="4" style="width:64px" %)((( 368 +[[Unix Time Stamp>>||anchor="H2.6.2UnixTimeStamp"]] 453 453 ))) 454 -))) 455 455 456 -(% _mstvisible="1" %) 457 -* (% _msthash="2539669" _msttexthash="857922" _mstvisible="3" %)**Battery status & **(% class="wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink wikiinternallink" %)**Built-in Humidity** 458 458 459 -(% _mstvisible="1" border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:469px" %) 460 -(% _mstvisible="3" %)|=(% _msthash="1230918" _msttexthash="93158" _mstvisible="4" style="width: 65px;" %)Bit(bit)|=(% _msthash="1230919" _msttexthash="57954" _mstvisible="4" style="width: 267px;" %)[15:14]|=(% _msthash="1230920" _msttexthash="48022" _mstvisible="4" style="width: 134px;" %)[11:0] 461 -(% _mstvisible="3" %)|(% _msthash="1230921" _msttexthash="60203" _mstvisible="4" style="width:65px" %)Value|(% _mstvisible="4" style="width:267px" %)(% _mstvisible="5" %) 462 -((( 463 -(% _msthash="1817497" _msttexthash="128427" _mstvisible="6" %) 464 -BAT Status 372 +* **Battery status & Built-in Humidity** 465 465 466 -(% _msthash="1817498" _msttexthash="472784" _mstvisible="6" %) 374 +(% _mstvisible="1" border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:461px" %) 375 +|=(% style="width: 67px;" %)Bit(bit)|=(% style="width: 256px;" %)[15:14]|=(% style="width: 132px;" %)[11:0] 376 +|(% style="width:67px" %)Value|(% style="width:256px" %)((( 377 +BAT Status 467 467 00(b): Ultra Low ( BAT <= 2.50v) 468 - 469 -(% _msthash="1817499" _msttexthash="483678" _mstvisible="6" %) 470 470 01(b): Low (2.50v <=BAT <= 2.55v) 471 - 472 -(% _msthash="1817500" _msttexthash="440791" _mstvisible="6" %) 473 473 10(b): OK (2.55v <= BAT <=2.65v) 474 - 475 -(% _msthash="1817501" _msttexthash="334191" _mstvisible="6" %) 476 476 11(b): Good (BAT >= 2.65v) 477 -)))|(% _mstvisible="4" style="width:134px" %)(% _mstvisible="5" %) 478 -((( 479 -(% _mstvisible="6" %) 480 -[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity" _msthash="1817502" _msttexthash="311181" _mstvisible="7"]] 481 - 482 -(% _mstvisible="6" %) 483 - 382 +)))|(% style="width:132px" %)((( 383 +[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity"]] 484 484 ))) 485 485 486 -* (% _msthash="504956" _msttexthash="245037" _mstvisible="4" %)**Status & Ext Byte**386 +* **Status & Ext Byte** 487 487 488 -(% border="1" cellspacing=" 8" style="background-color:#ffffcc; color:green; width:520px" %)388 +(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:500px" %) 489 489 |(% 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]** 490 490 |(% 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) 491 491 ... ... @@ -493,8 +493,6 @@ 493 493 * (% style="color:blue" %)**Sync time OK**: (%%) 1: Set time ok,0: N/A. After time SYNC request is sent, LHT65N will set this bit to 0 until got the time stamp from the application server. 494 494 * (% style="color:blue" %)**Unix Time Request**:(%%) 1: Request server downlink Unix time, 0 : N/A. In this mode, LHT65N will set this bit to 1 every 10 days to request a time SYNC. (AT+SYNCMOD to set this) 495 495 496 - 497 - 498 498 ==== 2.4.6.3 Ext~=6, ADC Sensor (use with E2 Cable) ==== 499 499 500 500 ... ... @@ -502,11 +502,11 @@ 502 502 503 503 be used to power the external ADC sensor; user can control the power on time for this 504 504 505 -sensor by setting: 403 +(% style="color:blue" %)**sensor by setting:** 506 506 507 -AT+EXT=6,timeout (% _msthash="506085" _msttexthash="8782189" _mstvisible="3" style="color:red" %)**Time to power this sensor, from 0 ~~ 65535ms** 405 +**AT+EXT=6,timeout** (% _msthash="506085" _msttexthash="8782189" _mstvisible="3" style="color:red" %)**Time to power this sensor, from 0 ~~ 65535ms** 508 508 509 -For example: 407 +**For example:** 510 510 511 511 AT+EXT=6,1000 will power this sensor for 1000ms before sampling the ADC value. 512 512 ... ... @@ -550,7 +550,7 @@ 550 550 [[image:image-20220927095645-1.png||height="534" width="460"]] 551 551 552 552 553 -**Ext=2,Temperature Sensor(TMP117):** 451 +(% style="color:blue" %)**Ext=2,Temperature Sensor(TMP117):** 554 554 555 555 [[image:image-20220906102307-7.png]] 556 556 ... ... @@ -561,7 +561,6 @@ 561 561 562 562 563 563 564 - 565 565 ==== 2.4.6.5 Ext~=4 Interrupt Mode (Since Firmware v1.3) ==== 566 566 567 567 ... ... @@ -570,7 +570,7 @@ 570 570 571 571 (% style="color:blue" %)**Interrupt Mode can be used to connect to external interrupt sensors such as:** 572 572 573 -**Case 1: Door Sensor.** 3.3v Out for such sensor is just to detect Open/Close. 470 +(% style="color:#037691" %)**Case 1: Door Sensor.** (%%)3.3v Out for such sensor is just to detect Open/Close. 574 574 575 575 In Open State, the power consumption is the same as if there is no probe 576 576 ... ... @@ -581,7 +581,7 @@ 581 581 582 582 Ext=4,Interrupt Sensor: 583 583 584 -(% border=" 2" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:512px" %)481 +(% border="1.5" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:512px" %) 585 585 |(% style="width:117px" %)((( 586 586 AT+EXT=4,1 587 587 )))|(% style="width:371px" %)((( ... ... @@ -625,6 +625,7 @@ 625 625 626 626 [[image:image-20220906101320-5.png||height="353" width="696"]] 627 627 525 + 628 628 Ext=8, Counting Sensor ( 4 bytes): 629 629 630 630 (% border="2" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:381px" %) ... ... @@ -660,52 +660,7 @@ 660 660 A2 08 02 00 00 00 3C: Same as AT+ SETCNT=60 (AT+ SETCNT = 4th byte and 5th byte and 6th byte and 7th byte) 661 661 662 662 663 -(% style="color:blue" %)**Modified ATWOOD command for external sensor TMP117 or DS18B20 temperature alarm.** 664 664 665 - 666 -(% style="color:#037691" %)**AT+WMOD=parameter1,parameter2,parameter3,parameter4** 667 - 668 -(% style="color:#037691" %)**Parameter 1**(%%): Alarm mode: 669 - 670 -0): Cancel 671 - 672 -1): Threshold alarm 673 - 674 -2): Fluctuation alarm 675 - 676 - 677 -(% style="color:#037691" %)** Parameter 2**(%%): Sampling time. Unit: seconds, up to 255 seconds. 678 - 679 -(% style="color:red" %)**Note: When the collection time is less than 60 seconds and always exceeds the set alarm threshold, the sending interval will not be the collection time, but will be sent every 60 seconds.** 680 - 681 - 682 -(% style="color:#037691" %) **Parameter 3 and parameter 4:** 683 - 684 -1): If Alarm Mode is set to 1: Parameter 3 and parameter 4 are valid, as before, they represent low temperature and high temperature. 685 - 686 -Such as AT+WMOD=1,60,45,105, it means high and low temperature alarm. 687 - 688 - 689 -2): If Alarm Mode is set to 2: Parameter 3 is valid, which represents the difference between the currently collected temperature and the last uploaded temperature. 690 - 691 -Such as AT+WMOD=2,10,2,it means that it is a fluctuation alarm. 692 - 693 -If the difference between the current collected temperature and the last Uplin is ±2 degrees, the alarm will be issued. 694 - 695 - 696 -(% style="color:blue" %)** Downlink:** 697 - 698 -0xA5 00 ~-~- AT+WMOD=0. 699 - 700 -0xA5 01 0A 11 94 29 04 ~-~- AT+WMOD=1,10,45,105 (AT+WMOD = second byte, third byte, fourth and fifth bytes divided by 100, sixth and seventh bytes divided by 100 ) 701 - 702 -0xA5 02 0A 02 ~-~- AT+WMOD=2,10,2 (AT+WMOD = second byte, third byte, fourth byte) 703 - 704 -0xA5 FF ~-~- After the device receives it, upload the current alarm configuration (FPORT=8). Such as 01 0A 11 94 29 04 or 02 0A 02. 705 - 706 - 707 - 708 - 709 709 == 2.5 Show data on Datacake == 710 710 711 711 ... ... @@ -768,9 +768,16 @@ 768 768 769 769 There are two methods: 770 770 771 -1. IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.6.4Pollsensorvalue"]] for specifying time range. 772 -1. Set [[PNACKMD=1>>||anchor="H4.13AutoSendNone-ACKmessages"]], LHT65N will wait for ACK for every uplink, when there is no LoRaWAN network, LHT65N will mark these records with non-ack message and store the sensor data, and it will send all messages (10s interval) after the network recovery. note: a) LHT65N will do ack check for data records sending to make sure every data arrive server. b) LHT65N will send data in CONFIRMED Mode when PNACKMD=1, but it won't re-transmit the same packet , it will just mark it as NONE-ACK and resend after network is detected. 624 +(% style="color:blue" %)**Method 1:** (%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.6.4Pollsensorvalue"]] for specified time range. 773 773 626 + 627 +(% style="color:blue" %)**Method 2: **(%%)Set [[PNACKMD=1>>||anchor="H4.13AutoSendNone-ACKmessages"]], LHT65N will wait for ACK for every uplink, when there is no LoRaWAN network, LHT65N 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. 628 + 629 +(% style="color:red" %)**Note for method 2:** 630 + 631 +* a) LHT65N will do an ACK check for data records sending to make sure every data arrive server. 632 +* b) LHT65N will send data in **CONFIRMED Mode** when PNACKMD=1, but LHT65N 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 gets a ACK, LHT65N will consider there is a network connection and resend all NONE-ACK Message. 633 + 774 774 Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 775 775 776 776 ... ... @@ -801,11 +801,11 @@ 801 801 802 802 803 803 ((( 804 -There are two ways to set device's time: 664 +(% style="color:blue" %)**There are two ways to set device's time:** 805 805 ))) 806 806 807 807 ((( 808 -** ~1. Through LoRaWAN MAC Command (Default settings)**668 +**1. Through LoRaWAN MAC Command (Default settings)** 809 809 ))) 810 810 811 811 ((( ... ... @@ -1002,9 +1002,9 @@ 1002 1002 ((( 1003 1003 [[image:image-20221006192726-1.png||height="112" width="754"]] 1004 1004 1005 -(% class="mark" %)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) 865 +(% class="mark" %)**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) 1006 1006 1007 -(% class="mark" %)Poll Message Flag(%%): 1: This message is a poll message reply. 867 +(% class="mark" %)**Poll Message Flag**(%%): 1: This message is a poll message reply. 1008 1008 1009 1009 1010 1010 ))) ... ... @@ -1055,7 +1055,7 @@ 1055 1055 ((( 1056 1056 (% _msthash="736725" _msttexthash="1065532" _mstvisible="3" %) 1057 1057 ((( 1058 -a) DR0: max is 11 bytes so one entry of data 918 +**a) DR0:** max is 11 bytes so one entry of data 1059 1059 ))) 1060 1060 ))) 1061 1061 ))) ... ... @@ -1066,7 +1066,7 @@ 1066 1066 ((( 1067 1067 (% _msthash="736726" _msttexthash="3265665" _mstvisible="3" %) 1068 1068 ((( 1069 -b) DR1: max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 929 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 1070 1070 ))) 1071 1071 ))) 1072 1072 ))) ... ... @@ -1077,7 +1077,7 @@ 1077 1077 ((( 1078 1078 (% _msthash="736727" _msttexthash="1454115" _mstvisible="3" style="text-align: left;" %) 1079 1079 ((( 1080 -c) DR2: total payload includes 11 entries of data 940 +**c) DR2:** total payload includes 11 entries of data 1081 1081 ))) 1082 1082 ))) 1083 1083 ))) ... ... @@ -1088,7 +1088,7 @@ 1088 1088 ((( 1089 1089 (% _msthash="736728" _msttexthash="1483924" _mstvisible="3" style="text-align: left;" %) 1090 1090 ((( 1091 -d) DR3: total payload includes 22 entries of data. 951 +**d) DR3: **total payload includes 22 entries of data. 1092 1092 ))) 1093 1093 ))) 1094 1094 ))) ... ... @@ -1099,7 +1099,7 @@ 1099 1099 ((( 1100 1100 (% _msthash="736729" _msttexthash="5848349" _mstvisible="3" style="text-align: left;" %) 1101 1101 ((( 1102 -If devise doesn ’t have any data in the polling time. Device will uplink 11 bytes of 0962 +If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 1103 1103 ))) 1104 1104 ))) 1105 1105 ))) ... ... @@ -1200,17 +1200,42 @@ 1200 1200 ((( 1201 1201 (% style="color:red" %)**Note: alarm mode adds a little power consumption, and we recommend extending the normal read time when this feature is enabled.** 1202 1202 1063 + 1064 + 1065 +=== 2.7.1 ALARM MODE ( Since v1.3.1 firmware) === 1066 + 1067 + 1068 +((( 1069 +(% class="box infomessage" %) 1070 +((( 1071 +**AT+WMOD=3,**: Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor) 1072 + 1073 +**AT+CITEMP=1**: The interval between checking the alarm temperature. (In minutes) 1074 + 1075 +**AT+ARTEMP**: Gets or sets the alarm range of the internal temperature sensor 1076 + 1077 +**AT+ARTEMP=? **: Gets the alarm range of the internal temperature sensor(% _mstvisible="3" style="display:none" %) 1078 + 1079 +**AT+ARTEMP=45,105**: Set the internal temperature sensor alarm range from 45 to 105. 1080 + 1081 +**AT+LEDALARM=1** : Enable LED visual Alarm. 1082 +))) 1083 +))) 1084 + 1085 + 1203 1203 1204 1204 ))) 1205 1205 1206 1206 ((( 1207 -**AT COMMAND FOR ALARM MODE:** 1090 +=== 2.7.2 ALARM MODE ( Before v1.3.1 firmware) === 1091 + 1092 + 1208 1208 ))) 1209 1209 1210 1210 (% _mstvisible="1" class="box infomessage" %) 1211 1211 ((( 1212 1212 ((( 1213 -**AT+WMOD=1**: Enable/disable alarm mode. (0: Disabled, 1: Enabled) 1098 +**AT+WMOD=1**: Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor) 1214 1214 ))) 1215 1215 1216 1216 ((( ... ... @@ -1260,8 +1260,6 @@ 1260 1260 * RED LED when external sensor is not connected 1261 1261 * For each success downlink, the PURPLE LED will blink once 1262 1262 1263 - 1264 - 1265 1265 == 2.9 installation == 1266 1266 1267 1267 ... ... @@ -1319,8 +1319,6 @@ 1319 1319 * Operating Range: -40 ~~ 125 °C 1320 1320 * Working voltage 2.35v ~~ 5v 1321 1321 1322 - 1323 - 1324 1324 = 4. Configure LHT65N via AT command or LoRaWAN downlink = 1325 1325 1326 1326 ... ... @@ -1384,14 +1384,12 @@ 1384 1384 1385 1385 Format: Command Code (0x01) followed by 3 bytes time value. 1386 1386 1387 -If the downlink payload=0100003C, it means set the END Node ’s Transmit Interval to 0x00003C=60(S), while type code is 01.1268 +If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. 1388 1388 1389 -* **Example 1**: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1270 +* **Example 1**: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1390 1390 1391 -* **Example 2**: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 1272 +* **Example 2**: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 1392 1392 1393 - 1394 - 1395 1395 == 4.2 Set External Sensor Mode == 1396 1396 1397 1397 ... ... @@ -1415,8 +1415,6 @@ 1415 1415 1416 1416 * 0xA20702003c: Same as AT+SETCNT=60 1417 1417 1418 - 1419 - 1420 1420 == 4.3 Enable/Disable uplink Temperature probe ID == 1421 1421 1422 1422 ... ... @@ -1447,8 +1447,6 @@ 1447 1447 * **0xA800** **~-~->** AT+PID=0 1448 1448 * **0xA801** **~-~->** AT+PID=1 1449 1449 1450 - 1451 - 1452 1452 == 4.4 Set Password == 1453 1453 1454 1454 ... ... @@ -1500,8 +1500,6 @@ 1500 1500 1501 1501 * There is no downlink command to set to Sleep mode. 1502 1502 1503 - 1504 - 1505 1505 == 4.7 Set system time == 1506 1506 1507 1507 ... ... @@ -1515,7 +1515,7 @@ 1515 1515 1516 1516 (% _msthash="315254" _msttexthash="298038" style="color:#4f81bd" %)**Downlink Command:** 1517 1517 1518 -0x306007806000 ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352 1391 +0x306007806000 ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352 1519 1519 1520 1520 1521 1521 ... ... @@ -1557,7 +1557,7 @@ 1557 1557 1558 1558 (% _msthash="315257" _msttexthash="298038" style="color:#4f81bd" %)**Downlink Command:** 1559 1559 1560 -**0x29 0A** ~/~/ Same as AT+SYNCTDC=0x0A 1433 +**0x29 0A** ~/~/ Same as AT+SYNCTDC=0x0A 1561 1561 1562 1562 1563 1563 ... ... @@ -1608,10 +1608,8 @@ 1608 1608 1609 1609 (% style="color:#4f81bd" %)**Downlink Command: 0xA3** 1610 1610 1611 -* Example: 0xA301 ~/~/Same as AT+CLRDTA 1484 +* Example: 0xA301 ~/~/ Same as AT+CLRDTA 1612 1612 1613 - 1614 - 1615 1615 == 4.13 Auto Send None-ACK messages == 1616 1616 1617 1617 ... ... @@ -1630,10 +1630,59 @@ 1630 1630 1631 1631 (% style="color:#4f81bd" %)**Downlink Command: 0x34** 1632 1632 1633 -* Example: 0x3401 ~/~/Same as AT+PNACKMD=1 1504 +* Example: 0x3401 ~/~/ Same as AT+PNACKMD=1 1634 1634 1506 +== 4.14 Modified ATWOOD command for external sensor TMP117 or DS18B20 temperature alarm == 1635 1635 1636 1636 1509 +Feature: Set internal and external temperature sensor alarms. 1510 + 1511 +(% border="1" style="background-color:#ffffcc; color:green; width:450px" %) 1512 +|(%%)(% _msthash="1231737" _msttexthash="251862" _mstvisible="6" %)**Command Example**|(%%)(% _msthash="1231738" _msttexthash="116025" _mstvisible="6" %)**Function**|(%%)(% _msthash="1231739" _msttexthash="116831" _mstvisible="6" %)**Response** 1513 +|(%%)(% style="color:#037691" %)AT+WMOD=parameter1,parameter2,parameter3,parameter4|Set internal and external temperature sensor alarms|OK 1514 + 1515 +(% style="color:#037691" %)**AT+WMOD=parameter1,parameter2,parameter3,parameter4** 1516 + 1517 +(% style="color:#037691" %)**Parameter 1**(%%): Alarm mode: 1518 + 1519 +0): Cancel 1520 + 1521 +1): Threshold alarm 1522 + 1523 +2): Fluctuation alarm 1524 + 1525 + 1526 +(% style="color:#037691" %)** Parameter 2**(%%): Sampling time. Unit: seconds, up to 255 seconds. 1527 + 1528 +(% style="color:red" %)**Note: When the collection time is less than 60 seconds and always exceeds the set alarm threshold, the sending interval will not be the collection time, but will be sent every 60 seconds.** 1529 + 1530 + 1531 +(% style="color:#037691" %) **Parameter 3 and parameter 4:** 1532 + 1533 +1): If Alarm Mode is set to 1: Parameter 3 and parameter 4 are valid, as before, they represent low temperature and high temperature. 1534 + 1535 +Such as AT+WMOD=1,60,45,105, it means high and low temperature alarm. 1536 + 1537 + 1538 +2): If Alarm Mode is set to 2: Parameter 3 is valid, which represents the difference between the currently collected temperature and the last uploaded temperature. 1539 + 1540 +Such as AT+WMOD=2,10,2,it means that it is a fluctuation alarm. 1541 + 1542 +If the difference between the current collected temperature and the last Uplin is ±2 degrees, the alarm will be issued. 1543 + 1544 + 1545 +(% style="color:#4f81bd" %)**Downlink Command: 0xA5** 1546 + 1547 +0xA5 00 ~-~- AT+WMOD=0. 1548 + 1549 +0xA5 01 0A 11 94 29 04 ~-~- AT+WMOD=1,10,45,105 (AT+WMOD = second byte, third byte, fourth and fifth bytes divided by 100, sixth and seventh bytes divided by 100 ) 1550 + 1551 +0xA5 02 0A 02 ~-~- AT+WMOD=2,10,2 (AT+WMOD = second byte, third byte, fourth byte) 1552 + 1553 +0xA5 FF ~-~- After the device receives it, upload the current alarm configuration (FPORT=8). Such as 01 0A 11 94 29 04 or 02 0A 02. 1554 + 1555 + 1556 + 1637 1637 = 5. Battery & How to replace = 1638 1638 1639 1639 ... ... @@ -1703,7 +1703,6 @@ 1703 1703 * (% style="background-color:yellow" %)**USB to TTL GND <~-~->GND** 1704 1704 * (% style="background-color:yellow" %)**USB to TTL RXD <~-~-> D+** 1705 1705 * (% style="background-color:yellow" %)**USB to TTL TXD <~-~-> A11** 1706 -* (% style="background-color:yellow" %)**USB to TTL 3.3V <~-~-> D-** 1707 1707 1708 1708 ((( 1709 1709 In PC, User needs to set serial tool(such as [[**putty**>>https://www.chiark.greenend.org.uk/~~sgtatham/putty/latest.html]], SecureCRT) baud rate to (% style="color:green" %)**9600**(%%) to access to access serial console for LHT65N. The AT commands are disable by default and need to enter password (default:(% style="color:green" %)**123456**) (%%)to active it. Timeout to input AT Command is 5 min, after 5-minute, user need to input password again. User can use AT+DISAT command to disable AT command before timeout. ... ... @@ -2103,8 +2103,6 @@ 2103 2103 2104 2104 * (% style="color:red" %)**E3**(%%): External Temperature Probe 2105 2105 2106 - 2107 - 2108 2108 = 8. Packing Info = 2109 2109 2110 2110 ... ... @@ -2118,15 +2118,11 @@ 2118 2118 * Device Size: 10 x 10 x 3.5 cm 2119 2119 * Device Weight: 120.5g 2120 2120 2121 - 2122 - 2123 2123 = 9. Reference material = 2124 2124 2125 2125 2126 2126 * [[Datasheet, photos, decoder, firmware>>https://www.dropbox.com/sh/una19zsni308dme/AACOKp6J2RF5TMlKWT5zU3RTa?dl=0||_msthash="504975" _msttexthash="51420512"]] 2127 2127 2128 - 2129 - 2130 2130 = 10. FCC Warning = 2131 2131 2132 2132