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,8 +113,8 @@ 113 113 114 114 (% style="color:blue" %)**AT Command: AT+TDC** 115 115 116 -(% border="1" style="background-color:#f2f2f2; width:727.222px" %) 117 -|(% style="background-color:#4 F81BD;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 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %) 113 +|(% 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 120 120 ... ... @@ -125,8 +125,6 @@ 125 125 ))) 126 126 127 127 ((( 128 - 129 - 130 130 (% style="color:blue" %)**Downlink Command: 0x01** 131 131 132 132 Format: Command Code (0x01) followed by 3 bytes time value. ... ... @@ -137,6 +137,7 @@ 137 137 ))) 138 138 139 139 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 134 + 140 140 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 141 141 142 142 (% style="display:none" %) (%%) ... ... @@ -147,11 +147,10 @@ 147 147 Feature: Reboot End Node to perform a new OTAA or ABP Join. 148 148 149 149 150 -(% style="color:blue" %)**AT Command: ATZ** 145 +(% style="color:blue" %)**AT Command: ATZ ~/~/ **(%%)Trig a reset of the MCU 151 151 152 -(% border="1" style="background-color:#f2f2f2; width:546px" %) 153 -|=(% colspan="3" style="width: 543px;background-color:#D9E2F3;color:#0070C0" %)ATZ: Trig a reset of the MCU 154 -|(% style="color:#0070c0; width:157px" %)**Command Example**|(% style="color:#0070c0; width:92px" %)**Function**|(% style="color:#0070c0; width:294px" %)**Response** 147 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %) 148 +|(% 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** 155 155 |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)((( 156 156 Device reset and show booting info 157 157 ... ... @@ -183,11 +183,10 @@ 183 183 Feature: Reset the parameters to Factory Default, factory default value depends on the firmware settings, the OTAA and ABP keys will reserve after this command. 184 184 185 185 186 -(% style="color:blue" %)**AT Command: AT+FDR** 180 +(% style="color:blue" %)**AT Command: AT+FDR ~/~/ **(%%)Reset to factory default 187 187 188 -(% border="1" style="background-color:#f2f2f2; width:789px" %) 189 -|=(% colspan="3" style="width: 786px;background-color:#D9E2F3;color:#0070C0" %)Reset to factory default 190 -|(% style="color:#0070c0; width:154px" %)**Command Example**|(% style="color:#0070c0; width:175px" %)**Function**|(% style="color:#0070c0; width:456px" %)**Response** 182 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %) 183 +|(% 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** 191 191 |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)((( 192 192 Device reset to factory default parameters and show booting info 193 193 ... ... @@ -219,11 +219,10 @@ 219 219 Feature: Show firmware version. No downlink command yet. 220 220 221 221 222 -(% style="color:blue" %)**AT Command: AT+VER** 215 +(% style="color:blue" %)**AT Command: AT+VER ~/~/ **(%%)Image Version and Frequency Band 223 223 224 -(% border="1" style="background-color:#f2f2f2; width:542px" %) 225 -|=(% colspan="3" style="width: 539px;background-color:#D9E2F3;color:#0070C0" %)AT+VER: Image Version and Frequency Band 226 -|(% style="color:#0070c0; width:157px" %)**Command Example**|(% style="color:#0070c0; width:295px" %)**Function**|(% style="color:#0070c0; width:86px" %)**Response** 217 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %) 218 +|(% 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** 227 227 |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)((( 228 228 1.3 EU868 229 229 ... ... @@ -243,7 +243,7 @@ 243 243 ((( 244 244 245 245 246 -**xx: Software Type:** 238 +(% style="color:#037691" %)**xx: Software Type:** 247 247 ))) 248 248 249 249 * 0x00 01: LGT92 Version ... ... @@ -253,7 +253,7 @@ 253 253 ((( 254 254 255 255 256 -**yy: Frequency Band:** 248 +(% style="color:#037691" %)**yy: Frequency Band:** 257 257 ))) 258 258 259 259 * 0x01: EU868 ... ... @@ -270,7 +270,7 @@ 270 270 ((( 271 271 272 272 273 -**zz: Subband** 265 +(% style="color:#037691" %)**zz: Subband** 274 274 ))) 275 275 276 276 firmware version: v1.1.0 ~-~-> 110 ... ... @@ -282,11 +282,10 @@ 282 282 Feature: Show All configure. No downlink command yet. 283 283 284 284 285 -(% style="color:blue" %)**AT Command: AT+CFG** 277 +(% style="color:blue" %)**AT Command: AT+CFG ~/~/ **(%%)Print all configurations 286 286 287 -(% border="1" style="background-color:#f2f2f2; width:599.222px" %) 288 -|=(% colspan="3" style="width: 596px;background-color:#D9E2F3;color:#0070C0" %)AT+CFG: Print all configurations 289 -|(% style="color:#0070c0; width:160px" %)**Command Example**|(% style="color:#0070c0; width:154px" %)**Function**|(% style="color:#0070c0; width:280px" %)**Response** 279 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %) 280 +|(% 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** 290 290 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 291 291 AT+DEUI = XX XX XX XX XX XX XX XX 292 292 AT+DADDR=XXXXXXXX ... ... @@ -308,13 +308,12 @@ 308 308 309 309 (% style="color:blue" %)**AT Command: AT+APPEUI** 310 310 311 -(% border="1" style="background-color:#f2f2f2; width:686.222px" %) 312 -|=(% colspan="3" style="width: 683px;background-color:#D9E2F3;color:#0070C0" %)AT+APPEUI 313 -|(% style="color:#0070c0; width:305px" %)**Command Example**|(% style="color:#0070c0; width:186px" %)**Function**|(% style="color:#0070c0; width:191px" %)**Response** 314 -|(% 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((( 315 315 OK 316 316 ))) 317 -|(% 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 318 318 319 319 (% style="display:none" %) (%%) 320 320 ... ... @@ -326,9 +326,8 @@ 326 326 327 327 (% style="color:blue" %)**AT Command: AT+APPKEY** 328 328 329 -(% border="1" style="background-color:#f2f2f2; width:976.222px" %) 330 -|=(% colspan="3" style="width: 973px;background-color:#D9E2F3;color:#0070C0" %)AT+APPKEY 331 -|(% style="color:#0070c0; width:441px" %)**Command Example**|(% style="color:#0070c0; width:180px" %)**Function**|(% style="color:#0070c0; width:350px" %)**Response** 319 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %) 320 +|(% 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** 332 332 |(% 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((( 333 333 OK 334 334 ))) ... ... @@ -344,9 +344,8 @@ 344 344 345 345 (% style="color:blue" %)**AT Command: AT+APPSKEY** 346 346 347 -(% border="1" style="background-color:#f2f2f2; width:1040.22px" %) 348 -|=(% colspan="3" style="width: 1037px;background-color:#D9E2F3;color:#0070C0" %)AT+APPSKEY 349 -|(% style="color:#0070c0; width:451px" %)**Command Example**|(% style="color:#0070c0; width:231px" %)**Function**|(% style="color:#0070c0; width:354px" %)**Response** 336 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %) 337 +|(% 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** 350 350 |(% 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((( 351 351 OK 352 352 ))) ... ... @@ -364,9 +364,8 @@ 364 364 365 365 (% style="color:blue" %)**AT Command: AT+DADDR** 366 366 367 -(% border="1" style="background-color:#f2f2f2; width:795.222px" %) 368 -|=(% colspan="3" style="width: 792px;background-color:#D9E2F3;color:#0070C0" %)AT+DADDR 369 -|(% style="color:#0070c0; width:192px" %)**Command Example**|(% style="color:#0070c0; width:241px" %)**Function**|(% style="color:#0070c0; width:359px" %)**Response** 355 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %) 356 +|(% 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** 370 370 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)((( 371 371 A8 40 41 FF 372 372 ... ... @@ -384,9 +384,8 @@ 384 384 385 385 (% style="color:blue" %)**AT Command: AT+DEUI** 386 386 387 -(% border="1" style="background-color:#f2f2f2; width:1035.22px" %) 388 -|=(% colspan="3" style="width: 1032px;background-color:#D9E2F3;color:#0070C0" %)AT+DEUI 389 -|(% style="color:#0070c0; width:250px" %)**Command Example**|(% style="color:#0070c0; width:147px" %)**Function**|(% style="color:#0070c0; width:634px" %)**Response** 374 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %) 375 +|(% 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** 390 390 |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55((( 391 391 OK 392 392 ))) ... ... @@ -404,9 +404,8 @@ 404 404 405 405 (% style="color:blue" %)**AT Command: AT+NWKID** 406 406 407 -(% border="1" style="background-color:#f2f2f2; width:448.222px" %) 408 -|=(% colspan="3" style="width: 445px;background-color:#D9E2F3;color:#0070C0" %)AT+NWKID 409 -|(% style="color:#0070c0; width:191px" %)**Command Example**|(% style="color:#0070c0; width:153px" %)**Function**|(% style="color:#0070c0; width:101px" %)**Response** 393 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %) 394 +|(% 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** 410 410 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff((( 411 411 OK 412 412 ))) ... ... @@ -422,9 +422,8 @@ 422 422 423 423 (% style="color:blue" %)**AT Command: AT+NWKSKEY** 424 424 425 -(% border="1" style="background-color:#f2f2f2; width:1017.22px" %) 426 -|=(% colspan="3" style="width: 1014px;background-color:#D9E2F3;;color:#0070C0" %)AT+NWKSKEY 427 -|(% style="color:#0070c0; width:455px" %)**Command Example**|(% style="color:#0070c0; width:215px" %)**Function**|(% style="color:#0070c0; width:343px" %)**Response** 410 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %) 411 +|(% 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** 428 428 |(% 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((( 429 429 OK 430 430 ))) ... ... @@ -444,9 +444,8 @@ 444 444 445 445 (% style="color:blue" %)**AT Command: AT+CFM** 446 446 447 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 448 -|=(% colspan="3" style="width: 707px;background-color:#D9E2F3;color:#0070C0" %)AT+CFM 449 -|(% style="color:#0070c0; width:155px" %)**Command Example**|(% style="color:#0070c0; width:205px" %)**Function**|(% style="color:#0070c0; width:346px" %)**Response** 431 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 432 +|(% 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** 450 450 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0((( 451 451 OK 452 452 ))) ... ... @@ -460,6 +460,7 @@ 460 460 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05. 461 461 462 462 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 446 + 463 463 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 464 464 465 465 (% style="display:none" %) (%%) ... ... @@ -469,14 +469,13 @@ 469 469 470 470 (% style="color:blue" %)**AT Command: AT+CFM** 471 471 472 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 473 -|=(% colspan="3" style="width: 707px;background-color:#D9E2F3;color:#0070C0" %)AT+CFM 474 -|(% style="color:#0070c0; width:160px" %)**Command Example**|(% style="color:#0070c0; width:198px" %)**Function**|(% style="color:#0070c0; 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** 475 475 |(% style="width:160px" %)((( 476 476 AT+CFM=1,0,0 477 477 478 478 value1 479 -)))|(% style="width:198px" %)confirmed uplink|(% style="width: 349px" %)(((462 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)((( 480 480 1 481 481 482 482 OK ... ... @@ -485,7 +485,7 @@ 485 485 AT+CFM=0,?,0 486 486 487 487 value2 488 -)))|(% 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" %)((( 489 489 0~~7 490 490 491 491 OK ... ... @@ -494,7 +494,7 @@ 494 494 AT+CFM=0,0,1 495 495 496 496 value3 497 -)))|(% 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" %)((( 498 498 1 499 499 500 500 OK ... ... @@ -507,6 +507,7 @@ 507 507 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 508 508 509 509 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 493 + 510 510 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 511 511 512 512 (% style="display:none" %) (%%) ... ... @@ -519,9 +519,8 @@ 519 519 520 520 (% style="color:blue" %)**AT Command: AT+CFS** 521 521 522 -(% border="1" style="background-color:#f2f2f2; width:463px" %) 523 -|=(% colspan="3" style="width: 460px;background-color:#D9E2F3;color:#0070C0" %)AT+CFS 524 -|(% style="color:#0070c0; width:156px" %)**Command Example**|(% style="color:#0070c0; width:193px" %)**Function**|(% style="color:#0070c0; width:107px" %)**Response** 506 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %) 507 +|(% 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** 525 525 |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0((( 526 526 OK 527 527 ))) ... ... @@ -536,9 +536,8 @@ 536 536 537 537 (% style="color:blue" %)**AT Command: AT+JOIN** 538 538 539 -(% border="1" style="background-color:#f2f2f2; width:647.222px" %) 540 -|=(% colspan="3" style="width: 644px;background-color:#D9E2F3;color:#0070C0" %)AT+JOIN 541 -|(% style="color:#0070c0; width:163px" %)**Command Example**|(% style="color:#0070c0; width:147px" %)**Function**|(% style="color:#0070c0; width:334px" %)**Response** 522 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %) 523 +|(% 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** 542 542 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network((( 543 543 OK 544 544 While Error in format, return AT_BUSY_ERROR ... ... @@ -554,9 +554,8 @@ 554 554 555 555 (% style="color:blue" %)**AT Command: AT+NJM** 556 556 557 -(% border="1" style="background-color:#f2f2f2; width:753.222px" %) 558 -|=(% colspan="3" style="width: 750px;background-color:#D9E2F3;color:#0070C0" %)AT+NJM 559 -|(% style="color:#0070c0; width:162px" %)**Command Example**|(% style="color:#0070c0; width:227px" %)**Function**|(% style="color:#0070c0; width:361px" %)**Response** 539 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %) 540 +|(% 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** 560 560 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1((( 561 561 OK 562 562 ))) ... ... @@ -570,6 +570,7 @@ 570 570 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 571 571 572 572 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 554 + 573 573 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 574 574 575 575 (% style="display:none" %) (%%) ... ... @@ -582,10 +582,9 @@ 582 582 583 583 (% style="color:blue" %)**AT Command: AT+NJS** 584 584 585 -(% border="1" style="background-color:#f2f2f2; width:498.222px" %) 586 -|=(% colspan="3" style="width: 495px;background-color:#D9E2F3;color:#0070C0" %)AT+NJS 587 -|(% style="color:#0070c0; width:169px" %)**Command Example**|(% style="color:#0070c0; width:164px" %)**Function**|(% style="color:#0070c0; width:161px" %)**Response** 588 -|(% 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((( 589 589 OK 590 590 ))) 591 591 ... ... @@ -599,10 +599,9 @@ 599 599 600 600 (% style="color:blue" %)**AT Command: AT+RECV** 601 601 602 -(% border="1" style="background-color:#f2f2f2; width:587.222px" %) 603 -|=(% colspan="3" style="width: 584px;background-color:#D9E2F3;color:#0070C0" %)AT+RECV 604 -|(% style="color:#0070c0; width:161px" %)**Command Example**|(% style="color:#0070c0; width:272px" %)**Function**|(% style="color:#0070c0; width:150px" %)**Response** 605 -|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)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:((( 606 606 OK 607 607 ))) 608 608 ... ... @@ -616,9 +616,8 @@ 616 616 617 617 (% style="color:blue" %)**AT Command: AT+RECVB** 618 618 619 -(% border="1" style="background-color:#f2f2f2; width:793.222px" %) 620 -|=(% colspan="3" style="width: 790px;background-color:#D9E2F3;color:#0070C0" %)AT+RECVB 621 -|(% style="color:#0070c0; width:173px" %)**Command Example**|(% style="color:#0070c0; width:497px" %)**Function**|(% style="color:#0070c0; width:120px" %)**Response** 599 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %) 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** 622 622 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010((( 623 623 OK 624 624 ))) ... ... @@ -633,9 +633,8 @@ 633 633 634 634 (% style="color:blue" %)**AT Command: AT+SEND** 635 635 636 -(% border="1" style="background-color:#f2f2f2; width:991.222px" %) 637 -|=(% colspan="3" style="width: 988px;background-color:#D9E2F3;color:#0070C0" %)AT+SEND 638 -|(% style="color:#0070c0; width:201px" %)**Command Example**|(% style="color:#0070c0; width:340px" %)**Function**|(% style="color:#0070c0; width:446px" %)**Response** 615 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %) 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** 639 639 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 640 640 While Error in format, return 641 641 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED ... ... @@ -651,11 +651,10 @@ 651 651 652 652 (% style="color:blue" %)**AT Command: AT+SENDB** 653 653 654 -(% border="1" style="background-color:f2f2f2; width:1101px" %) 655 -|=(% colspan="3" style="width: 1098px;background-color:#D9E2F3;color:#0070C0" %)AT+SENDB 656 -|(% style="color:#0070c0; width:257px" %)**Command Example**|(% style="color:#0070c0; width:394px" %)**Function**|(% style="color:#0070c0; width:446px" %)**Response** 657 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK 658 -|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)While Error in format, return((( 632 +(% border="1" cellspacing="4" style="width:974px" %) 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 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK 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((( 659 659 AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 660 660 ))) 661 661 ... ... @@ -671,14 +671,13 @@ 671 671 672 672 (% style="color:blue" %)**AT Command: AT+ADR** 673 673 674 -(% border="1" style="background-color:f2f2f2; width:683.222px" %) 675 -|=(% colspan="3" style="width: 680px;background-color:#D9E2F3;color:#0070C0" %)AT+ADR 676 -|(% style="color:#0070c0; width:162px" %)**Command Example**|(% style="color:#0070c0; width:266px" %)**Function**|(% style="color:#0070c0; width:250px" %)**Response** 677 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1((( 651 +(% border="1" cellspacing="4" style="width:643px" %) 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 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1((( 678 678 OK 679 679 ))) 680 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:2 50px" %)OK681 -|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:2 50px" %)While Error in format, return(((656 +|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK 657 +|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)While Error in format, return((( 682 682 AT_PARAM_ERROR 683 683 ))) 684 684 ... ... @@ -687,6 +687,7 @@ 687 687 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 688 688 689 689 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 666 + 690 690 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 691 691 692 692 (% style="display:none" %) (%%) ... ... @@ -699,13 +699,12 @@ 699 699 700 700 (% style="color:blue" %)**AT Command: AT+CLASS** 701 701 702 -(% border="1" style="background-color:#f2f2f2; width:507.222px" %) 703 -|=(% colspan="3" style="width: 504px;background-color:#D9E2F3;color:#0070C0" %)AT+CLASS 704 -|(% style="color:#0070c0; width:163px" %)**Command Example**|(% style="color:#0070c0; width:166px" %)**Function**|(% style="color:#0070c0; width:175px" %)**Response** 705 -|(% 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((( 706 706 OK 707 707 ))) 708 -|(% 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((( 709 709 710 710 ))) 711 711 ... ... @@ -719,14 +719,13 @@ 719 719 == 7.3 Duty Cycle Setting == 720 720 721 721 722 -Feature: Get or Set the ETSI Duty Cycle setting** -0**=disable, **1**=enable - Only for testing.698 +Feature: Get or Set the ETSI Duty Cycle setting** : 0**=disable, **1**=enable - Only for testing. 723 723 724 724 725 725 (% style="color:blue" %)**AT Command: AT+DCS** 726 726 727 -(% border="1" style="background-color:#f2f2f2; width:515.222px" %) 728 -|=(% colspan="3" style="width: 512px;background-color:#D9E2F3;color:#0070C0" %)AT+DCS 729 -|(% style="color:#0070c0; width:165px" %)**Command Example**|(% style="color:#0070c0; width:239px" %)**Function**|(% style="color:#0070c0; width:107px" %)**Response** 703 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %) 704 +|(% 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** 730 730 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1((( 731 731 OK 732 732 ))) ... ... @@ -745,17 +745,17 @@ 745 745 **Notice:** 746 746 747 747 * 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 + 748 748 * 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/]] 749 749 750 750 (% style="color:blue" %)**AT Command: AT+DR** 751 751 752 -(% border="1" style="background-color:#f2f2f2; width:466.222px" %) 753 -|=(% colspan="3" style="width: 463px;background-color:#D9E2F3;color:#0070C0" %)AT+DR 754 -|(% style="color:#0070c0; width:156px" %)**Command Example**|(% style="color:#0070c0; width:167px" %)**Function**|(% style="color:#0070c0; width:140px" %)**Response** 755 -|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)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((( 756 756 OK 757 757 ))) 758 -|(% 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((( 759 759 760 760 ))) 761 761 ... ... @@ -764,6 +764,7 @@ 764 764 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 765 765 766 766 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 742 + 767 767 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 768 768 769 769 (% style="display:none" %) (%%) ... ... @@ -776,9 +776,8 @@ 776 776 777 777 (% style="color:blue" %)**AT Command: AT+FCD** 778 778 779 -(% border="1" style="background-color:#f2f2f2; width:693.222px" %) 780 -|=(% colspan="3" style="width: 690px;background-color:#D9E2F3;color:#0070C0" %)AT+FCD 781 -|(% style="color:#0070c0; width:162px" %)**Command Example**|(% style="color:#0070c0; width:258px" %)**Function**|(% style="color:#0070c0; width:269px" %)**Response** 755 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %) 756 +|(% 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** 782 782 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 783 783 OK 784 784 ))) ... ... @@ -795,9 +795,8 @@ 795 795 796 796 (% style="color:blue" %)**AT Command: AT+FCU** 797 797 798 -(% border="1" style="background-color:#f2f2f2; width:534.222px" %) 799 -|=(% colspan="3" style="width: 531px;background-color:#D9E2F3;color:#0070C0" %)AT+FCU 800 -|(% style="color:#0070c0; width:177px" %)**Command Example**|(% style="color:#0070c0; width:239px" %)**Function**|(% style="color:#0070c0; width:113px" %)**Response** 773 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %) 774 +|(% 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** 801 801 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 802 802 OK 803 803 ))) ... ... @@ -815,9 +815,8 @@ 815 815 816 816 (% style="color:blue" %)**AT Command: AT+JN1DL** 817 817 818 -(% border="1" style="background-color:#f2f2f2; width:537.222px" %) 819 -|=(% colspan="3" style="width: 534px;background-color:#D9E2F3;color:#0070C0" %)AT+JN1DL 820 -|(% style="color:#0070c0; width:164px" %)**Command Example**|(% style="color:#0070c0; width:229px" %)**Function**|(% style="color:#0070c0; width:140px" %)**Response** 792 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %) 793 +|(% 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** 821 821 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 822 822 OK 823 823 ))) ... ... @@ -835,9 +835,8 @@ 835 835 836 836 (% style="color:blue" %)**AT Command: AT+JN2DL** 837 837 838 -(% border="1" style="background-color:#f2f2f2; width:538.222px" %) 839 -|=(% colspan="3" style="width: 535px;background-color:#D9E2F3;color:#0070C0" %)AT+JN2DL 840 -|(% style="color:#0070c0; width:160px" %)**Command Example**|(% style="color:#0070c0; width:228px" %)**Function**|(% style="color:#0070c0; width:146px" %)**Response** 811 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %) 812 +|(% 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** 841 841 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 842 842 OK 843 843 ))) ... ... @@ -857,9 +857,8 @@ 857 857 858 858 (% style="color:blue" %)**AT Command: AT+PNM** 859 859 860 -(% border="1" style="background-color:#f2f2f2; width:667.222px" %) 861 -|=(% colspan="3" style="width: 664px;background-color:#D9E2F3;color:#0070C0" %)AT+PNM 862 -|(% style="color:#0070c0; width:166px" %)**Command Example**|(% style="color:#0070c0; width:225px" %)**Function**|(% style="color:#0070c0; width:272px" %)**Response** 832 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %) 833 +|(% 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** 863 863 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 864 864 OK 865 865 ))) ... ... @@ -884,9 +884,8 @@ 884 884 885 885 (% style="color:blue" %)**AT Command: AT+RX1DL** 886 886 887 -(% border="1" style="background-color:#f2f2f2; width:408.222px" %) 888 -|=(% colspan="3" style="width: 405px;background-color:#D9E2F3;color:#0070C0" %)AT+RX1DL 889 -|(% style="color:#0070c0; width:155px" %)**Command Example**|(% style="color:#0070c0; width:128px" %)**Function**|(% style="color:#0070c0; width:122px" %)**Response** 858 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %) 859 +|(% 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** 890 890 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 891 891 OK 892 892 ))) ... ... @@ -904,9 +904,8 @@ 904 904 905 905 (% style="color:blue" %)**AT Command: AT+RX2DL** 906 906 907 -(% border="1" style="background-color:#f2f2f2; width:481.222px" %) 908 -|=(% colspan="3" style="width: 478px;background-color:#D9E2F3;color:#0070C0" %)AT+RX2DL 909 -|(% style="color:#0070c0; width:175px" %)**Command Example**|(% style="color:#0070c0; width:152px" %)**Function**|(% style="color:#0070c0; width:150px" %)**Response** 877 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %) 878 +|(% 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** 910 910 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 911 911 OK 912 912 ))) ... ... @@ -924,9 +924,8 @@ 924 924 925 925 (% style="color:blue" %)**AT Command: AT+RX2DR** 926 926 927 -(% border="1" style="background-color:#f2f2f2; width:525.222px" %) 928 -|=(% colspan="3" style="width: 522px;background-color:#D9E2F3;color:#0070C0" %)AT+RX2DR 929 -|(% style="color:#0070c0; width:160px" %)**Command Example**|(% style="color:#0070c0; width:232px" %)**Function**|(% style="color:#0070c0; width:130px" %)**Response** 896 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %) 897 +|(% 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** 930 930 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 931 931 OK 932 932 ))) ... ... @@ -944,9 +944,8 @@ 944 944 945 945 (% style="color:blue" %)**AT Command: AT+RX2FQ** 946 946 947 -(% border="1" style="background-color:#f2f2f2; width:587.222px" %) 948 -|=(% colspan="3" style="width: 584px;background-color:#D9E2F3;color:#0070C0" %)AT+RX2FQ 949 -|(% style="color:#0070c0; width:183px" %)**Command Example**|(% style="color:#0070c0; width:240px" %)**Function**|(% style="color:#0070c0; width:160px" %)**Response** 915 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %) 916 +|(% 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** 950 950 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 951 951 OK 952 952 ))) ... ... @@ -966,9 +966,8 @@ 966 966 967 967 (% style="color:blue" %)**AT Command: AT+TXP** 968 968 969 -(% border="1" style="background-color:#f2f2f2; width:465.222px" %) 970 -|=(% colspan="3" style="width: 462px;background-color:#D9E2F3;color:#0070C0" %)AT+TXP 971 -|(% style="color:#0070c0; width:161px" %)**Command Example**|(% style="color:#0070c0; width:189px" %)**Function**|(% style="color:#0070c0; width:112px" %)**Response** 936 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %) 937 +|(% 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** 972 972 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 973 973 OK 974 974 ))) ... ... @@ -981,6 +981,7 @@ 981 981 If the downlink payload=22000100, it means setting the TXP to 0. 982 982 983 983 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 950 + 984 984 * **Example 2**: Downlink Payload: **22000000** ~/~/ Set AT+TXP=0. 985 985 986 986 (% style="display:none" %) (%%) ... ... @@ -993,9 +993,8 @@ 993 993 994 994 (% style="color:blue" %)**AT Command:AT+RSSI** 995 995 996 -(% border="1" style="background-color:#f2f2f2; width:557.222px" %) 997 -|=(% colspan="3" style="width: 554px;background-color:#D9E2F3;color:#0070C0" %)AT+RSSI 998 -|(% style="color:#0070c0; width:164px" %)**Command Example**|(% style="color:#0070c0; width:289px" %)**Function**|(% style="color:#0070c0; width:100px" %)**Response** 963 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %) 964 +|(% 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** 999 999 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 1000 1000 OK 1001 1001 ))) ... ... @@ -1010,9 +1010,8 @@ 1010 1010 1011 1011 (% style="color:blue" %)**AT Command: AT+SNR** 1012 1012 1013 -(% border="1" style="background-color:#f2f2f2; width:571.222px" %) 1014 -|=(% colspan="3" style="width: 568px;background-color:#D9E2F3;color:#0070C0" %)AT+SNR 1015 -|(% style="color:#0070c0; width:164px" %)**Command Example**|(% style="color:#0070c0; width:290px" %)**Function**|(% style="color:#0070c0; width:113px" %)**Response** 979 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %) 980 +|(% 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** 1016 1016 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 1017 1017 OK 1018 1018 ))) ... ... @@ -1027,13 +1027,12 @@ 1027 1027 1028 1028 (% style="color:blue" %)**AT Command: AT+PORT** 1029 1029 1030 -(% border="1" style="background-color:#f2f2f2; width:500.222px" %) 1031 -|=(% colspan="3" style="width: 497px;background-color:#D9E2F3;color:#0070C0" %)AT+PORT 1032 -|(% style="color:#0070c0; width:157px" %)**Command Example**|(% style="color:#0070c0; width:204px" %)**Function**|(% style="color:#0070c0; width:135px" %)**Response** 1033 -|(% 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((( 1034 1034 OK 1035 1035 ))) 1036 -|(% 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 1037 1037 1038 1038 (% style="color:blue" %)**Downlink Command: 0x23** 1039 1039 ... ... @@ -1042,6 +1042,7 @@ 1042 1042 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 1043 1043 1044 1044 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1009 + 1045 1045 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1046 1046 1047 1047 (% style="display:none" %) (%%) ... ... @@ -1054,13 +1054,12 @@ 1054 1054 1055 1055 (% style="color:blue" %)**AT Command: AT+CHS** 1056 1056 1057 -(% border="1" style="background-color:#f2f2f2; width:603.222px" %) 1058 -|=(% colspan="3" style="width: 600px;background-color:#D9E2F3;color:#0070C0" %)AT+CHS 1059 -|(% style="color:#0070c0; width:182px" %)**Command Example**|(% style="color:#0070c0; width:295px" %)**Function**|(% style="color:#0070c0; width:122px" %)**Response** 1060 -|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)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((( 1061 1061 OK 1062 1062 ))) 1063 -|(% 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 1064 1064 1065 1065 (% style="display:none" %) (%%) 1066 1066 ... ... @@ -1072,9 +1072,8 @@ 1072 1072 1073 1073 (% style="color:blue" %)**AT Command: AT+CHE** 1074 1074 1075 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 1076 -|=(% colspan="3" style="width: 707px;background-color:#D9E2F3;color:#0070C0" %)AT+CHE 1077 -|(% style="color:#0070c0; width:160px" %)**Command Example**|(% style="color:#0070c0; width:198px" %)**Function**|(% style="color:#0070c0; width:349px" %)**Response** 1039 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 1040 +|(% 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** 1078 1078 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 1079 1079 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 1080 1080 ... ... @@ -1089,6 +1089,7 @@ 1089 1089 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 1090 1090 1091 1091 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1055 + 1092 1092 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1093 1093 1094 1094 (% style="display:none" %) (%%) ... ... @@ -1101,9 +1101,8 @@ 1101 1101 1102 1102 (% style="color:blue" %)**AT Command: AT+RX1WTO** 1103 1103 1104 -(% border="1" style="background-color:#f2f2f2; width:460.222px" %) 1105 -|=(% colspan="3" style="width: 457px;background-color:#D9E2F3;color:#0070C0" %)AT+ RX1WTO 1106 -|(% style="color:#0070c0; width:163px" %)**Command Example**|(% style="color:#0070c0; width:201px" %)**Function**|(% style="color:#0070c0; width:93px" %)**Response** 1068 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %) 1069 +|(% 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** 1107 1107 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 1108 1108 OK 1109 1109 ))) ... ... @@ -1130,13 +1130,12 @@ 1130 1130 1131 1131 (% style="color:blue" %)**AT Command: AT+RX2WTO** 1132 1132 1133 -(% border="1" style="background-color:#f2f2f2; width:497.222px" %) 1134 -|=(% colspan="3" style="width: 494px;background-color:#D9E2F3;color:#0070C0" %)AT+ RX2WTO 1135 -|(% style="color:#0070c0; width:190px" %)**Command Example**|(% style="color:#0070c0; width:199px" %)**Function**|(% style="color:#0070c0; width:104px" %)**Response** 1136 -|(% style="width:190px" %)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((( 1137 1137 OK 1138 1138 ))) 1139 -|(% 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 1140 1140 1141 1141 (% style="display:none" %) (%%) 1142 1142 ... ... @@ -1148,13 +1148,12 @@ 1148 1148 1149 1149 (% style="color:blue" %)**AT Command: AT+DWELLT** 1150 1150 1151 -(% border="1" style="background-color:#f2f2f2; width:497.222px" %) 1152 -|=(% colspan="3" style="width: 494px;background-color:#D9E2F3;color:#0070C0" %)AT+DWELLT 1153 -|(% style="color:#0070c0; width:183px" %)**Command Example**|(% style="color:#0070c0; width:179px" %)**Function**|(% style="color:#0070c0; width:131px" %)**Response** 1154 -|(% style="width:183px" %)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((( 1155 1155 OK 1156 1156 ))) 1157 -|(% 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 1158 1158 1159 1159 (% style="color:blue" %)**Downlink Command: 0x25** 1160 1160 ... ... @@ -1163,6 +1163,7 @@ 1163 1163 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1164 1164 1165 1165 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1127 + 1166 1166 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1167 1167 1168 1168 (% style="display:none" %) (%%) ... ... @@ -1176,22 +1176,27 @@ 1176 1176 (% style="color:blue" %)**RPL value:** 1177 1177 1178 1178 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1141 + 1179 1179 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 1143 + 1180 1180 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. 1145 + 1181 1181 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1147 + 1182 1182 * **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. 1183 1183 1184 1184 (% style="color:blue" %)**Case Analyes:** 1185 1185 1186 1186 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1153 + 1187 1187 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1155 + 1188 1188 * 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. 1189 1189 1190 1190 (% style="color:blue" %)**AT Command: AT+RPL** 1191 1191 1192 -(% border="1" style="background-color:#f2f2f2; width:536.222px" %) 1193 -|=(% colspan="3" style="width: 533px;background-color:#D9E2F3;color:#0070C0" %)AT+RPL 1194 -|(% style="color:#0070c0; width:160px" %)**Command Example**|(% style="color:#0070c0; width:263px" %)**Function**|(% style="color:#0070c0; width:109px" %)**Response** 1160 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %) 1161 +|(% 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** 1195 1195 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 1196 1196 OK 1197 1197 ))) ... ... @@ -1204,6 +1204,7 @@ 1204 1204 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1205 1205 1206 1206 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1174 + 1207 1207 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1208 1208 1209 1209 (% style="display:none" %) (%%) ... ... @@ -1213,13 +1213,12 @@ 1213 1213 1214 1214 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1215 1215 1216 -(% border="1" style="background-color:#f2f2f2; width:589px" %) 1217 -|=(% colspan="3" style="width: 586px;background-color:#D9E2F3;color:#0070C0" %)AT+**SETMAXNBTRANS** 1218 -|(% style="color:#0070c0; width:227px" %)**Command Example**|(% style="color:#0070c0; width:300px" %)**Function**|(% style="color:#0070c0; width:87px" %)**Response** 1219 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1184 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %) 1185 +|(% 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** 1186 +|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1220 1220 OK 1221 1221 ))) 1222 -|(% style="width:227px" %) **AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((1189 +|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)((( 1223 1223 value2: 0: uplink fcnt doesn't change for each NBTrans; 1224 1224 1225 1225 1: uplink fcnt increase by 1 for each NBTrans. ... ... @@ -1236,6 +1236,7 @@ 1236 1236 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1237 1237 1238 1238 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1206 + 1239 1239 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1240 1240 1241 1241 (% style="display:none" %) (%%) ... ... @@ -1248,16 +1248,16 @@ 1248 1248 AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1249 1249 1250 1250 * ACK_Timout_1: Unit: min 1219 + 1251 1251 * ACK_Timout_2: Unit: min 1252 1252 1253 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 1254 -|=(% colspan="3" style="width: 707px;background-color:#D9E2F3;color:#0070C0" %)AT+**DDETECT** 1255 -|(% style="color:#0070c0; width:160px" %)**Command Example**|(% style="color:#0070c0; width:198px" %)**Function**|(% style="color:#0070c0; 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** 1256 1256 |(% style="width:160px" %)((( 1257 1257 AT+DDETECT=1,1440,2880 1258 1258 1259 1259 value1 1260 -)))|(% style="width: 198px" %)Enable online detect|(% style="width:349px" %)(((1228 +)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)((( 1261 1261 1 1262 1262 1263 1263 OK ... ... @@ -1266,7 +1266,7 @@ 1266 1266 AT+DDETECT=1,?,2880 1267 1267 1268 1268 value2 1269 -)))|(% style="width: 198px" %)Online detection packet sending time|(% style="width:349px" %)(((1237 +)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)((( 1270 1270 1271 1271 1272 1272 OK ... ... @@ -1275,7 +1275,7 @@ 1275 1275 AT+DDETECT=1,1440,? 1276 1276 1277 1277 value3 1278 -)))|(% style="width: 198px" %)Process rejoin|(% style="width:349px" %)(((1246 +)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)((( 1279 1279 1280 1280 1281 1281 OK ... ... @@ -1288,11 +1288,15 @@ 1288 1288 If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1289 1289 1290 1290 * **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1291 -** 0x01 : Flag 1292 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1293 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1294 -** **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. 1295 1295 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 + 1296 1296 (% style="display:none" %) (%%) 1297 1297 1298 1298 == 7.26 Request the server to send an ACK == ... ... @@ -1300,13 +1300,12 @@ 1300 1300 1301 1301 (% style="color:blue" %)**AT Command: AT+PNACKMD** 1302 1302 1303 -(% border="1" style="background-color:#f2f2f2; width:536.222px" %) 1304 -|=(% colspan="3" style="width: 533px;background-color:#D9E2F3;color:#0070C0" %)**AT+PNACKMD** 1305 -|(% style="color:#0070c0; width:160px" %)**Command Example**|(% style="color:#0070c0; width:263px" %)**Function**|(% style="color:#0070c0; width:109px" %)**Response** 1306 -|(% 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((( 1307 1307 OK 1308 1308 ))) 1309 -|(% 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" %)((( 1310 1310 0 1311 1311 OK 1312 1312 ))) ... ... @@ -1318,15 +1318,14 @@ 1318 1318 1319 1319 (% style="color:blue" %)**AT Command: AT+RJTDC** 1320 1320 1321 -(% border="1" style="background-color:#f2f2f2; width:727.222px" %) 1322 -|=(% colspan="3" style="width: 724px;background-color:#D9E2F3;color:#0070C0" %)AT+RJTDC 1323 -|(% style="color:#0070c0; width:165px" %)**Command Example**|(% style="color:#0070c0; width:227px" %)**Function**|(% style="color:#0070c0; width:329px" %)**Response** 1324 -|(% 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((( 1325 1325 OK 1326 1326 1327 1327 the interval is 30 min 1328 1328 ))) 1329 -|(% 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((( 1330 1330 Set the ReJoin data transmission interval to 60 min 1331 1331 ))) 1332 1332 ... ... @@ -1336,9 +1336,10 @@ 1336 1336 1337 1337 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1338 1338 1339 -* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1340 -* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1309 +* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1341 1341 1311 +* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1312 + 1342 1342 (% style="display:none" %) (%%) 1343 1343 1344 1344 = 8. AT Commands Combination = ... ... @@ -1346,9 +1346,9 @@ 1346 1346 == 8.1 Set a fix RX2DR for downlink window == 1347 1347 1348 1348 1349 -* (% style="color:blue" %)**AT+ADR=0 **(%%) **~ -~->** Disable ADR first1320 +* (% style="color:blue" %)**AT+ADR=0 **(%%) **~/~/** Disable ADR first 1350 1350 1351 -* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~ -~->** Set xxxx to your wanted DataRate1322 +* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~/~/** Set xxxx to your wanted DataRate 1352 1352 1353 1353 (% style="display:none" %) (%%) 1354 1354