Changes for page LHT65N -- Manual do sensor de temperatura e umidade LoRaWAN
Last modified by Xiaoling on 2023/07/18 10:12
From version 210.13
edited by Xiaoling
on 2022/10/26 17:13
on 2022/10/26 17:13
Change comment:
There is no comment for this version
To version 207.1
edited by Edwin Chen
on 2022/10/18 09:59
on 2022/10/18 09:59
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. Xiaoling1 +XWiki.Edwin - Content
-
... ... @@ -196,6 +196,7 @@ 196 196 197 197 198 198 199 + 199 199 == 2.4 Uplink Payload ( Fport~=2) == 200 200 201 201 ... ... @@ -207,37 +207,69 @@ 207 207 After each uplink, the (% _mstvisible="3" style="color:blue" %)**BLUE LED**(%%) will blink once. 208 208 ))) 209 209 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** 211 +(% _mstvisible="1" border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:426px" %) 212 +(% _mstvisible="3" %)|=(% _mstvisible="4" style="width: 97px;" %)(% _mstvisible="5" %) 213 +((( 214 +(% _mstvisible="6" %) 215 +(% _msthash="1817478" _msttexthash="161122" _mstvisible="8" %)**Size(bytes)** 216 +)))|=(% _mstvisible="4" style="width: 39px;" %)(% _mstvisible="5" %) 217 +((( 218 +(% _mstvisible="6" %) 219 +(% _msthash="1817479" _msttexthash="4550" _mstvisible="8" %)**2** 220 +)))|=(% _mstvisible="4" style="width: 100px;" %)(% _mstvisible="5" %) 221 +((( 222 +(% _mstvisible="6" %) 223 +(% _msthash="1817480" _msttexthash="4550" _mstvisible="8" %)**2** 224 +)))|=(% _mstvisible="4" style="width: 77px;" %)(% _mstvisible="5" %) 225 +((( 226 +(% _mstvisible="6" %) 227 +(% _msthash="1817481" _msttexthash="4550" _mstvisible="8" %)**2** 228 +)))|=(% _mstvisible="4" style="width: 47px;" %)(% _mstvisible="5" %) 229 +((( 230 +(% _mstvisible="6" %) 231 +(% _msthash="1817482" _msttexthash="4459" _mstvisible="8" %)**1** 232 +)))|=(% _mstvisible="4" style="width: 51px;" %)(% _mstvisible="5" %) 233 +((( 234 +(% _mstvisible="6" %) 235 +(% _msthash="1817483" _msttexthash="4732" _mstvisible="8" %)**4** 223 223 ))) 224 -|(% style="width:97px" %)((( 225 -**Value** 226 -)))|(% style="width:39px" %)((( 227 -[[BAT>>||anchor="H2.4.2BAT-BatteryInfo"]] 228 -)))|(% style="width:100px" %)((( 237 +(% _mstvisible="3" %)|(% _mstvisible="4" style="width:97px" %)(% _mstvisible="5" %) 229 229 ((( 230 -[[Built-In Temperature>>||anchor="H2.4.3Built-inTemperature"]] 239 +(% _mstvisible="6" %) 240 +(% _msthash="1817484" _msttexthash="60203" _mstvisible="8" %)**Value** 241 +)))|(% _mstvisible="4" style="width:39px" %)(% _mstvisible="5" %) 242 +((( 243 +(% _mstvisible="6" %) 244 +[[BAT>>||anchor="H2.4.2BAT-BatteryInfo" _msthash="1817485" _msttexthash="22594" _mstvisible="7"]] 245 +)))|(% _mstvisible="4" style="width:100px" %)(% _mstvisible="5" %) 246 +((( 247 +(% _mstvisible="6" %) 248 +((( 249 +(% _mstvisible="7" %) 250 +[[Built-In Temperature>>||anchor="H2.4.3Built-inTemperature" _msthash="2224742" _msttexthash="405769" _mstvisible="8"]] 231 231 ))) 232 -)))|(% style="width:77px" %)( ((252 +)))|(% _mstvisible="4" style="width:77px" %)(% _mstvisible="5" %) 233 233 ((( 234 -[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity"]] 254 +(% _mstvisible="6" %) 255 +((( 256 +(% _mstvisible="7" %) 257 +[[Built-in>>||anchor="H2.4.4Built-inHumidity" _msthash="2224743" _msttexthash="105872" _mstvisible="8"]] 235 235 ))) 236 -)))|(% style="width:47px" %)((( 237 -[[Ext>>||anchor="H2.4.5Ext23"]] # 238 -)))|(% style="width:51px" %)((( 239 -[[Ext value>>||anchor="H2.4.6Extvalue"]] 259 + 260 +(% _mstvisible="6" %) 261 +((( 262 +(% _mstvisible="7" %) 263 +[[Humidity>>||anchor="H2.4.4Built-inHumidity" _msthash="2224744" _msttexthash="117429" _mstvisible="8"]] 240 240 ))) 265 +)))|(% _mstvisible="4" style="width:47px" %)(% _mstvisible="5" %) 266 +((( 267 +(% _mstvisible="6" %) 268 +[[Ext>>||anchor="H2.4.5Ext23" _msthash="1817486" _msttexthash="32331" _mstvisible="7"]] # 269 +)))|(% _mstvisible="4" style="width:51px" %)(% _mstvisible="5" %) 270 +((( 271 +(% _mstvisible="6" %) 272 +[[Ext value>>||anchor="H2.4.6Extvalue" _msthash="1817487" _msttexthash="116545" _mstvisible="7"]] 273 +))) 241 241 242 242 * The First 6 bytes: has fix meanings for every LHT65N. 243 243 * The 7th byte (EXT #): defines the external sensor model. ... ... @@ -255,6 +255,7 @@ 255 255 256 256 257 257 291 + 258 258 === 2.4.2 BAT-Battery Info === 259 259 260 260 ... ... @@ -333,58 +333,120 @@ 333 333 334 334 ))) 335 335 336 -(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:480px" %) 337 -|=(% style="width: 50px;" %)((( 338 -**Size(bytes)** 339 -)))|=(% style="width: 70px;" %)((( 340 -**2** 341 -)))|=(% style="width: 120px;" %)((( 342 -**2** 343 -)))|=(% style="width: 120px;" %)((( 344 -**2** 345 -)))|=(% style="width: 50px;" %)((( 346 -**1** 347 -)))|=(% style="width: 70px;" %)((( 348 -**4** 370 +(% _mstvisible="1" border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 371 +(% _mstvisible="3" %)|=(% _mstvisible="4" style="width: 96px;" %)(% _mstvisible="5" %) 372 +((( 373 +(% _mstvisible="6" %) 374 +(% _msthash="1817488" _msttexthash="161122" _mstvisible="8" %)**Size(bytes)** 375 +)))|=(% _mstvisible="4" style="width: 71px;" %)(% _mstvisible="5" %) 376 +((( 377 +(% _mstvisible="6" %) 378 +(% _msthash="1817489" _msttexthash="4550" _mstvisible="8" %)**2** 379 +)))|=(% _mstvisible="4" style="width: 99px;" %)(% _mstvisible="5" %) 380 +((( 381 +(% _mstvisible="6" %) 382 +(% _msthash="1817490" _msttexthash="4550" _mstvisible="8" %)**2** 383 +)))|=(% _mstvisible="4" style="width: 132px;" %)(% _mstvisible="5" %) 384 +((( 385 +(% _mstvisible="6" %) 386 +(% _msthash="1817491" _msttexthash="4550" _mstvisible="8" %)**2** 387 +)))|=(% _mstvisible="4" style="width: 54px;" %)(% _mstvisible="5" %) 388 +((( 389 +(% _mstvisible="6" %) 390 +(% _msthash="1817492" _msttexthash="4459" _mstvisible="8" %)**1** 391 +)))|=(% _mstvisible="4" style="width: 64px;" %)(% _mstvisible="5" %) 392 +((( 393 +(% _mstvisible="6" %) 394 +(% _msthash="1817493" _msttexthash="4732" _mstvisible="8" %)**4** 349 349 ))) 350 -|(% style="width:110px" %)((( 351 -**Value** 352 -)))|(% style="width:71px" %)((( 353 -[[External temperature>>||anchor="H4.2SetExternalSensorMode"]] 354 -)))|(% style="width:99px" %)((( 355 -[[Built-In Temperature>>||anchor="H2.4.3Built-inTemperature"]] 356 -)))|(% style="width:132px" %)((( 357 -BAT Status & [[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity"]] 358 -)))|(% style="width:54px" %)((( 396 +(% _mstvisible="3" %)|(% _mstvisible="4" style="width:96px" %)(% _mstvisible="5" %) 397 +((( 398 +(% _mstvisible="6" %) 399 +(% _msthash="1817494" _msttexthash="60203" _mstvisible="8" %)**Value** 400 +)))|(% _mstvisible="4" style="width:71px" %)(% _mstvisible="5" %) 401 +((( 402 +(% _mstvisible="6" %) 403 +[[External temperature>>||anchor="H4.2SetExternalSensorMode" _msthash="1817495" _msttexthash="426517" _mstvisible="7"]] 404 +)))|(% _mstvisible="4" style="width:99px" %)(% _mstvisible="5" %) 405 +((( 406 +(% _mstvisible="6" %) 407 +((( 408 +(% _mstvisible="7" %) 409 +[[Built-In>>||anchor="H2.4.3Built-inTemperature" _msthash="2224745" _msttexthash="100464" _mstvisible="8"]] 410 +))) 411 + 412 +(% _mstvisible="6" %) 413 +((( 414 +(% _mstvisible="7" %) 415 +[[Temperature>>||anchor="H2.4.3Built-inTemperature" _msthash="2224746" _msttexthash="184041" _mstvisible="8"]] 416 +))) 417 +)))|(% _mstvisible="4" style="width:132px" %)(% _mstvisible="5" %) 418 +((( 419 +(% _mstvisible="6" %) 420 +((( 421 +(% _msthash="2224747" _msttexthash="136331" _mstvisible="7" %) 422 +BAT Status & 423 +))) 424 + 425 +(% _mstvisible="6" %) 426 +((( 427 +(% _mstvisible="7" %) 428 +[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity" _msthash="2224748" _msttexthash="311181" _mstvisible="8"]] 429 +))) 430 +)))|(% _mstvisible="4" style="width:54px" %)(% _mstvisible="5" %) 431 +((( 432 +(% _msthash="1817496" _msttexthash="147225" _mstvisible="6" %) 359 359 Status & Ext 360 -)))|(% style="width:64px" %)((( 361 -[[Unix Time Stamp>>||anchor="H2.6.2UnixTimeStamp"]] 434 +)))|(% _mstvisible="4" style="width:64px" %)(% _mstvisible="5" %) 435 +((( 436 +(% _mstvisible="6" %) 437 +((( 438 +(% _mstvisible="7" %) 439 +[[Unix Time Stamp>>||anchor="H2.6.2UnixTimeStamp" _msthash="2224749" _msttexthash="227175" _mstvisible="8"]] 362 362 ))) 441 +))) 363 363 364 -* **Battery status & Built-in Humidity** 443 +(% _mstvisible="1" %) 444 +* (% _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** 365 365 366 -(% _mstvisible="1" border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:461px" %) 367 -|=(% style="width: 67px;" %)Bit(bit)|=(% style="width: 256px;" %)[15:14]|=(% style="width: 132px;" %)[11:0] 368 -|(% style="width:67px" %)Value|(% style="width:256px" %)((( 446 +(% _mstvisible="1" border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:469px" %) 447 +(% _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] 448 +(% _mstvisible="3" %)|(% _msthash="1230921" _msttexthash="60203" _mstvisible="4" style="width:65px" %)Value|(% _mstvisible="4" style="width:267px" %)(% _mstvisible="5" %) 449 +((( 450 +(% _msthash="1817497" _msttexthash="128427" _mstvisible="6" %) 369 369 BAT Status 452 + 453 +(% _msthash="1817498" _msttexthash="472784" _mstvisible="6" %) 370 370 00(b): Ultra Low ( BAT <= 2.50v) 455 + 456 +(% _msthash="1817499" _msttexthash="483678" _mstvisible="6" %) 371 371 01(b): Low (2.50v <=BAT <= 2.55v) 458 + 459 +(% _msthash="1817500" _msttexthash="440791" _mstvisible="6" %) 372 372 10(b): OK (2.55v <= BAT <=2.65v) 461 + 462 +(% _msthash="1817501" _msttexthash="334191" _mstvisible="6" %) 373 373 11(b): Good (BAT >= 2.65v) 374 -)))|(% style="width:132px" %)((( 375 -[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity"]] 464 +)))|(% _mstvisible="4" style="width:134px" %)(% _mstvisible="5" %) 465 +((( 466 +(% _mstvisible="6" %) 467 +[[Built-in Humidity>>||anchor="H2.4.4Built-inHumidity" _msthash="1817502" _msttexthash="311181" _mstvisible="7"]] 468 + 469 +(% _mstvisible="6" %) 470 + 376 376 ))) 377 377 378 -* **Status & Ext Byte** 473 +* (% _msthash="504956" _msttexthash="245037" _mstvisible="4" %)**Status & Ext Byte** 379 379 380 -(% border="1" cellspacing=" 4" style="background-color:#ffffcc; color:green; width:500px" %)381 -| =(% scope="row" style="width:;" %)**Bits**|(% style="width:90px" %)**7**|(% style="width:100px" %)**6**|(% style="width:90px" %)**5**|(% style="width:100px" %)**4**|(% style="width:60px" %)**[3:0]**382 -| =(% style="width:;" %)**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)475 +(% border="1" cellspacing="8" style="background-color:#ffffcc; color:green; width:520px" %) 476 +|(% 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]** 477 +|(% 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) 383 383 384 384 * (% style="color:blue" %)**Poll Message Flag**:(%%) 1: This message is a poll message reply, 0: means this is a normal uplink. 385 385 * (% 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. 386 386 * (% 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) 387 387 483 + 388 388 ==== 2.4.6.3 Ext~=6, ADC Sensor (use with E2 Cable) ==== 389 389 390 390 ... ... @@ -392,11 +392,11 @@ 392 392 393 393 be used to power the external ADC sensor; user can control the power on time for this 394 394 395 - (%style="color:blue" %)**sensor by setting:**491 +sensor by setting: 396 396 397 - **AT+EXT=6,timeout**(% _msthash="506085" _msttexthash="8782189" _mstvisible="3" style="color:red" %)**Time to power this sensor, from 0 ~~ 65535ms**493 +AT+EXT=6,timeout (% _msthash="506085" _msttexthash="8782189" _mstvisible="3" style="color:red" %)**Time to power this sensor, from 0 ~~ 65535ms** 398 398 399 - **For example:**495 +For example: 400 400 401 401 AT+EXT=6,1000 will power this sensor for 1000ms before sampling the ADC value. 402 402 ... ... @@ -440,7 +440,7 @@ 440 440 [[image:image-20220927095645-1.png||height="534" width="460"]] 441 441 442 442 443 - (% style="color:blue" %)**Ext=2,Temperature Sensor(TMP117):**539 +**Ext=2,Temperature Sensor(TMP117):** 444 444 445 445 [[image:image-20220906102307-7.png]] 446 446 ... ... @@ -451,6 +451,7 @@ 451 451 452 452 453 453 550 + 454 454 ==== 2.4.6.5 Ext~=4 Interrupt Mode (Since Firmware v1.3) ==== 455 455 456 456 ... ... @@ -459,7 +459,7 @@ 459 459 460 460 (% style="color:blue" %)**Interrupt Mode can be used to connect to external interrupt sensors such as:** 461 461 462 - (% style="color:#037691" %)**Case 1: Door Sensor.**(%%)3.3v Out for such sensor is just to detect Open/Close.559 +**Case 1: Door Sensor.** 3.3v Out for such sensor is just to detect Open/Close. 463 463 464 464 In Open State, the power consumption is the same as if there is no probe 465 465 ... ... @@ -470,20 +470,20 @@ 470 470 471 471 Ext=4,Interrupt Sensor: 472 472 473 -(% border=" 1.5" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:478px" %)474 -|(% style="width:1 01px" %)(((570 +(% border="2" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:512px" %) 571 +|(% style="width:117px" %)((( 475 475 AT+EXT=4,1 476 -)))|(% style="width:37 3px" %)(((573 +)))|(% style="width:371px" %)((( 477 477 Sent uplink packet in both rising and falling interrupt 478 478 ))) 479 -|(% style="width:1 01px" %)(((576 +|(% style="width:117px" %)((( 480 480 AT+EXT=4,2 481 -)))|(% style="width:37 3px" %)(((578 +)))|(% style="width:371px" %)((( 482 482 Sent uplink packet only in falling interrupt 483 483 ))) 484 -|(% style="width:1 01px" %)(((581 +|(% style="width:117px" %)((( 485 485 AT+EXT=4,3 486 -)))|(% style="width:37 3px" %)(((583 +)))|(% style="width:371px" %)((( 487 487 Sent uplink packet only in rising interrupt 488 488 ))) 489 489 ... ... @@ -514,7 +514,6 @@ 514 514 515 515 [[image:image-20220906101320-5.png||height="353" width="696"]] 516 516 517 - 518 518 Ext=8, Counting Sensor ( 4 bytes): 519 519 520 520 (% border="2" cellpadding="4" cellspacing="4" style="background-color:#ffffcc; color:green; height:6px; width:381px" %) ... ... @@ -550,7 +550,52 @@ 550 550 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) 551 551 552 552 649 +(% style="color:blue" %)**Modified ATWOOD command for external sensor TMP117 or DS18B20 temperature alarm.** 553 553 651 + 652 +(% style="color:#037691" %)**AT+WMOD=parameter1,parameter2,parameter3,parameter4** 653 + 654 +(% style="color:#037691" %)**Parameter 1**(%%): Alarm mode: 655 + 656 +0): Cancel 657 + 658 +1): Threshold alarm 659 + 660 +2): Fluctuation alarm 661 + 662 + 663 +(% style="color:#037691" %)** Parameter 2**(%%): Sampling time. Unit: seconds, up to 255 seconds. 664 + 665 +(% 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.** 666 + 667 + 668 +(% style="color:#037691" %) **Parameter 3 and parameter 4:** 669 + 670 +1): If Alarm Mode is set to 1: Parameter 3 and parameter 4 are valid, as before, they represent low temperature and high temperature. 671 + 672 +Such as AT+WMOD=1,60,45,105, it means high and low temperature alarm. 673 + 674 + 675 +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. 676 + 677 +Such as AT+WMOD=2,10,2,it means that it is a fluctuation alarm. 678 + 679 +If the difference between the current collected temperature and the last Uplin is ±2 degrees, the alarm will be issued. 680 + 681 + 682 +(% style="color:blue" %)** Downlink:** 683 + 684 +0xA5 00 ~-~- AT+WMOD=0. 685 + 686 +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 ) 687 + 688 +0xA5 02 0A 02 ~-~- AT+WMOD=2,10,2 (AT+WMOD = second byte, third byte, fourth byte) 689 + 690 +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. 691 + 692 + 693 + 694 + 554 554 == 2.5 Show data on Datacake == 555 555 556 556 ... ... @@ -613,12 +613,12 @@ 613 613 614 614 There are two methods: 615 615 616 - (% style="color:blue" %)**Method 1:**(%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.6.4Pollsensorvalue"]] for specified time range.757 +**Method 1**: IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.6.4Pollsensorvalue"]] for specified time range. 617 617 618 618 619 - (% 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.760 +**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. 620 620 621 - (% style="color:red" %)**Note for method 2:**762 +**Note for method 2:** 622 622 623 623 * a) LHT65N will do an ACK check for data records sending to make sure every data arrive server. 624 624 * 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. ... ... @@ -653,11 +653,11 @@ 653 653 654 654 655 655 ((( 656 - (% style="color:blue" %)**There are two ways to set device's time:**797 +There are two ways to set device's time: 657 657 ))) 658 658 659 659 ((( 660 -**1. 801 +**~1. Through LoRaWAN MAC Command (Default settings)** 661 661 ))) 662 662 663 663 ((( ... ... @@ -707,76 +707,338 @@ 707 707 === 2.6.5 Datalog Uplink payload === 708 708 709 709 851 +(% _msthash="315267" _msttexthash="2245087" _mstvisible="1" %) 710 710 The Datalog poll reply uplink will use below payload format. 711 711 712 -**Retrieval data payload:** 854 +(% _mstvisible="1" %) 855 +((( 856 +(% _mstvisible="2" %) 857 + 713 713 714 -(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:480px" %) 715 -|=(% style="width: 60px;" %)((( 716 -**Size(bytes)** 717 -)))|=(% style="width: 90px;" %)**2**|=(% style="width: 90px;" %)**2**|=(% style="width: 70px;" %)**2**|=(% style="width: 100px;" %)**1**|=(% style="width: 70px;" %)**4** 718 -|(% 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"]] 859 +(% _mstvisible="2" %) 860 +(% _msthash="506080" _msttexthash="451581" _mstvisible="4" %)**Retrieval data payload** 861 +))) 719 719 720 -**Poll message flag & Ext:** 863 +(% _mstvisible="1" border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:510px" %) 864 +(% _mstvisible="3" %)|=(% _mstvisible="4" style="width: 93px;" %)(% _mstvisible="5" %) 865 +((( 866 +(% _mstvisible="6" %) 867 +((( 868 +(% _mstvisible="7" %) 869 +(% _msthash="2224750" _msttexthash="161122" _mstvisible="9" %)**Size(bytes)** 870 +))) 871 +)))|=(% _mstvisible="4" style="width: 71px;" %)(% _mstvisible="5" %) 872 +((( 873 +(% _mstvisible="6" %) 874 +((( 875 +(% _mstvisible="7" %) 876 +(% _msthash="2224751" _msttexthash="4550" _mstvisible="9" %)**2** 877 +))) 878 +)))|=(% _mstvisible="4" style="width: 102px;" %)(% _mstvisible="5" %) 879 +((( 880 +(% _mstvisible="6" %) 881 +((( 882 +(% _mstvisible="7" %) 883 +(% _msthash="2224752" _msttexthash="4550" _mstvisible="9" %)**2** 884 +))) 885 +)))|=(% _mstvisible="4" style="width: 86px;" %)(% _mstvisible="5" %) 886 +((( 887 +(% _mstvisible="6" %) 888 +((( 889 +(% _mstvisible="7" %) 890 +(% _msthash="2224753" _msttexthash="4550" _mstvisible="9" %)**2** 891 +))) 892 +)))|=(% _mstvisible="4" style="width: 86px;" %)(% _mstvisible="5" %) 893 +((( 894 +(% _mstvisible="6" %) 895 +((( 896 +(% _mstvisible="7" %) 897 +(% _msthash="2224754" _msttexthash="4459" _mstvisible="9" %)**1** 898 +))) 899 +)))|=(% _mstvisible="4" style="width: 48px;" %)(% _mstvisible="5" %) 900 +((( 901 +(% _mstvisible="6" %) 902 +((( 903 +(% _mstvisible="7" %) 904 +(% _msthash="2224755" _msttexthash="4732" _mstvisible="9" %)**4** 905 +))) 906 +))) 907 +(% _mstvisible="3" %)|(% _mstvisible="4" style="width:93px" %)(% _mstvisible="5" %) 908 +((( 909 +(% _mstvisible="6" %) 910 +((( 911 +(% _mstvisible="7" %) 912 +(% _msthash="2224756" _msttexthash="60203" _mstvisible="9" %)**Value** 913 +))) 914 +)))|(% _mstvisible="4" style="width:71px" %)(% _mstvisible="5" %) 915 +((( 916 +(% _mstvisible="6" %) 917 +((( 918 +(% _mstvisible="7" %) 919 +[[External sensor data>>||anchor="H2.4.6Extvalue" _msthash="2224757" _msttexthash="386672" _mstvisible="8"]] 920 +))) 921 +)))|(% _mstvisible="4" style="width:102px" %)(% _mstvisible="5" %) 922 +((( 923 +(% _mstvisible="6" %) 924 +((( 925 +(% _mstvisible="7" %) 926 +((( 927 +(% _mstvisible="8" %) 928 +[[Built In>>||anchor="H2.4.3Built-inTemperature" _msthash="2671864" _msttexthash="91065" _mstvisible="9"]] 929 +))) 930 +))) 721 721 932 +(% _mstvisible="6" %) 933 +((( 934 +(% _mstvisible="7" %) 935 +((( 936 +(% _mstvisible="8" %) 937 +[[Temperature>>||anchor="H2.4.3Built-inTemperature" _msthash="2671865" _msttexthash="184041" _mstvisible="9"]] 938 +))) 939 +))) 940 +)))|(% _mstvisible="4" style="width:86px" %)(% _mstvisible="5" %) 941 +((( 942 +(% _mstvisible="6" %) 943 +((( 944 +(% _mstvisible="7" %) 945 +((( 946 +(% _mstvisible="8" %) 947 +[[Built-in>>||anchor="H2.4.4Built-inHumidity" _msthash="2671866" _msttexthash="105872" _mstvisible="9"]] 948 +))) 949 +))) 722 722 951 +(% _mstvisible="6" %) 952 +((( 953 +(% _mstvisible="7" %) 954 +((( 955 +(% _mstvisible="8" %) 956 +[[Humidity>>||anchor="H2.4.4Built-inHumidity" _msthash="2671867" _msttexthash="117429" _mstvisible="9"]] 957 +))) 958 +))) 959 +)))|(% _mstvisible="4" style="width:86px" %)(% _mstvisible="5" %) 960 +((( 961 +(% _mstvisible="6" %) 962 +((( 963 +(% _msthash="2224758" _msttexthash="390390" _mstvisible="7" %) 964 +Poll message flag & Ext 965 +))) 966 +)))|(% _mstvisible="4" style="width:48px" %)(% _mstvisible="5" %) 967 +((( 968 +(% _mstvisible="6" %) 969 +((( 970 +(% _mstvisible="7" %) 971 +((( 972 +(% _mstvisible="8" %) 973 +[[Unix Time Stamp>>||anchor="H2.6.2UnixTimeStamp" _msthash="2671868" _msttexthash="227175" _mstvisible="9"]] 974 +))) 975 +))) 976 + 977 +(% _mstvisible="6" %) 978 +((( 979 +(% _mstvisible="7" %) 980 +((( 981 +(% _mstvisible="8" %) 982 + 983 +))) 984 +))) 985 +))) 986 + 987 +(% _mstvisible="1" %) 988 +(% _msthash="315268" _msttexthash="390390" _mstvisible="3" %)**Poll message flag & Ext** 989 + 990 +(% _mstvisible="1" %) 991 +((( 992 +(% _mstvisible="2" %) 993 +((( 994 +(% _msthash="736723" _msttexthash="2005003" _mstvisible="3" %) 995 +((( 723 723 [[image:image-20221006192726-1.png||height="112" width="754"]] 724 724 725 -(% style="color:blue" %)**No ACK Message**(%%):998 +(% 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) 726 726 727 -(% style="color:blue" %)**Poll Message Flag**(%%): 1: This message is a poll message reply.1000 +(% class="mark" %)**Poll Message Flag**(%%): 1: This message is a poll message reply. 728 728 729 -* Poll Message Flag is set to 1. 1002 + 1003 +))) 1004 +))) 1005 +))) 730 730 731 -* Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 1007 +(% _mstvisible="1" %) 1008 +* (% _mstvisible="3" %) 1009 +((( 1010 +(% _mstvisible="4" %) 1011 +((( 1012 +(% _msthash="1197157" _msttexthash="561548" _mstvisible="5" %) 1013 +((( 1014 +Poll Message Flag is set to 1. 1015 +))) 1016 +))) 1017 +))) 1018 +* (% _mstvisible="3" %) 1019 +((( 1020 +(% _mstvisible="4" %) 1021 +((( 1022 +(% _msthash="1197158" _msttexthash="9284964" _mstvisible="5" %) 1023 +((( 1024 +Each data entry is 11 bytes, to save airtime and battery, devices will send max bytes according to the current DR and Frequency bands. 1025 +))) 1026 +))) 1027 +))) 732 732 1029 +(% _mstvisible="1" %) 1030 +((( 1031 +(% _mstvisible="2" %) 1032 +((( 1033 +(% _msthash="736724" _msttexthash="2242344" _mstvisible="3" %) 1034 +((( 1035 + 1036 +))) 1037 + 1038 +(% _msthash="736724" _msttexthash="2242344" _mstvisible="3" %) 1039 +((( 733 733 For example, in US915 band, the max payload for different DR is: 1041 +))) 1042 +))) 1043 +))) 734 734 735 -(% style="color:blue" %)**a) DR0:** (%%)max is 11 bytes so one entry of data 1045 +(% _mstvisible="1" %) 1046 +((( 1047 +(% _mstvisible="2" %) 1048 +((( 1049 +(% _msthash="736725" _msttexthash="1065532" _mstvisible="3" %) 1050 +((( 1051 +**a) DR0:** max is 11 bytes so one entry of data 1052 +))) 1053 +))) 1054 +))) 736 736 737 -(% style="color:blue" %)**b) DR1:**(%%) max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 1056 +(% _mstvisible="1" %) 1057 +((( 1058 +(% _mstvisible="2" %) 1059 +((( 1060 +(% _msthash="736726" _msttexthash="3265665" _mstvisible="3" %) 1061 +((( 1062 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 1063 +))) 1064 +))) 1065 +))) 738 738 739 -(% style="color:blue" %)**c) DR2:**(%%) total payload includes 11 entries of data 1067 +(% _mstvisible="1" %) 1068 +((( 1069 +(% _mstvisible="2" %) 1070 +((( 1071 +(% _msthash="736727" _msttexthash="1454115" _mstvisible="3" style="text-align: left;" %) 1072 +((( 1073 +**c) DR2:** total payload includes 11 entries of data 1074 +))) 1075 +))) 1076 +))) 740 740 741 -(% style="color:blue" %)**d) DR3: **(%%)total payload includes 22 entries of data. 1078 +(% _mstvisible="1" %) 1079 +((( 1080 +(% _mstvisible="2" %) 1081 +((( 1082 +(% _msthash="736728" _msttexthash="1483924" _mstvisible="3" style="text-align: left;" %) 1083 +((( 1084 +**d) DR3: **total payload includes 22 entries of data. 1085 +))) 1086 +))) 1087 +))) 742 742 1089 +(% _mstvisible="1" %) 1090 +((( 1091 +(% _mstvisible="2" %) 1092 +((( 1093 +(% _msthash="736729" _msttexthash="5848349" _mstvisible="3" style="text-align: left;" %) 1094 +((( 743 743 If devise doesn't have any data in the polling time. Device will uplink 11 bytes of 0 1096 +))) 1097 +))) 1098 +))) 744 744 745 745 746 -**Example:** 1101 +(% _mstvisible="1" style="text-align: left;" %) 1102 +(% _msthash="315269" _msttexthash="104767" _mstvisible="3" %)**Example:** 747 747 1104 +(% _msthash="315270" _msttexthash="913822" _mstvisible="1" style="text-align: left;" %) 748 748 If LHT65N has below data inside Flash: 749 749 1107 +(% _mstvisible="1" %) 750 750 [[image:image-20220523144455-1.png||_mstalt="430040" _mstvisible="3" height="335" width="735"]] 751 751 1110 +(% _mstvisible="1" %) 1111 +((( 1112 +(% _msthash="506081" _msttexthash="1663961" _mstvisible="2" style="text-align: left;" %) 1113 +If user sends below downlink command: (% _mstvisible="3" style="background-color:yellow" %)3160065F9760066DA705 1114 +))) 752 752 753 -If user sends below downlink command: (% style="background-color:yellow" %)3160065F9760066DA705 1116 +(% _mstvisible="1" %) 1117 +((( 1118 +(% _msthash="506082" _msttexthash="1092494" _mstvisible="2" style="text-align: left;" %) 1119 + Where : Start time: 60065F97 = time 21/1/19 04:27:03 1120 +))) 754 754 755 -Where : Start time: 60065F97 = time 21/1/19 04:27:03 1122 +(% _mstvisible="1" %) 1123 +((( 1124 +(% _msthash="506083" _msttexthash="737269" _mstvisible="2" style="text-align: left;" %) 1125 + Stop time 60066DA7= time 21/1/19 05:27:(% _msthash="903005" _msttexthash="9672" _mstvisible="2" %)03 1126 +))) 756 756 757 - Stop time: 60066DA7= time 21/1/19 05:27:03 1128 +(% _mstvisible="1" %) 1129 +((( 1130 +(% _mstvisible="2" %) 1131 + 1132 +))) 758 758 1134 +(% _mstvisible="1" %) 1135 +((( 1136 +(% _msthash="506084" _msttexthash="751218" _mstvisible="2" style="text-align: left;" %) 1137 +LHT65N will uplink this payload. 1138 +))) 759 759 760 -**LHT65N will uplink this payload.** 761 - 1140 +(% _mstvisible="1" %) 762 762 [[image:image-20220523001219-13.png||_mstalt="451204" _mstvisible="3" height="421" style="text-align:left" width="727"]] 763 763 764 764 1144 +(% _msthash="315271" _msttexthash="12012546" _mstvisible="1" style="text-align: left;" %) 1145 +((( 765 765 7FFF089801464160065F977FFF088E014B41600660097FFF0885014E41600660667FFF0875015141600662BE7FFF086B015541600665167FFF08660155416006676E7FFF085F015A41600669C67FFF0857015D4160066C1E 1147 +))) 766 766 1149 +(% _msthash="315237" _msttexthash="1385839" %) 1150 +((( 767 767 Where the first 11 bytes is for the first entry: 1152 +))) 768 768 1154 +(% _msthash="315238" _msttexthash="274846" %) 1155 +((( 769 769 7FFF089801464160065F97 1157 +))) 770 770 1159 +(% _msthash="315239" _msttexthash="617435" %) 1160 +((( 771 771 Ext sensor data=0x7FFF/100=327.67 1162 +))) 772 772 1164 +(% _msthash="315240" _msttexthash="270543" %) 1165 +((( 773 773 Temp=0x0898/100=22.00 1167 +))) 774 774 1169 +(% _msthash="315241" _msttexthash="211783" %) 1170 +((( 775 775 Hum=0x0146/10=32.6 1172 +))) 776 776 1174 +(% _msthash="315242" _msttexthash="1569776" %) 1175 +((( 777 777 poll message flag & Ext=0x41,means reply data,Ext=1 1177 +))) 778 778 1179 +(% _msthash="315243" _msttexthash="1120509" %) 1180 +((( 779 779 Unix time is 0x60065F97=1611030423s=21/1/19 04:27:03 1182 +))) 780 780 781 781 782 782 ... ... @@ -790,15 +790,12 @@ 790 790 ((( 791 791 (% style="color:red" %)**Note: alarm mode adds a little power consumption, and we recommend extending the normal read time when this feature is enabled.** 792 792 1196 +=== **2.7.1 ALARM MODE ( Since v1.3.1 firmware)** === 793 793 794 - 795 -=== 2.7.1 ALARM MODE ( Since v1.3.1 firmware) === 796 - 797 - 798 798 ((( 799 799 (% class="box infomessage" %) 800 800 ((( 801 -**AT+WMOD= 3,**: Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor)1201 +**AT+WMOD=1**: Enable/disable alarm mode. (0: Disabled, 1: Enabled Temperature Alarm for onboard temperature sensor) 802 802 803 803 **AT+CITEMP=1**: The interval between checking the alarm temperature. (In minutes) 804 804 ... ... @@ -807,8 +807,6 @@ 807 807 **AT+ARTEMP=? **: Gets the alarm range of the internal temperature sensor(% _mstvisible="3" style="display:none" %) 808 808 809 809 **AT+ARTEMP=45,105**: Set the internal temperature sensor alarm range from 45 to 105. 810 - 811 -**AT+LEDALARM=1** : Enable LED visual Alarm. 812 812 ))) 813 813 ))) 814 814 ... ... @@ -817,9 +817,7 @@ 817 817 ))) 818 818 819 819 ((( 820 -=== 2.7.2 ALARM MODE ( Before v1.3.1 firmware) === 821 - 822 - 1218 +=== **2.7.2 ALARM MODE ( Before v1.3.1 firmware)** === 823 823 ))) 824 824 825 825 (% _mstvisible="1" class="box infomessage" %) ... ... @@ -995,11 +995,11 @@ 995 995 996 996 Format: Command Code (0x01) followed by 3 bytes time value. 997 997 998 -If the downlink payload=0100003C, it means set the END Node 's Transmit Interval to 0x00003C=60(S), while type code is 01.1394 +If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. 999 999 1000 -* **Example 1**: Downlink Payload: 0100001E 1396 +* **Example 1**: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1001 1001 1002 -* **Example 2**: Downlink Payload: 0100003C 1398 +* **Example 2**: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 1003 1003 1004 1004 == 4.2 Set External Sensor Mode == 1005 1005 ... ... @@ -1118,7 +1118,7 @@ 1118 1118 1119 1119 (% _msthash="315254" _msttexthash="298038" style="color:#4f81bd" %)**Downlink Command:** 1120 1120 1121 -0x306007806000 ~/~/ 1517 +0x306007806000 ~/~/ Set timestamp to 0x(6007806000),Same as AT+TIMESTAMP=1611104352 1122 1122 1123 1123 1124 1124 ... ... @@ -1160,7 +1160,7 @@ 1160 1160 1161 1161 (% _msthash="315257" _msttexthash="298038" style="color:#4f81bd" %)**Downlink Command:** 1162 1162 1163 -**0x29 0A** 1559 +**0x29 0A** ~/~/ Same as AT+SYNCTDC=0x0A 1164 1164 1165 1165 1166 1166 ... ... @@ -1211,78 +1211,28 @@ 1211 1211 1212 1212 (% style="color:#4f81bd" %)**Downlink Command: 0xA3** 1213 1213 1214 -* Example: 0xA301 1610 +* Example: 0xA301 ~/~/ Same as AT+CLRDTA 1215 1215 1216 1216 == 4.13 Auto Send None-ACK messages == 1217 1217 1218 1218 1615 +(% _msthash="315394" _msttexthash="51837149" _mstvisible="1" %) 1219 1219 Feature: LHT65N will wait for ACK for each uplink, If LHT65N doesn't get ACK from the IoT server, it will consider the message doesn't arrive server and store it. LHT65N keeps sending messages in normal periodically. Once LHT65N gets ACK from a server, it will consider the network is ok and start to send the not-arrive message. 1220 1220 1221 1221 1222 1222 (% style="color:#4f81bd" %)**AT Command: AT+PNACKMD** 1223 1223 1621 +(% _msthash="315396" _msttexthash="734682" _mstvisible="1" %) 1224 1224 The default factory setting is 0 1225 1225 1226 -(% b order="1"cellspacing="4" style="background-color:#ffffcc; color:green; width:367px" %)1227 -|=(% style="width: 1 58px;" %)**Command Example**|=(% style="width: 118px;" %)**Function**|=(% style="width:87px;" %)**Response**1228 -|(% style="width:1 58px" %)AT+PNACKMD=1|(% style="width:118px" %)Poll None-ACK message|(% style="width:87px" %)OK1624 +(% _mstvisible="1" border="1" style="background-color:#ffffcc; color:green; width:450px" %) 1625 +(% _mstvisible="3" %)|=(% _mstvisible="4" style="width: 171px;" %)(% _msthash="1231737" _msttexthash="251862" _mstvisible="6" %)**Command Example**|=(% _mstvisible="4" style="width: 219px;" %)(% _msthash="1231738" _msttexthash="116025" _mstvisible="6" %)**Function**|=(% _mstvisible="4" style="width: 119px;" %)(% _msthash="1231739" _msttexthash="116831" _mstvisible="6" %)**Response** 1626 +(% _mstvisible="3" %)|(% _msthash="1231321" _msttexthash="130455" _mstvisible="4" style="width:171px" %)AT+PNACKMD=1|(% _msthash="1231322" _msttexthash="377026" _mstvisible="4" style="width:219px" %)Poll None-ACK message|(% _msthash="1231323" _msttexthash="14989" _mstvisible="4" style="width:119px" %)OK 1229 1229 1230 1230 (% style="color:#4f81bd" %)**Downlink Command: 0x34** 1231 1231 1232 -* Example: 0x3401 1630 +* Example: 0x3401 ~/~/ Same as AT+PNACKMD=1 1233 1233 1234 - 1235 -== 4.14 Modified ATWOOD command for external sensor TMP117 or DS18B20 temperature alarm == 1236 - 1237 - 1238 -Feature: Set internal and external temperature sensor alarms. 1239 - 1240 -(% border="1" cellspacing="4" style="background-color:#ffffcc; color:green; width:500px" %) 1241 -|=(% style="width: 268px;" %)**Command Example**|=(% style="width: 255px;" %)**Function**|=(% style="width: 50px;" %)**Response** 1242 -|(% style="width:268px" %)AT+WMOD=parameter1,parameter2,parameter3,parameter4|(% style="width:255px" %)Set internal and external temperature sensor alarms|(% style="width:181px" %)OK 1243 - 1244 -(% style="color:#037691" %)**AT+WMOD=parameter1,parameter2,parameter3,parameter4** 1245 - 1246 -(% style="color:#037691" %)**Parameter 1**(%%): Alarm mode: 1247 - 1248 -0): Cancel 1249 - 1250 -1): Threshold alarm 1251 - 1252 -2): Fluctuation alarm 1253 - 1254 - 1255 -(% style="color:#037691" %)** Parameter 2**(%%): Sampling time. Unit: seconds, up to 255 seconds. 1256 - 1257 -(% 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.** 1258 - 1259 - 1260 -(% style="color:#037691" %) **Parameter 3 and parameter 4:** 1261 - 1262 -1): If Alarm Mode is set to 1: Parameter 3 and parameter 4 are valid, as before, they represent low temperature and high temperature. 1263 - 1264 -Such as AT+WMOD=1,60,45,105, it means high and low temperature alarm. 1265 - 1266 - 1267 -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. 1268 - 1269 -Such as AT+WMOD=2,10,2,it means that it is a fluctuation alarm. 1270 - 1271 -If the difference between the current collected temperature and the last Uplin is ±2 degrees, the alarm will be issued. 1272 - 1273 - 1274 -(% style="color:#4f81bd" %)**Downlink Command: 0xA5** 1275 - 1276 -0xA5 00 ~-~- AT+WMOD=0. 1277 - 1278 -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 ) 1279 - 1280 -0xA5 02 0A 02 ~-~- AT+WMOD=2,10,2 (AT+WMOD = second byte, third byte, fourth byte) 1281 - 1282 -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. 1283 - 1284 - 1285 - 1286 1286 = 5. Battery & How to replace = 1287 1287 1288 1288