Changes for page End Device AT Commands and Downlink Command
Last modified by kai on 2024/09/06 10:00
Summary
-
Page properties (1 modified, 0 added, 0 removed)
Details
- Page properties
-
- Content
-
... ... @@ -10,6 +10,7 @@ 10 10 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: 11 11 12 12 * (% style="color:blue" %)**Common Commands:** (%%) They should be available for each sensor, such as: change uplink interval, reset device. 13 + 13 13 * (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device. 14 14 15 15 ((( ... ... @@ -21,6 +21,7 @@ 21 21 22 22 23 23 * **AT Command** : See Devices User Manual for how to connect to device via USB TTL adapter and use. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]] 25 + 24 24 * **LoRaWAN Downlink Command**: The gateway transfer downlink command in HEX format. This page shows the Downlink Command In HEX format. Please note some LoRaWAN servers use base64 as downlink code so user need to convert HEX to Base64 and use. Below are references for how to use downlink command: 25 25 ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 26 26 ** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]], [[How to Convert>>http://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H4.1ConvertHEXtoBase64]]? ... ... @@ -107,7 +107,7 @@ 107 107 108 108 (% style="color:blue" %)**AT Command: AT+TDC** 109 109 110 -(% border="1" style="background-color:#f2f2f2; width:727.222px" %) 112 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %) 111 111 |(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Response** 112 112 |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 113 113 OK ... ... @@ -129,6 +129,7 @@ 129 129 ))) 130 130 131 131 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 134 + 132 132 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 133 133 134 134 (% style="display:none" %) (%%) ... ... @@ -141,7 +141,7 @@ 141 141 142 142 (% style="color:blue" %)**AT Command: ATZ ~/~/ **(%%)Trig a reset of the MCU 143 143 144 -(% border="1" style="background-color:#f2f2f2; width:546px" %) 147 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %) 145 145 |(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:92px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:294px" %)**Response** 146 146 |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)((( 147 147 Device reset and show booting info ... ... @@ -176,7 +176,7 @@ 176 176 177 177 (% style="color:blue" %)**AT Command: AT+FDR ~/~/ **(%%)Reset to factory default 178 178 179 -(% border="1" style="background-color:#f2f2f2; width:789px" %) 182 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %) 180 180 |(% style="background-color:#4f81bd; color:white; width:154px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:456px" %)**Response** 181 181 |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)((( 182 182 Device reset to factory default parameters and show booting info ... ... @@ -211,7 +211,7 @@ 211 211 212 212 (% style="color:blue" %)**AT Command: AT+VER ~/~/ **(%%)Image Version and Frequency Band 213 213 214 -(% border="1" style="background-color:#f2f2f2; width:542px" %) 217 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %) 215 215 |(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response** 216 216 |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)((( 217 217 1.3 EU868 ... ... @@ -273,7 +273,7 @@ 273 273 274 274 (% style="color:blue" %)**AT Command: AT+CFG ~/~/ **(%%)Print all configurations 275 275 276 -(% border="1" style="background-color:#f2f2f2; width:599.222px" %) 279 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %) 277 277 |(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:154px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:280px" %)**Response** 278 278 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 279 279 AT+DEUI = XX XX XX XX XX XX XX XX ... ... @@ -296,12 +296,12 @@ 296 296 297 297 (% style="color:blue" %)**AT Command: AT+APPEUI** 298 298 299 -(% border="1" style="background-color:#f2f2f2; width:6 86.222px" %)300 -|(% style="background-color:#4f81bd; color:white; width: 305px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:186px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:191px" %)**Response**301 -|(% style="width: 305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((302 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %) 303 +|(% style="background-color:#4f81bd; color:white; width:272px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:182px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:184px" %)**Response** 304 +|(% style="width:272px" %)AT+APPEUI=?|(% style="width:182px" %)Get the Application EUI|(% style="width:184px" %)00 b3 d5 00 00 00 00 00((( 302 302 OK 303 303 ))) 304 -|(% style="width: 305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK307 +|(% style="width:272px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:182px" %)Set the Application EUI|(% style="width:184px" %)OK 305 305 306 306 (% style="display:none" %) (%%) 307 307 ... ... @@ -313,7 +313,7 @@ 313 313 314 314 (% style="color:blue" %)**AT Command: AT+APPKEY** 315 315 316 -(% border="1" style="background-color:#f2f2f2; width:976.222px" %) 319 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %) 317 317 |(% style="background-color:#4f81bd; color:white; width:441px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:180px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:350px" %)**Response** 318 318 |(% style="width:441px" %)AT+APPKEY=?|(% style="width:180px" %)Get the Application Key|(% style="width:350px" %)00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35((( 319 319 OK ... ... @@ -330,7 +330,7 @@ 330 330 331 331 (% style="color:blue" %)**AT Command: AT+APPSKEY** 332 332 333 -(% border="1" style="background-color:#f2f2f2; width:1040.22px" %) 336 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %) 334 334 |(% style="background-color:#4f81bd; color:white; width:451px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:231px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:354px" %)**Response** 335 335 |(% style="width:451px" %)AT+APPSKEY=?|(% style="width:231px" %)Get the Application Session Key|(% style="width:354px" %)00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2((( 336 336 OK ... ... @@ -349,7 +349,7 @@ 349 349 350 350 (% style="color:blue" %)**AT Command: AT+DADDR** 351 351 352 -(% border="1" style="background-color:#f2f2f2; width:795.222px" %) 355 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %) 353 353 |(% style="background-color:#4f81bd; color:white; width:192px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:241px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:359px" %)**Response** 354 354 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)((( 355 355 A8 40 41 FF ... ... @@ -368,7 +368,7 @@ 368 368 369 369 (% style="color:blue" %)**AT Command: AT+DEUI** 370 370 371 -(% border="1" style="background-color:#f2f2f2; width:1035.22px" %) 374 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %) 372 372 |(% style="background-color:#4f81bd; color:white; width:250px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:634px" %)**Response** 373 373 |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55((( 374 374 OK ... ... @@ -387,7 +387,7 @@ 387 387 388 388 (% style="color:blue" %)**AT Command: AT+NWKID** 389 389 390 -(% border="1" style="background-color:#f2f2f2; width:448.222px" %) 393 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %) 391 391 |(% style="background-color:#4f81bd; color:white; width:191px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:153px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:101px" %)**Response** 392 392 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff((( 393 393 OK ... ... @@ -404,7 +404,7 @@ 404 404 405 405 (% style="color:blue" %)**AT Command: AT+NWKSKEY** 406 406 407 -(% border="1" style="background-color:#f2f2f2; width:1017.22px" %) 410 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %) 408 408 |(% style="background-color:#4f81bd; color:white; width:455px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:215px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:343px" %)**Response** 409 409 |(% style="width:455px" %)AT+NWKSKEY=?|(% style="width:215px" %)Get the Network Session Key.|(% style="width:343px" %)00 4f 19 25 52 ce 97 09 d7 fa 84 71 db 51 02 92((( 410 410 OK ... ... @@ -425,7 +425,7 @@ 425 425 426 426 (% style="color:blue" %)**AT Command: AT+CFM** 427 427 428 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 431 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 429 429 |(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:205px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:346px" %)**Response** 430 430 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0((( 431 431 OK ... ... @@ -440,6 +440,7 @@ 440 440 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05. 441 441 442 442 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 446 + 443 443 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 444 444 445 445 (% style="display:none" %) (%%) ... ... @@ -449,13 +449,13 @@ 449 449 450 450 (% style="color:blue" %)**AT Command: AT+CFM** 451 451 452 -(% border="1" style="background-color:#f2f2f2; width: 710.222px" %)453 -|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width: 349px" %)**Response**456 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %) 457 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response** 454 454 |(% style="width:160px" %)((( 455 455 AT+CFM=1,0,0 456 456 457 457 value1 458 -)))|(% style="width:198px" %)confirmed uplink|(% style="width: 349px" %)(((462 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)((( 459 459 1 460 460 461 461 OK ... ... @@ -464,7 +464,7 @@ 464 464 AT+CFM=0,?,0 465 465 466 466 value2 467 -)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width: 349px" %)(((471 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:100px" %)((( 468 468 0~~7 469 469 470 470 OK ... ... @@ -473,7 +473,7 @@ 473 473 AT+CFM=0,0,1 474 474 475 475 value3 476 -)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width: 349px" %)(((480 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:100px" %)((( 477 477 1 478 478 479 479 OK ... ... @@ -486,6 +486,7 @@ 486 486 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 487 487 488 488 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 493 + 489 489 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 490 490 491 491 (% style="display:none" %) (%%) ... ... @@ -498,7 +498,7 @@ 498 498 499 499 (% style="color:blue" %)**AT Command: AT+CFS** 500 500 501 -(% border="1" style="background-color:#f2f2f2; width:463px" %) 506 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %) 502 502 |(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:193px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:107px" %)**Response** 503 503 |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0((( 504 504 OK ... ... @@ -514,7 +514,7 @@ 514 514 515 515 (% style="color:blue" %)**AT Command: AT+JOIN** 516 516 517 -(% border="1" style="background-color:#f2f2f2; width:647.222px" %) 522 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %) 518 518 |(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:334px" %)**Response** 519 519 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network((( 520 520 OK ... ... @@ -531,7 +531,7 @@ 531 531 532 532 (% style="color:blue" %)**AT Command: AT+NJM** 533 533 534 -(% border="1" style="background-color:#f2f2f2; width:753.222px" %) 539 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %) 535 535 |(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:361px" %)**Response** 536 536 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1((( 537 537 OK ... ... @@ -546,6 +546,7 @@ 546 546 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 547 547 548 548 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 554 + 549 549 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 550 550 551 551 (% style="display:none" %) (%%) ... ... @@ -558,9 +558,9 @@ 558 558 559 559 (% style="color:blue" %)**AT Command: AT+NJS** 560 560 561 -(% border="1" style="background-color:#f2f2f2; width:4 98.222px" %)562 -|(% style="background-color:#4f81bd; color:white; width:169px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:164px" %)**Function**|(% style="background-color:#4f81bd; color:white; width: 161px" %)**Response**563 -|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width: 161px" %)0(((567 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %) 568 +|(% style="background-color:#4f81bd; color:white; width:169px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:164px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:97px" %)**Response** 569 +|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:97px" %)0((( 564 564 OK 565 565 ))) 566 566 ... ... @@ -574,9 +574,9 @@ 574 574 575 575 (% style="color:blue" %)**AT Command: AT+RECV** 576 576 577 -(% border="1" style="background-color:#f2f2f2; width:5 87.222px" %)578 -|(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:1 50px" %)**Response**579 -|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:1 50px" %)0:(((583 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %) 584 +|(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response** 585 +|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:104px" %)0:((( 580 580 OK 581 581 ))) 582 582 ... ... @@ -590,7 +590,7 @@ 590 590 591 591 (% style="color:blue" %)**AT Command: AT+RECVB** 592 592 593 -(% border="1" style="background-color:#f2f2f2; width:793.222px" %) 599 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %) 594 594 |(% style="background-color:#4f81bd; color:white; width:173px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:497px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:120px" %)**Response** 595 595 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010((( 596 596 OK ... ... @@ -606,7 +606,7 @@ 606 606 607 607 (% style="color:blue" %)**AT Command: AT+SEND** 608 608 609 -(% border="1" style="background-color:#f2f2f2; width:991.222px" %) 615 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %) 610 610 |(% style="background-color:#4f81bd; color:white; width:201px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:340px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:446px" %)**Response** 611 611 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 612 612 While Error in format, return ... ... @@ -623,7 +623,7 @@ 623 623 624 624 (% style="color:blue" %)**AT Command: AT+SENDB** 625 625 626 -(% border="1" style="width:974px" %) 632 +(% border="1" cellspacing="4" style="width:974px" %) 627 627 |(% style="background-color:#4f81bd; color:white; width:257px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:394px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:318px" %)**Response** 628 628 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK 629 629 |(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)While Error in format, return((( ... ... @@ -642,7 +642,7 @@ 642 642 643 643 (% style="color:blue" %)**AT Command: AT+ADR** 644 644 645 -(% border="1" style="width:643px" %) 651 +(% border="1" cellspacing="4" style="width:643px" %) 646 646 |(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:266px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:209px" %)**Response** 647 647 |(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1((( 648 648 OK ... ... @@ -657,6 +657,7 @@ 657 657 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 658 658 659 659 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 666 + 660 660 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 661 661 662 662 (% style="display:none" %) (%%) ... ... @@ -669,12 +669,12 @@ 669 669 670 670 (% style="color:blue" %)**AT Command: AT+CLASS** 671 671 672 -(% border="1" style="background-color:#f2f2f2; width: 507.222px" %)673 -|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:166px" %)**Function**|(% style="background-color:#4f81bd; color:white; width: 175px" %)**Response**674 -|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width: 175px" %)A(((679 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %) 680 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:166px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:94px" %)**Response** 681 +|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:94px" %)A((( 675 675 OK 676 676 ))) 677 -|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width: 175px" %)OK(((684 +|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:94px" %)OK((( 678 678 679 679 ))) 680 680 ... ... @@ -693,7 +693,7 @@ 693 693 694 694 (% style="color:blue" %)**AT Command: AT+DCS** 695 695 696 -(% border="1" style="background-color:#f2f2f2; width:515.222px" %) 703 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %) 697 697 |(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:239px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:107px" %)**Response** 698 698 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1((( 699 699 OK ... ... @@ -713,16 +713,17 @@ 713 713 **Notice:** 714 714 715 715 * User need to set Adaptive Data Rate(ADR)=0 first. otherwise device will respond to server's ADR command and change the DR according to server auto-adjustment. 723 + 716 716 * Data Rate specifies Spreading Factor. The mapping varies in different frequency bands. User can check this link for detail. [[rp2-1.0.3-lorawan-regional-parameters.pdf>>https://lora-alliance.org/resource_hub/rp2-1-0-3-lorawan-regional-parameters/]] 717 717 718 718 (% style="color:blue" %)**AT Command: AT+DR** 719 719 720 -(% border="1" style="background-color:#f2f2f2; width:4 66.222px" %)721 -|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:1 67px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:140px" %)**Response**722 -|(% style="width:156px" %)AT+DR=?|(% style="width:1 67px" %)Get the Data Rate.|(% style="width:140px" %)5(((728 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %) 729 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response** 730 +|(% style="width:156px" %)AT+DR=?|(% style="width:147px" %)Get the Data Rate.|(% style="width:100px" %)5((( 723 723 OK 724 724 ))) 725 -|(% style="width:156px" %)AT+DR=2|(% style="width:1 67px" %)Set the Data Rate.|(% style="width:140px" %)OK(((733 +|(% style="width:156px" %)AT+DR=2|(% style="width:147px" %)Set the Data Rate.|(% style="width:100px" %)OK((( 726 726 727 727 ))) 728 728 ... ... @@ -731,6 +731,7 @@ 731 731 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 732 732 733 733 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 742 + 734 734 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 735 735 736 736 (% style="display:none" %) (%%) ... ... @@ -743,7 +743,7 @@ 743 743 744 744 (% style="color:blue" %)**AT Command: AT+FCD** 745 745 746 -(% border="1" style="background-color:#f2f2f2; width:693.222px" %) 755 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %) 747 747 |(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:258px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:269px" %)**Response** 748 748 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 749 749 OK ... ... @@ -761,7 +761,7 @@ 761 761 762 762 (% style="color:blue" %)**AT Command: AT+FCU** 763 763 764 -(% border="1" style="background-color:#f2f2f2; width:534.222px" %) 773 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %) 765 765 |(% style="background-color:#4f81bd; color:white; width:177px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:239px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:113px" %)**Response** 766 766 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 767 767 OK ... ... @@ -780,7 +780,7 @@ 780 780 781 781 (% style="color:blue" %)**AT Command: AT+JN1DL** 782 782 783 -(% border="1" style="background-color:#f2f2f2; width:537.222px" %) 792 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %) 784 784 |(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:229px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:140px" %)**Response** 785 785 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 786 786 OK ... ... @@ -799,7 +799,7 @@ 799 799 800 800 (% style="color:blue" %)**AT Command: AT+JN2DL** 801 801 802 -(% border="1" style="background-color:#f2f2f2; width:538.222px" %) 811 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %) 803 803 |(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:228px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:146px" %)**Response** 804 804 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 805 805 OK ... ... @@ -820,7 +820,7 @@ 820 820 821 821 (% style="color:blue" %)**AT Command: AT+PNM** 822 822 823 -(% border="1" style="background-color:#f2f2f2; width:667.222px" %) 832 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %) 824 824 |(% style="background-color:#4f81bd; color:white; width:166px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:225px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Response** 825 825 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 826 826 OK ... ... @@ -846,7 +846,7 @@ 846 846 847 847 (% style="color:blue" %)**AT Command: AT+RX1DL** 848 848 849 -(% border="1" style="background-color:#f2f2f2; width:408.222px" %) 858 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %) 850 850 |(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:122px" %)**Response** 851 851 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 852 852 OK ... ... @@ -865,7 +865,7 @@ 865 865 866 866 (% style="color:blue" %)**AT Command: AT+RX2DL** 867 867 868 -(% border="1" style="background-color:#f2f2f2; width:481.222px" %) 877 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %) 869 869 |(% style="background-color:#4f81bd; color:white; width:175px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:152px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:150px" %)**Response** 870 870 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 871 871 OK ... ... @@ -884,7 +884,7 @@ 884 884 885 885 (% style="color:blue" %)**AT Command: AT+RX2DR** 886 886 887 -(% border="1" style="background-color:#f2f2f2; width:525.222px" %) 896 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %) 888 888 |(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:232px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:130px" %)**Response** 889 889 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 890 890 OK ... ... @@ -903,7 +903,7 @@ 903 903 904 904 (% style="color:blue" %)**AT Command: AT+RX2FQ** 905 905 906 -(% border="1" style="background-color:#f2f2f2; width:587.222px" %) 915 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %) 907 907 |(% style="background-color:#4f81bd; color:white; width:183px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:160px" %)**Response** 908 908 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 909 909 OK ... ... @@ -924,7 +924,7 @@ 924 924 925 925 (% style="color:blue" %)**AT Command: AT+TXP** 926 926 927 -(% border="1" style="background-color:#f2f2f2; width:465.222px" %) 936 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %) 928 928 |(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:189px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:112px" %)**Response** 929 929 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 930 930 OK ... ... @@ -938,6 +938,7 @@ 938 938 If the downlink payload=22000100, it means setting the TXP to 0. 939 939 940 940 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 950 + 941 941 * **Example 2**: Downlink Payload: **22000000** ~/~/ Set AT+TXP=0. 942 942 943 943 (% style="display:none" %) (%%) ... ... @@ -950,7 +950,7 @@ 950 950 951 951 (% style="color:blue" %)**AT Command:AT+RSSI** 952 952 953 -(% border="1" style="background-color:#f2f2f2; width:557.222px" %) 963 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %) 954 954 |(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:289px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response** 955 955 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 956 956 OK ... ... @@ -966,7 +966,7 @@ 966 966 967 967 (% style="color:blue" %)**AT Command: AT+SNR** 968 968 969 -(% border="1" style="background-color:#f2f2f2; width:571.222px" %) 979 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %) 970 970 |(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:290px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:113px" %)**Response** 971 971 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 972 972 OK ... ... @@ -982,12 +982,12 @@ 982 982 983 983 (% style="color:blue" %)**AT Command: AT+PORT** 984 984 985 -(% border="1" style="background-color:#f2f2f2; width:5 00.222px" %)986 -|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width: 204px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:135px" %)**Response**987 -|(% style="width:157px" %)AT+PORT=?|(% style="width: 204px" %)Get the application port|(% style="width:135px" %)21(((995 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %) 996 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:193px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response** 997 +|(% style="width:157px" %)AT+PORT=?|(% style="width:193px" %)Get the application port|(% style="width:104px" %)21((( 988 988 OK 989 989 ))) 990 -|(% style="width:157px" %)AT+PORT=21|(% style="width: 204px" %)Set the application port|(% style="width:135px" %)OK1000 +|(% style="width:157px" %)AT+PORT=21|(% style="width:193px" %)Set the application port|(% style="width:104px" %)OK 991 991 992 992 (% style="color:blue" %)**Downlink Command: 0x23** 993 993 ... ... @@ -996,6 +996,7 @@ 996 996 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 997 997 998 998 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1009 + 999 999 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1000 1000 1001 1001 (% style="display:none" %) (%%) ... ... @@ -1008,12 +1008,12 @@ 1008 1008 1009 1009 (% style="color:blue" %)**AT Command: AT+CHS** 1010 1010 1011 -(% border="1" style="background-color:#f2f2f2; width: 603.222px" %)1012 -|(% style="background-color:#4f81bd; color:white; width:182px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:1 22px" %)**Response**1013 -|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:1 22px" %)0(((1022 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %) 1023 +|(% style="background-color:#4f81bd; color:white; width:182px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:101px" %)**Response** 1024 +|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:101px" %)0((( 1014 1014 OK 1015 1015 ))) 1016 -|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:1 22px" %)OK1027 +|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:101px" %)OK 1017 1017 1018 1018 (% style="display:none" %) (%%) 1019 1019 ... ... @@ -1025,7 +1025,7 @@ 1025 1025 1026 1026 (% style="color:blue" %)**AT Command: AT+CHE** 1027 1027 1028 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 1039 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 1029 1029 |(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response** 1030 1030 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 1031 1031 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 ... ... @@ -1041,6 +1041,7 @@ 1041 1041 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 1042 1042 1043 1043 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1055 + 1044 1044 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1045 1045 1046 1046 (% style="display:none" %) (%%) ... ... @@ -1053,7 +1053,7 @@ 1053 1053 1054 1054 (% style="color:blue" %)**AT Command: AT+RX1WTO** 1055 1055 1056 -(% border="1" style="background-color:#f2f2f2; width:460.222px" %) 1068 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %) 1057 1057 |(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:201px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:93px" %)**Response** 1058 1058 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 1059 1059 OK ... ... @@ -1081,12 +1081,12 @@ 1081 1081 1082 1082 (% style="color:blue" %)**AT Command: AT+RX2WTO** 1083 1083 1084 -(% border="1" style="background-color:#f2f2f2; width:4 97.222px" %)1085 -|(% style="background-color:#4f81bd; color:white; width:1 90px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:199px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response**1086 -|(% style="width:1 90px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((1096 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %) 1097 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:192px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:90px" %)**Response** 1098 +|(% style="width:162px" %)AT+RX2WTO=?|(% style="width:192px" %)Get RXwindows2 timeout|(% style="width:90px" %)7((( 1087 1087 OK 1088 1088 ))) 1089 -|(% style="width:1 90px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK1101 +|(% style="width:162px" %)AT+RX2WTO=20|(% style="width:192px" %)Set RXwindows2 timeout|(% style="width:90px" %)OK 1090 1090 1091 1091 (% style="display:none" %) (%%) 1092 1092 ... ... @@ -1098,12 +1098,12 @@ 1098 1098 1099 1099 (% style="color:blue" %)**AT Command: AT+DWELLT** 1100 1100 1101 -(% border="1" style="background-color:#f2f2f2; width:49 7.222px" %)1102 -|(% style="background-color:#4f81bd; color:white; width:1 83px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:179px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:131px" %)**Response**1103 -|(% style="width:1 83px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((1113 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %) 1114 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:157px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:95px" %)**Response** 1115 +|(% style="width:162px" %)AT+DWELLT=?|(% style="width:157px" %)Get uplinkdwelltime|(% style="width:95px" %)1((( 1104 1104 OK 1105 1105 ))) 1106 -|(% style="width:1 83px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK1118 +|(% style="width:162px" %)AT+DWELLT=0|(% style="width:157px" %)Set uplinkdwelltime|(% style="width:95px" %)OK 1107 1107 1108 1108 (% style="color:blue" %)**Downlink Command: 0x25** 1109 1109 ... ... @@ -1112,6 +1112,7 @@ 1112 1112 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1113 1113 1114 1114 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1127 + 1115 1115 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1116 1116 1117 1117 (% style="display:none" %) (%%) ... ... @@ -1125,20 +1125,26 @@ 1125 1125 (% style="color:blue" %)**RPL value:** 1126 1126 1127 1127 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1141 + 1128 1128 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 1143 + 1129 1129 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. 1145 + 1130 1130 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1147 + 1131 1131 * **AT+RPL=4: **Device will immediately reply message to Confirmed Data Down & MAC Command. Payload is 0x00 and requied response header for these two commands. 1132 1132 1133 1133 (% style="color:blue" %)**Case Analyes:** 1134 1134 1135 1135 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1153 + 1136 1136 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1155 + 1137 1137 * For Class C devices used in TTI, need to set AT+RPL=4 because TTI require immediately reply message to Confirmed Data Down & MAC Command. 1138 1138 1139 1139 (% style="color:blue" %)**AT Command: AT+RPL** 1140 1140 1141 -(% border="1" style="background-color:#f2f2f2; width:536.222px" %) 1160 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %) 1142 1142 |(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:263px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:109px" %)**Response** 1143 1143 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 1144 1144 OK ... ... @@ -1152,6 +1152,7 @@ 1152 1152 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1153 1153 1154 1154 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1174 + 1155 1155 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1156 1156 1157 1157 (% style="display:none" %) (%%) ... ... @@ -1161,7 +1161,7 @@ 1161 1161 1162 1162 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1163 1163 1164 -(% border="1" style="background-color:#f2f2f2; width:589px" %) 1184 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %) 1165 1165 |(% style="background-color:#4f81bd; color:white; width:227px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:300px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:87px" %)**Response** 1166 1166 |(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1167 1167 OK ... ... @@ -1183,6 +1183,7 @@ 1183 1183 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1184 1184 1185 1185 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1206 + 1186 1186 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1187 1187 1188 1188 (% style="display:none" %) (%%) ... ... @@ -1195,15 +1195,16 @@ 1195 1195 AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1196 1196 1197 1197 * ACK_Timout_1: Unit: min 1219 + 1198 1198 * ACK_Timout_2: Unit: min 1199 1199 1200 -(% border="1" style="background-color:#f2f2f2; width: 710.222px" %)1201 -|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width: 198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response**1222 +(% border="1" style="background-color:#f2f2f2; width:562px" %) 1223 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response** 1202 1202 |(% style="width:160px" %)((( 1203 1203 AT+DDETECT=1,1440,2880 1204 1204 1205 1205 value1 1206 -)))|(% style="width: 198px" %)Enable online detect|(% style="width:349px" %)(((1228 +)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)((( 1207 1207 1 1208 1208 1209 1209 OK ... ... @@ -1212,7 +1212,7 @@ 1212 1212 AT+DDETECT=1,?,2880 1213 1213 1214 1214 value2 1215 -)))|(% style="width: 198px" %)Online detection packet sending time|(% style="width:349px" %)(((1237 +)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)((( 1216 1216 1217 1217 1218 1218 OK ... ... @@ -1221,7 +1221,7 @@ 1221 1221 AT+DDETECT=1,1440,? 1222 1222 1223 1223 value3 1224 -)))|(% style="width: 198px" %)Process rejoin|(% style="width:349px" %)(((1246 +)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)((( 1225 1225 1226 1226 1227 1227 OK ... ... @@ -1234,11 +1234,15 @@ 1234 1234 If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1235 1235 1236 1236 * **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1237 -** 0x01 : Flag 1238 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1239 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1240 -** **Explain**: Enable Online Detect, if end node doesn't receive any downlink within ACK_Timout_1( 1440 minutes or 24 hours). End node will use confirmed uplink to send packets during ACK_Timout_1 (the 24th hour) to ACK_Timout_2 ( the 48th hour). If from the 24th to 48th hour, end node got an downlink from server, it will switch back to unconfirmed uplink. end node will restart ACK_Timout_1. If from the 24th to 48th hour, end node still not got any downlink, means device doesn't get ACK from server within last 48 hours. Device will process rejoin, rejoin request interval is AT+RJTDC period. For AU915/ US915, device will use the sub-band used for last join. 1241 1241 1260 + ** 0x01** : Flag 1261 + 1262 + **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours) 1263 + 1264 + **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours) 1265 + 1266 +* **Explain**: Enable Online Detect, if end node doesn't receive any downlink within ACK_Timout_1( 1440 minutes or 24 hours). End node will use confirmed uplink to send packets during ACK_Timout_1 (the 24th hour) to ACK_Timout_2 ( the 48th hour). If from the 24th to 48th hour, end node got an downlink from server, it will switch back to unconfirmed uplink. end node will restart ACK_Timout_1. If from the 24th to 48th hour, end node still not got any downlink, means device doesn't get ACK from server within last 48 hours. Device will process rejoin, rejoin request interval is AT+RJTDC period. For AU915/ US915, device will use the sub-band used for last join. 1267 + 1242 1242 (% style="display:none" %) (%%) 1243 1243 1244 1244 == 7.26 Request the server to send an ACK == ... ... @@ -1246,12 +1246,12 @@ 1246 1246 1247 1247 (% style="color:blue" %)**AT Command: AT+PNACKMD** 1248 1248 1249 -(% border="1" style="background-color:#f2f2f2; width: 536.222px" %)1250 -|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width: 263px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:109px" %)**Response**1251 -|(% style="width:160px" %)AT+PNACKMD=1|(% style="width: 263px" %)If the node uploads the ACK as confirm, it will request the server to send an ACK. If the server ack is not received, the node will upload the packets that have not received the ACK the next time it receives the ACK|(% style="width:109px" %)1(((1275 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %) 1276 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:627px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response** 1277 +|(% style="width:160px" %)AT+PNACKMD=1|(% style="width:627px" %)If the node uploads the ACK as confirm, it will request the server to send an ACK. If the server ack is not received, the node will upload the packets that have not received the ACK the next time it receives the ACK|(% style="width:100px" %)1((( 1252 1252 OK 1253 1253 ))) 1254 -|(% style="width:160px" %)AT+PNACKMD=0|(% style="width: 263px" %)off request the server to send an ACK|(% style="width:109px" %)(((1280 +|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:627px" %)off request the server to send an ACK|(% style="width:100px" %)((( 1255 1255 0 1256 1256 OK 1257 1257 ))) ... ... @@ -1263,14 +1263,14 @@ 1263 1263 1264 1264 (% style="color:blue" %)**AT Command: AT+RJTDC** 1265 1265 1266 -(% border="1" style="background-color:#f2f2f2; width: 727.222px" %)1267 -|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width: 227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Response**1268 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width: 227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((1292 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %) 1293 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:357px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:361px" %)**Response** 1294 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:357px" %)Show the ReJoin data transmission interval in min|(% style="width:361px" %)30((( 1269 1269 OK 1270 1270 1271 1271 the interval is 30 min 1272 1272 ))) 1273 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width: 227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((1299 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:357px" %)Set the ReJoin data transmission interval in min|(% style="width:361px" %)OK((( 1274 1274 Set the ReJoin data transmission interval to 60 min 1275 1275 ))) 1276 1276 ... ... @@ -1281,6 +1281,7 @@ 1281 1281 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1282 1282 1283 1283 * **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1310 + 1284 1284 * **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1285 1285 1286 1286 (% style="display:none" %) (%%)