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]]? ... ... @@ -34,13 +34,7 @@ 34 34 Dragino STM32 base hardware Firmware / LoRaWAN stack list 35 35 36 36 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %) 37 -|(% style="background-color:#4f81bd; color:white; width:187px" %)((( 38 -**Model** 39 -)))|(% style="background-color:#4f81bd; color:white; width:330px" %)((( 40 -**Description** 41 -)))|(% style="background-color:#4f81bd; color:white; width:445px" %)((( 42 -**Firmware Version <~-~-> Stack Version** 43 -))) 39 +|(% style="background-color:#4f81bd; color:white; width:187px" %)**Model**|(% style="background-color:#4f81bd; color:white; width:330px" %)**Description**|(% style="background-color:#4f81bd; color:white; width:445px" %)**Firmware Version <~-~-> Stack Version** 44 44 |(% style="width:187px" %)((( 45 45 [[LSN50-v1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/128-lsn50.html]], [[LSN50-V2>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/155-lsn50-v2.html]], 46 46 )))|(% style="width:330px" %)((( ... ... @@ -113,7 +113,7 @@ 113 113 114 114 (% style="color:blue" %)**AT Command: AT+TDC** 115 115 116 -(% border="1" style="background-color:#f2f2f2; width:727.222px" %) 112 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %) 117 117 |(% 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** 118 118 |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 119 119 OK ... ... @@ -135,6 +135,7 @@ 135 135 ))) 136 136 137 137 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 134 + 138 138 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 139 139 140 140 (% style="display:none" %) (%%) ... ... @@ -147,7 +147,7 @@ 147 147 148 148 (% style="color:blue" %)**AT Command: ATZ ~/~/ **(%%)Trig a reset of the MCU 149 149 150 -(% border="1" style="background-color:#f2f2f2; width:546px" %) 147 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %) 151 151 |(% 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** 152 152 |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)((( 153 153 Device reset and show booting info ... ... @@ -182,7 +182,7 @@ 182 182 183 183 (% style="color:blue" %)**AT Command: AT+FDR ~/~/ **(%%)Reset to factory default 184 184 185 -(% border="1" style="background-color:#f2f2f2; width:789px" %) 182 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %) 186 186 |(% 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** 187 187 |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)((( 188 188 Device reset to factory default parameters and show booting info ... ... @@ -217,7 +217,7 @@ 217 217 218 218 (% style="color:blue" %)**AT Command: AT+VER ~/~/ **(%%)Image Version and Frequency Band 219 219 220 -(% border="1" style="background-color:#f2f2f2; width:542px" %) 217 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %) 221 221 |(% 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** 222 222 |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)((( 223 223 1.3 EU868 ... ... @@ -279,7 +279,7 @@ 279 279 280 280 (% style="color:blue" %)**AT Command: AT+CFG ~/~/ **(%%)Print all configurations 281 281 282 -(% border="1" style="background-color:#f2f2f2; width:599.222px" %) 279 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %) 283 283 |(% 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** 284 284 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 285 285 AT+DEUI = XX XX XX XX XX XX XX XX ... ... @@ -302,12 +302,12 @@ 302 302 303 303 (% style="color:blue" %)**AT Command: AT+APPEUI** 304 304 305 -(% border="1" style="background-color:#f2f2f2; width:6 86.222px" %)306 -|(% 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**307 -|(% 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((( 308 308 OK 309 309 ))) 310 -|(% 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 311 311 312 312 (% style="display:none" %) (%%) 313 313 ... ... @@ -319,7 +319,7 @@ 319 319 320 320 (% style="color:blue" %)**AT Command: AT+APPKEY** 321 321 322 -(% border="1" style="background-color:#f2f2f2; width:976.222px" %) 319 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %) 323 323 |(% 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** 324 324 |(% 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((( 325 325 OK ... ... @@ -336,7 +336,7 @@ 336 336 337 337 (% style="color:blue" %)**AT Command: AT+APPSKEY** 338 338 339 -(% border="1" style="background-color:#f2f2f2; width:1040.22px" %) 336 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %) 340 340 |(% 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** 341 341 |(% 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((( 342 342 OK ... ... @@ -355,7 +355,7 @@ 355 355 356 356 (% style="color:blue" %)**AT Command: AT+DADDR** 357 357 358 -(% border="1" style="background-color:#f2f2f2; width:795.222px" %) 355 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %) 359 359 |(% 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** 360 360 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)((( 361 361 A8 40 41 FF ... ... @@ -374,7 +374,7 @@ 374 374 375 375 (% style="color:blue" %)**AT Command: AT+DEUI** 376 376 377 -(% border="1" style="background-color:#f2f2f2; width:1035.22px" %) 374 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %) 378 378 |(% 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** 379 379 |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55((( 380 380 OK ... ... @@ -393,7 +393,7 @@ 393 393 394 394 (% style="color:blue" %)**AT Command: AT+NWKID** 395 395 396 -(% border="1" style="background-color:#f2f2f2; width:448.222px" %) 393 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %) 397 397 |(% 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** 398 398 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff((( 399 399 OK ... ... @@ -410,7 +410,7 @@ 410 410 411 411 (% style="color:blue" %)**AT Command: AT+NWKSKEY** 412 412 413 -(% border="1" style="background-color:#f2f2f2; width:1017.22px" %) 410 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %) 414 414 |(% 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** 415 415 |(% 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((( 416 416 OK ... ... @@ -431,7 +431,7 @@ 431 431 432 432 (% style="color:blue" %)**AT Command: AT+CFM** 433 433 434 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 431 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 435 435 |(% 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** 436 436 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0((( 437 437 OK ... ... @@ -446,6 +446,7 @@ 446 446 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05. 447 447 448 448 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 446 + 449 449 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 450 450 451 451 (% style="display:none" %) (%%) ... ... @@ -455,13 +455,13 @@ 455 455 456 456 (% style="color:blue" %)**AT Command: AT+CFM** 457 457 458 -(% border="1" style="background-color:#f2f2f2; width: 710.222px" %)459 -|(% 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** 460 460 |(% style="width:160px" %)((( 461 461 AT+CFM=1,0,0 462 462 463 463 value1 464 -)))|(% style="width:198px" %)confirmed uplink|(% style="width: 349px" %)(((462 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)((( 465 465 1 466 466 467 467 OK ... ... @@ -470,7 +470,7 @@ 470 470 AT+CFM=0,?,0 471 471 472 472 value2 473 -)))|(% 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" %)((( 474 474 0~~7 475 475 476 476 OK ... ... @@ -479,7 +479,7 @@ 479 479 AT+CFM=0,0,1 480 480 481 481 value3 482 -)))|(% 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" %)((( 483 483 1 484 484 485 485 OK ... ... @@ -492,6 +492,7 @@ 492 492 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 493 493 494 494 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 493 + 495 495 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 496 496 497 497 (% style="display:none" %) (%%) ... ... @@ -504,7 +504,7 @@ 504 504 505 505 (% style="color:blue" %)**AT Command: AT+CFS** 506 506 507 -(% border="1" style="background-color:#f2f2f2; width:463px" %) 506 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %) 508 508 |(% 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** 509 509 |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0((( 510 510 OK ... ... @@ -520,7 +520,7 @@ 520 520 521 521 (% style="color:blue" %)**AT Command: AT+JOIN** 522 522 523 -(% border="1" style="background-color:#f2f2f2; width:647.222px" %) 522 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %) 524 524 |(% 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** 525 525 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network((( 526 526 OK ... ... @@ -537,7 +537,7 @@ 537 537 538 538 (% style="color:blue" %)**AT Command: AT+NJM** 539 539 540 -(% border="1" style="background-color:#f2f2f2; width:753.222px" %) 539 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %) 541 541 |(% 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** 542 542 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1((( 543 543 OK ... ... @@ -552,6 +552,7 @@ 552 552 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 553 553 554 554 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 554 + 555 555 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 556 556 557 557 (% style="display:none" %) (%%) ... ... @@ -564,9 +564,9 @@ 564 564 565 565 (% style="color:blue" %)**AT Command: AT+NJS** 566 566 567 -(% border="1" style="background-color:#f2f2f2; width:4 98.222px" %)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: 161px" %)**Response**569 -|(% 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((( 570 570 OK 571 571 ))) 572 572 ... ... @@ -580,9 +580,9 @@ 580 580 581 581 (% style="color:blue" %)**AT Command: AT+RECV** 582 582 583 -(% border="1" style="background-color:#f2f2f2; width:5 87.222px" %)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:1 50px" %)**Response**585 -|(% 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:((( 586 586 OK 587 587 ))) 588 588 ... ... @@ -596,7 +596,7 @@ 596 596 597 597 (% style="color:blue" %)**AT Command: AT+RECVB** 598 598 599 -(% border="1" style="background-color:#f2f2f2; width:793.222px" %) 599 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %) 600 600 |(% 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** 601 601 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010((( 602 602 OK ... ... @@ -612,7 +612,7 @@ 612 612 613 613 (% style="color:blue" %)**AT Command: AT+SEND** 614 614 615 -(% border="1" style="background-color:#f2f2f2; width:991.222px" %) 615 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %) 616 616 |(% 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** 617 617 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 618 618 While Error in format, return ... ... @@ -629,7 +629,7 @@ 629 629 630 630 (% style="color:blue" %)**AT Command: AT+SENDB** 631 631 632 -(% border="1" style="width:974px" %) 632 +(% border="1" cellspacing="4" style="width:974px" %) 633 633 |(% 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** 634 634 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK 635 635 |(% 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((( ... ... @@ -648,7 +648,7 @@ 648 648 649 649 (% style="color:blue" %)**AT Command: AT+ADR** 650 650 651 -(% border="1" style="width:643px" %) 651 +(% border="1" cellspacing="4" style="width:643px" %) 652 652 |(% 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** 653 653 |(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1((( 654 654 OK ... ... @@ -663,6 +663,7 @@ 663 663 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 664 664 665 665 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 666 + 666 666 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 667 667 668 668 (% style="display:none" %) (%%) ... ... @@ -675,12 +675,12 @@ 675 675 676 676 (% style="color:blue" %)**AT Command: AT+CLASS** 677 677 678 -(% border="1" style="background-color:#f2f2f2; width: 507.222px" %)679 -|(% 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**680 -|(% 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((( 681 681 OK 682 682 ))) 683 -|(% 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((( 684 684 685 685 ))) 686 686 ... ... @@ -699,7 +699,7 @@ 699 699 700 700 (% style="color:blue" %)**AT Command: AT+DCS** 701 701 702 -(% border="1" style="background-color:#f2f2f2; width:515.222px" %) 703 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %) 703 703 |(% 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** 704 704 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1((( 705 705 OK ... ... @@ -719,16 +719,17 @@ 719 719 **Notice:** 720 720 721 721 * 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 + 722 722 * 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/]] 723 723 724 724 (% style="color:blue" %)**AT Command: AT+DR** 725 725 726 -(% border="1" style="background-color:#f2f2f2; width:4 66.222px" %)727 -|(% 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**728 -|(% 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((( 729 729 OK 730 730 ))) 731 -|(% 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((( 732 732 733 733 ))) 734 734 ... ... @@ -737,6 +737,7 @@ 737 737 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 738 738 739 739 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 742 + 740 740 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 741 741 742 742 (% style="display:none" %) (%%) ... ... @@ -749,7 +749,7 @@ 749 749 750 750 (% style="color:blue" %)**AT Command: AT+FCD** 751 751 752 -(% border="1" style="background-color:#f2f2f2; width:693.222px" %) 755 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %) 753 753 |(% 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** 754 754 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 755 755 OK ... ... @@ -767,7 +767,7 @@ 767 767 768 768 (% style="color:blue" %)**AT Command: AT+FCU** 769 769 770 -(% border="1" style="background-color:#f2f2f2; width:534.222px" %) 773 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %) 771 771 |(% 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** 772 772 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 773 773 OK ... ... @@ -786,7 +786,7 @@ 786 786 787 787 (% style="color:blue" %)**AT Command: AT+JN1DL** 788 788 789 -(% border="1" style="background-color:#f2f2f2; width:537.222px" %) 792 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %) 790 790 |(% 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** 791 791 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 792 792 OK ... ... @@ -805,7 +805,7 @@ 805 805 806 806 (% style="color:blue" %)**AT Command: AT+JN2DL** 807 807 808 -(% border="1" style="background-color:#f2f2f2; width:538.222px" %) 811 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %) 809 809 |(% 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** 810 810 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 811 811 OK ... ... @@ -826,7 +826,7 @@ 826 826 827 827 (% style="color:blue" %)**AT Command: AT+PNM** 828 828 829 -(% border="1" style="background-color:#f2f2f2; width:667.222px" %) 832 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %) 830 830 |(% 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** 831 831 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 832 832 OK ... ... @@ -852,7 +852,7 @@ 852 852 853 853 (% style="color:blue" %)**AT Command: AT+RX1DL** 854 854 855 -(% border="1" style="background-color:#f2f2f2; width:408.222px" %) 858 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %) 856 856 |(% 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** 857 857 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 858 858 OK ... ... @@ -871,7 +871,7 @@ 871 871 872 872 (% style="color:blue" %)**AT Command: AT+RX2DL** 873 873 874 -(% border="1" style="background-color:#f2f2f2; width:481.222px" %) 877 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %) 875 875 |(% 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** 876 876 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 877 877 OK ... ... @@ -890,7 +890,7 @@ 890 890 891 891 (% style="color:blue" %)**AT Command: AT+RX2DR** 892 892 893 -(% border="1" style="background-color:#f2f2f2; width:525.222px" %) 896 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %) 894 894 |(% 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** 895 895 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 896 896 OK ... ... @@ -909,7 +909,7 @@ 909 909 910 910 (% style="color:blue" %)**AT Command: AT+RX2FQ** 911 911 912 -(% border="1" style="background-color:#f2f2f2; width:587.222px" %) 915 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %) 913 913 |(% 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** 914 914 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 915 915 OK ... ... @@ -930,7 +930,7 @@ 930 930 931 931 (% style="color:blue" %)**AT Command: AT+TXP** 932 932 933 -(% border="1" style="background-color:#f2f2f2; width:465.222px" %) 936 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %) 934 934 |(% 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** 935 935 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 936 936 OK ... ... @@ -944,6 +944,7 @@ 944 944 If the downlink payload=22000100, it means setting the TXP to 0. 945 945 946 946 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 950 + 947 947 * **Example 2**: Downlink Payload: **22000000** ~/~/ Set AT+TXP=0. 948 948 949 949 (% style="display:none" %) (%%) ... ... @@ -956,7 +956,7 @@ 956 956 957 957 (% style="color:blue" %)**AT Command:AT+RSSI** 958 958 959 -(% border="1" style="background-color:#f2f2f2; width:557.222px" %) 963 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %) 960 960 |(% 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** 961 961 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 962 962 OK ... ... @@ -972,7 +972,7 @@ 972 972 973 973 (% style="color:blue" %)**AT Command: AT+SNR** 974 974 975 -(% border="1" style="background-color:#f2f2f2; width:571.222px" %) 979 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %) 976 976 |(% 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** 977 977 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 978 978 OK ... ... @@ -988,12 +988,12 @@ 988 988 989 989 (% style="color:blue" %)**AT Command: AT+PORT** 990 990 991 -(% border="1" style="background-color:#f2f2f2; width:5 00.222px" %)992 -|(% 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**993 -|(% 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((( 994 994 OK 995 995 ))) 996 -|(% 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 997 997 998 998 (% style="color:blue" %)**Downlink Command: 0x23** 999 999 ... ... @@ -1002,6 +1002,7 @@ 1002 1002 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 1003 1003 1004 1004 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1009 + 1005 1005 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1006 1006 1007 1007 (% style="display:none" %) (%%) ... ... @@ -1014,12 +1014,12 @@ 1014 1014 1015 1015 (% style="color:blue" %)**AT Command: AT+CHS** 1016 1016 1017 -(% border="1" style="background-color:#f2f2f2; width: 603.222px" %)1018 -|(% 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**1019 -|(% 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((( 1020 1020 OK 1021 1021 ))) 1022 -|(% 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 1023 1023 1024 1024 (% style="display:none" %) (%%) 1025 1025 ... ... @@ -1031,7 +1031,7 @@ 1031 1031 1032 1032 (% style="color:blue" %)**AT Command: AT+CHE** 1033 1033 1034 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 1039 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 1035 1035 |(% 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** 1036 1036 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 1037 1037 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 ... ... @@ -1047,6 +1047,7 @@ 1047 1047 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 1048 1048 1049 1049 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1055 + 1050 1050 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1051 1051 1052 1052 (% style="display:none" %) (%%) ... ... @@ -1059,7 +1059,7 @@ 1059 1059 1060 1060 (% style="color:blue" %)**AT Command: AT+RX1WTO** 1061 1061 1062 -(% border="1" style="background-color:#f2f2f2; width:460.222px" %) 1068 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %) 1063 1063 |(% 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** 1064 1064 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 1065 1065 OK ... ... @@ -1087,12 +1087,12 @@ 1087 1087 1088 1088 (% style="color:blue" %)**AT Command: AT+RX2WTO** 1089 1089 1090 -(% border="1" style="background-color:#f2f2f2; width:4 97.222px" %)1091 -|(% 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**1092 -|(% 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((( 1093 1093 OK 1094 1094 ))) 1095 -|(% 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 1096 1096 1097 1097 (% style="display:none" %) (%%) 1098 1098 ... ... @@ -1104,12 +1104,12 @@ 1104 1104 1105 1105 (% style="color:blue" %)**AT Command: AT+DWELLT** 1106 1106 1107 -(% border="1" style="background-color:#f2f2f2; width:49 7.222px" %)1108 -|(% 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**1109 -|(% 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((( 1110 1110 OK 1111 1111 ))) 1112 -|(% 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 1113 1113 1114 1114 (% style="color:blue" %)**Downlink Command: 0x25** 1115 1115 ... ... @@ -1118,6 +1118,7 @@ 1118 1118 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1119 1119 1120 1120 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1127 + 1121 1121 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1122 1122 1123 1123 (% style="display:none" %) (%%) ... ... @@ -1131,20 +1131,26 @@ 1131 1131 (% style="color:blue" %)**RPL value:** 1132 1132 1133 1133 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1141 + 1134 1134 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 1143 + 1135 1135 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. 1145 + 1136 1136 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1147 + 1137 1137 * **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. 1138 1138 1139 1139 (% style="color:blue" %)**Case Analyes:** 1140 1140 1141 1141 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1153 + 1142 1142 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1155 + 1143 1143 * 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. 1144 1144 1145 1145 (% style="color:blue" %)**AT Command: AT+RPL** 1146 1146 1147 -(% border="1" style="background-color:#f2f2f2; width:536.222px" %) 1160 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %) 1148 1148 |(% 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** 1149 1149 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 1150 1150 OK ... ... @@ -1158,6 +1158,7 @@ 1158 1158 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1159 1159 1160 1160 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1174 + 1161 1161 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1162 1162 1163 1163 (% style="display:none" %) (%%) ... ... @@ -1167,7 +1167,7 @@ 1167 1167 1168 1168 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1169 1169 1170 -(% border="1" style="background-color:#f2f2f2; width:589px" %) 1184 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %) 1171 1171 |(% 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** 1172 1172 |(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1173 1173 OK ... ... @@ -1189,6 +1189,7 @@ 1189 1189 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1190 1190 1191 1191 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1206 + 1192 1192 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1193 1193 1194 1194 (% style="display:none" %) (%%) ... ... @@ -1201,15 +1201,16 @@ 1201 1201 AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1202 1202 1203 1203 * ACK_Timout_1: Unit: min 1219 + 1204 1204 * ACK_Timout_2: Unit: min 1205 1205 1206 -(% border="1" style="background-color:#f2f2f2; width: 710.222px" %)1207 -|(% 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** 1208 1208 |(% style="width:160px" %)((( 1209 1209 AT+DDETECT=1,1440,2880 1210 1210 1211 1211 value1 1212 -)))|(% style="width: 198px" %)Enable online detect|(% style="width:349px" %)(((1228 +)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)((( 1213 1213 1 1214 1214 1215 1215 OK ... ... @@ -1218,7 +1218,7 @@ 1218 1218 AT+DDETECT=1,?,2880 1219 1219 1220 1220 value2 1221 -)))|(% style="width: 198px" %)Online detection packet sending time|(% style="width:349px" %)(((1237 +)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)((( 1222 1222 1223 1223 1224 1224 OK ... ... @@ -1227,7 +1227,7 @@ 1227 1227 AT+DDETECT=1,1440,? 1228 1228 1229 1229 value3 1230 -)))|(% style="width: 198px" %)Process rejoin|(% style="width:349px" %)(((1246 +)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)((( 1231 1231 1232 1232 1233 1233 OK ... ... @@ -1240,11 +1240,15 @@ 1240 1240 If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1241 1241 1242 1242 * **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1243 -** 0x01 : Flag 1244 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1245 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1246 -** **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. 1247 1247 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 + 1248 1248 (% style="display:none" %) (%%) 1249 1249 1250 1250 == 7.26 Request the server to send an ACK == ... ... @@ -1252,12 +1252,12 @@ 1252 1252 1253 1253 (% style="color:blue" %)**AT Command: AT+PNACKMD** 1254 1254 1255 -(% border="1" style="background-color:#f2f2f2; width: 536.222px" %)1256 -|(% 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**1257 -|(% 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((( 1258 1258 OK 1259 1259 ))) 1260 -|(% 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" %)((( 1261 1261 0 1262 1262 OK 1263 1263 ))) ... ... @@ -1269,14 +1269,14 @@ 1269 1269 1270 1270 (% style="color:blue" %)**AT Command: AT+RJTDC** 1271 1271 1272 -(% border="1" style="background-color:#f2f2f2; width: 727.222px" %)1273 -|(% 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**1274 -|(% 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((( 1275 1275 OK 1276 1276 1277 1277 the interval is 30 min 1278 1278 ))) 1279 -|(% 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((( 1280 1280 Set the ReJoin data transmission interval to 60 min 1281 1281 ))) 1282 1282 ... ... @@ -1287,6 +1287,7 @@ 1287 1287 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1288 1288 1289 1289 * **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1310 + 1290 1290 * **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1291 1291 1292 1292 (% style="display:none" %) (%%)