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
-
... ... @@ -14,10 +14,9 @@ 14 14 15 15 ((( 16 16 **This page shows the common commands since Dragino LoRaWAN stack DR-LWS-005. Make sure the end node support stack higher than DR-LWS-005 before checking this page.** 17 - 18 - 19 19 ))) 20 20 19 + 21 21 = 2. How to use AT Commands or Downlink command = 22 22 23 23 ... ... @@ -27,20 +27,19 @@ 27 27 ** 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]]? 28 28 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 29 29 29 +(% style="display:none" %) (%%) 30 30 31 - 32 32 = 3. Support End Node and firmware version = 33 33 34 34 35 -(% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 36 -|=(% colspan="3" style="width: 963px;" %)((( 37 37 Dragino STM32 base hardware Firmware / LoRaWAN stack list 38 -))) 39 -|(% style="width:187px" %)((( 35 + 36 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %) 37 +|(% style="background-color:#4f81bd; color:white; width:187px" %)((( 40 40 **Model** 41 -)))|(% style="width:330px" %)((( 39 +)))|(% style="background-color:#4f81bd; color:white; width:330px" %)((( 42 42 **Description** 43 -)))|(% style="width:445px" %)((( 41 +)))|(% style="background-color:#4f81bd; color:white; width:445px" %)((( 44 44 **Firmware Version <~-~-> Stack Version** 45 45 ))) 46 46 |(% style="width:187px" %)((( ... ... @@ -103,6 +103,7 @@ 103 103 ))) 104 104 ))) 105 105 104 +(% style="display:none" %) (%%) 106 106 107 107 = 4. System Management Commands = 108 108 ... ... @@ -114,9 +114,8 @@ 114 114 115 115 (% style="color:blue" %)**AT Command: AT+TDC** 116 116 117 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 118 -|=(% colspan="3" style="width: 724px;" %)AT+TDC 119 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 116 +(% border="1" style="background-color:#f2f2f2; width:727.222px" %) 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** 120 120 |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 121 121 OK 122 122 ... ... @@ -141,6 +141,8 @@ 141 141 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 142 142 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 143 143 142 +(% style="display:none" %) (%%) 143 + 144 144 == 4.2 Reboot End Node == 145 145 146 146 ... ... @@ -149,9 +149,9 @@ 149 149 150 150 (% style="color:blue" %)**AT Command: ATZ** 151 151 152 -(% border="1" style="background-color:#fff fcc;color:green;width:546px" %)153 -|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU 154 -|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response** 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** 155 155 |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)((( 156 156 Device reset and show booting info 157 157 ... ... @@ -173,12 +173,10 @@ 173 173 ))) 174 174 175 175 ((( 176 -If the downlink payload=**04FF**, the end node will reboot. 177 - 178 - 179 - 176 +If the downlink payload=**04FF**, the end node will reboot. 180 180 ))) 181 181 179 + 182 182 == 4.3 Reset to factory Default == 183 183 184 184 ... ... @@ -187,9 +187,9 @@ 187 187 188 188 (% style="color:blue" %)**AT Command: AT+FDR** 189 189 190 -(% border="1" style="background-color:#fff fcc;color:green;width:789px" %)191 -|=(% colspan="3" style="width: 786px;" %)Reset to factory default 192 -|(% style="width:154px" %)**Command Example**|(% style="width:175px" %)**Function**|(% style="width:456px" %)**Response** 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** 193 193 |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)((( 194 194 Device reset to factory default parameters and show booting info 195 195 ... ... @@ -215,7 +215,6 @@ 215 215 ))) 216 216 217 217 218 - 219 219 == 4.4 Show Firmware Version == 220 220 221 221 ... ... @@ -224,9 +224,9 @@ 224 224 225 225 (% style="color:blue" %)**AT Command: AT+VER** 226 226 227 -(% border="1" style="background-color:#fff fcc;color:green;width:542px" %)228 -|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band 229 -|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response** 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** 230 230 |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)((( 231 231 1.3 EU868 232 232 ... ... @@ -246,7 +246,6 @@ 246 246 ((( 247 247 248 248 249 - 250 250 **xx: Software Type:** 251 251 ))) 252 252 ... ... @@ -280,7 +280,6 @@ 280 280 firmware version: v1.1.0 ~-~-> 110 281 281 282 282 283 - 284 284 == 4.5 Show System Configure == 285 285 286 286 ... ... @@ -289,23 +289,20 @@ 289 289 290 290 (% style="color:blue" %)**AT Command: AT+CFG** 291 291 292 -(% border="1" style="background-color:#fff fcc;color:green;width:599.222px" %)293 -|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations 294 -|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response** 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** 295 295 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 296 296 AT+DEUI = XX XX XX XX XX XX XX XX 297 - 298 298 AT+DADDR=XXXXXXXX 299 - 300 300 ………. 301 - 302 302 AT+RX2WTO=X 303 - 304 304 AT+CHS=868100000 305 - 306 306 OK 307 307 ))) 308 308 299 +(% style="display:none" %) (%%) 300 + 309 309 = 5. Keys, IDs and EUIs management = 310 310 311 311 == 5.1 Application EUI == ... ... @@ -316,14 +316,16 @@ 316 316 317 317 (% style="color:blue" %)**AT Command: AT+APPEUI** 318 318 319 -(% border="1" style="background-color:#fff fcc;color:green;width:686.222px" %)320 -|=(% colspan="3" style="width: 683px;" %)AT+APPEUI 321 -|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response** 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** 322 322 |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00((( 323 323 OK 324 324 ))) 325 325 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 326 326 319 +(% style="display:none" %) (%%) 320 + 327 327 == 5.2 Application Key == 328 328 329 329 ... ... @@ -332,14 +332,16 @@ 332 332 333 333 (% style="color:blue" %)**AT Command: AT+APPKEY** 334 334 335 -(% border="1" style="background-color:#fff fcc;color:green;width:976.222px" %)336 -|=(% colspan="3" style="width: 973px;" %)AT+APPKEY 337 -|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response** 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** 338 338 |(% 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((( 339 339 OK 340 340 ))) 341 341 |(% style="width:441px" %)AT+APPKEY=00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35|(% style="width:180px" %)Set the Application Key|(% style="width:350px" %)OK 342 342 337 +(% style="display:none" %) (%%) 338 + 343 343 == 5.3 Application Session Key == 344 344 345 345 ... ... @@ -348,9 +348,9 @@ 348 348 349 349 (% style="color:blue" %)**AT Command: AT+APPSKEY** 350 350 351 -(% border="1" style="background-color:#fff fcc;color:green;width:1040.22px" %)352 -|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY 353 -|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response** 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** 354 354 |(% 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((( 355 355 OK 356 356 ))) ... ... @@ -358,6 +358,8 @@ 358 358 OK 359 359 ))) 360 360 357 +(% style="display:none" %) (%%) 358 + 361 361 == 5.4 Device Address == 362 362 363 363 ... ... @@ -366,9 +366,9 @@ 366 366 367 367 (% style="color:blue" %)**AT Command: AT+DADDR** 368 368 369 -(% border="1" style="background-color:#fff fcc;color:green;width:795.222px" %)370 -|=(% colspan="3" style="width: 792px;" %)AT+DADDR 371 -|(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response** 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** 372 372 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)((( 373 373 A8 40 41 FF 374 374 ... ... @@ -376,6 +376,8 @@ 376 376 ))) 377 377 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 378 378 377 +(% style="display:none" %) (%%) 378 + 379 379 == 5.5 Device EUI == 380 380 381 381 ... ... @@ -384,9 +384,9 @@ 384 384 385 385 (% style="color:blue" %)**AT Command: AT+DEUI** 386 386 387 -(% border="1" style="background-color:#fff fcc;color:green;width:1035.22px" %)388 -|=(% colspan="3" style="width: 1032px;" %)AT+DEUI 389 -|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response** 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** 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 ))) ... ... @@ -394,6 +394,8 @@ 394 394 OK 395 395 ))) 396 396 397 +(% style="display:none" %) (%%) 398 + 397 397 == 5.6 Network ID == 398 398 399 399 ... ... @@ -402,14 +402,16 @@ 402 402 403 403 (% style="color:blue" %)**AT Command: AT+NWKID** 404 404 405 -(% border="1" style="background-color:#fff fcc;color:green;width:448.222px" %)406 -|=(% colspan="3" style="width: 445px;" %)AT+NWKID 407 -|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response** 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** 408 408 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff((( 409 409 OK 410 410 ))) 411 411 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK 412 412 415 +(% style="display:none" %) (%%) 416 + 413 413 == 5.7 Network Session Key == 414 414 415 415 ... ... @@ -418,14 +418,16 @@ 418 418 419 419 (% style="color:blue" %)**AT Command: AT+NWKSKEY** 420 420 421 -(% border="1" style="background-color:#fff fcc;color:green;width:1017.22px" %)422 -|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY 423 -|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response** 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** 424 424 |(% 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((( 425 425 OK 426 426 ))) 427 427 |(% style="width:455px" %)AT+NWKSKEY=A8 40 41 FF FF 12 34 56 00 01 02 04 05 06 06 07|(% style="width:215px" %)Set the Network Session Key.|(% style="width:343px" %)OK 428 428 433 +(% style="display:none" %) (%%) 434 + 429 429 = 6. Joining and sending date on LoRaWAN network = 430 430 431 431 == 6.1 Confirm Mode == ... ... @@ -438,9 +438,9 @@ 438 438 439 439 (% style="color:blue" %)**AT Command: AT+CFM** 440 440 441 -(% border="1" style="background-color:#fff fcc;color:green;width:710.222px" %)442 -|=(% colspan="3" style="width: 707px;" %)AT+CFM 443 -|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response** 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** 444 444 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0((( 445 445 OK 446 446 ))) ... ... @@ -456,14 +456,16 @@ 456 456 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 457 457 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 458 458 465 +(% style="display:none" %) (%%) 466 + 459 459 === 6.1.2 AT+CFM command since DR-LWS007 software stack === 460 460 461 461 462 462 (% style="color:blue" %)**AT Command: AT+CFM** 463 463 464 -(% border="1" style="background-color:#fff fcc;color:green;width:710.222px" %)465 -|=(% colspan="3" style="width: 707px;" %)AT+CFM 466 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 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** 467 467 |(% style="width:160px" %)((( 468 468 AT+CFM=1,0,0 469 469 ... ... @@ -501,6 +501,8 @@ 501 501 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 502 502 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 503 503 512 +(% style="display:none" %) (%%) 513 + 504 504 == 6.2 Confirm Status == 505 505 506 506 ... ... @@ -509,13 +509,15 @@ 509 509 510 510 (% style="color:blue" %)**AT Command: AT+CFS** 511 511 512 -(% border="1" style="background-color:#fff fcc;color:green;width:534.222px" %)513 -|=(% colspan="3" style="width: 531px;" %)AT+CFS514 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:17 8px" %)**Response**515 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:17 8px" %)0(((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** 525 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0((( 516 516 OK 517 517 ))) 518 518 529 +(% style="display:none" %) (%%) 530 + 519 519 == 6.3 Join LoRa® Network == 520 520 521 521 ... ... @@ -524,15 +524,16 @@ 524 524 525 525 (% style="color:blue" %)**AT Command: AT+JOIN** 526 526 527 -(% border="1" style="background-color:#fff fcc;color:green;width:647.222px" %)528 -|=(% colspan="3" style="width: 644px;" %)AT+JOIN 529 -|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response** 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** 530 530 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network((( 531 531 OK 532 - 533 533 While Error in format, return AT_BUSY_ERROR 534 534 ))) 535 535 547 +(% style="display:none" %) (%%) 548 + 536 536 == 6.4 LoRa® Network Join Mode == 537 537 538 538 ... ... @@ -541,9 +541,9 @@ 541 541 542 542 (% style="color:blue" %)**AT Command: AT+NJM** 543 543 544 -(% border="1" style="background-color:#fff fcc;color:green;width:753.222px" %)545 -|=(% colspan="3" style="width: 750px;" %)AT+NJM 546 -|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response** 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** 547 547 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1((( 548 548 OK 549 549 ))) ... ... @@ -559,6 +559,8 @@ 559 559 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 560 560 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 561 561 575 +(% style="display:none" %) (%%) 576 + 562 562 == 6.5 LoRa® Network Join Status == 563 563 564 564 ... ... @@ -567,13 +567,15 @@ 567 567 568 568 (% style="color:blue" %)**AT Command: AT+NJS** 569 569 570 -(% border="1" style="background-color:#fff fcc;color:green;width:498.222px" %)571 -|=(% colspan="3" style="width: 495px;" %)AT+NJS 572 -|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response** 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** 573 573 |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0((( 574 574 OK 575 575 ))) 576 576 592 +(% style="display:none" %) (%%) 593 + 577 577 == 6.6 Print Last Received Data in Raw Format == 578 578 579 579 ... ... @@ -582,13 +582,15 @@ 582 582 583 583 (% style="color:blue" %)**AT Command: AT+RECV** 584 584 585 -(% border="1" style="background-color:#fff fcc;color:green;width:587.222px" %)586 -|=(% colspan="3" style="width: 584px;" %)AT+RECV 587 -|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response** 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** 588 588 |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:((( 589 589 OK 590 590 ))) 591 591 609 +(% style="display:none" %) (%%) 610 + 592 592 == 6.7 Print Last Received Data in Binary Format == 593 593 594 594 ... ... @@ -597,13 +597,15 @@ 597 597 598 598 (% style="color:blue" %)**AT Command: AT+RECVB** 599 599 600 -(% border="1" style="background-color:#fff fcc;color:green;width:793.222px" %)601 -|=(% colspan="3" style="width: 790px;" %)AT+RECVB 602 -|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response** 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** 603 603 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010((( 604 604 OK 605 605 ))) 606 606 626 +(% style="display:none" %) (%%) 627 + 607 607 == 6.8 Send Text Data == 608 608 609 609 ... ... @@ -612,17 +612,16 @@ 612 612 613 613 (% style="color:blue" %)**AT Command: AT+SEND** 614 614 615 -(% border="1" style="background-color:#fff fcc;color:green;width:991.222px" %)616 -|=(% colspan="3" style="width: 988px;" %)AT+SEND 617 -|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 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** 618 618 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 619 619 While Error in format, return 620 - 621 621 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 622 - 623 - 624 624 ))) 625 625 644 +(% style="display:none" %) (%%) 645 + 626 626 == 6.9 Send Hexadecimal Data == 627 627 628 628 ... ... @@ -631,16 +631,16 @@ 631 631 632 632 (% style="color:blue" %)**AT Command: AT+SENDB** 633 633 634 -(% border="1" style="background-color: #ffffcc;color:green;width:1101px" %)635 -|=(% colspan="3" style="width: 1098px;" %)AT+SENDB 636 -|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response** 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** 637 637 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK 638 638 |(% 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((( 639 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 640 - 641 - 659 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 642 642 ))) 643 643 662 +(% style="display:none" %) (%%) 663 + 644 644 = 7. LoRaWAN network management = 645 645 646 646 == 7.1 Adaptive Data Rate == ... ... @@ -651,9 +651,9 @@ 651 651 652 652 (% style="color:blue" %)**AT Command: AT+ADR** 653 653 654 -(% border="1" style="background-color: #ffffcc;color:green;width:683.222px" %)655 -|=(% colspan="3" style="width: 680px;" %)AT+ADR 656 -|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response** 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** 657 657 |(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1((( 658 658 OK 659 659 ))) ... ... @@ -669,6 +669,8 @@ 669 669 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 670 670 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 671 671 692 +(% style="display:none" %) (%%) 693 + 672 672 == 7.2 LoRa® Class == 673 673 674 674 ... ... @@ -677,9 +677,9 @@ 677 677 678 678 (% style="color:blue" %)**AT Command: AT+CLASS** 679 679 680 -(% border="1" style="background-color:#fff fcc;color:green;width:507.222px" %)681 -|=(% colspan="3" style="width: 504px;" %)AT+CLASS 682 -|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response** 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** 683 683 |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A((( 684 684 OK 685 685 ))) ... ... @@ -687,6 +687,13 @@ 687 687 688 688 ))) 689 689 712 +(% style="display:none" %) 713 + 714 +(% style="color:red" %)**Notice:** 715 + 716 +* Run AT+FDR before running AT+CLASS=C 717 +* After change to Class=C, Before OTAA Join Successfule, the end node will still shows to use CLASS=A for OTAA Joined. It will use CLASS=C after OTAA Join Succeccful. 718 + 690 690 == 7.3 Duty Cycle Setting == 691 691 692 692 ... ... @@ -695,9 +695,9 @@ 695 695 696 696 (% style="color:blue" %)**AT Command: AT+DCS** 697 697 698 -(% border="1" style="background-color:#fff fcc;color:green;width:515.222px" %)699 -|=(% colspan="3" style="width: 512px;" %)AT+DCS 700 -|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response** 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** 701 701 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1((( 702 702 OK 703 703 ))) ... ... @@ -705,6 +705,8 @@ 705 705 706 706 ))) 707 707 737 +(% style="display:none" %) (%%) 738 + 708 708 == 7.4 Data Rate == 709 709 710 710 ... ... @@ -718,9 +718,9 @@ 718 718 719 719 (% style="color:blue" %)**AT Command: AT+DR** 720 720 721 -(% border="1" style="background-color:#fff fcc;color:green;width:466.222px" %)722 -|=(% colspan="3" style="width: 463px;" %)AT+DR 723 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response** 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** 724 724 |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5((( 725 725 OK 726 726 ))) ... ... @@ -735,6 +735,8 @@ 735 735 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 736 736 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 737 737 769 +(% style="display:none" %) (%%) 770 + 738 738 == 7.5 Frame Counter Downlink == 739 739 740 740 ... ... @@ -743,9 +743,9 @@ 743 743 744 744 (% style="color:blue" %)**AT Command: AT+FCD** 745 745 746 -(% border="1" style="background-color:#fff fcc;color:green;width:693.222px" %)747 -|=(% colspan="3" style="width: 690px;" %)AT+FCD 748 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response** 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** 749 749 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 750 750 OK 751 751 ))) ... ... @@ -753,6 +753,8 @@ 753 753 OK 754 754 ))) 755 755 789 +(% style="display:none" %) (%%) 790 + 756 756 == 7.6 Frame Counter Uplink == 757 757 758 758 Feature: Get or Set the Frame Counter Uplink. ... ... @@ -760,9 +760,9 @@ 760 760 761 761 (% style="color:blue" %)**AT Command: AT+FCU** 762 762 763 -(% border="1" style="background-color:#fff fcc;color:green;width:534.222px" %)764 -|=(% colspan="3" style="width: 531px;" %)AT+FCU 765 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response** 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** 766 766 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 767 767 OK 768 768 ))) ... ... @@ -770,6 +770,8 @@ 770 770 771 771 ))) 772 772 808 +(% style="display:none" %) (%%) 809 + 773 773 == 7.7 Join Accept Delay1 == 774 774 775 775 ... ... @@ -778,9 +778,9 @@ 778 778 779 779 (% style="color:blue" %)**AT Command: AT+JN1DL** 780 780 781 -(% border="1" style="background-color:#fff fcc;color:green;width:537.222px" %)782 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL 783 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response** 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** 784 784 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 785 785 OK 786 786 ))) ... ... @@ -788,6 +788,8 @@ 788 788 789 789 ))) 790 790 828 +(% style="display:none" %) (%%) 829 + 791 791 == 7.8 Join Accept Delay2 == 792 792 793 793 ... ... @@ -796,9 +796,9 @@ 796 796 797 797 (% style="color:blue" %)**AT Command: AT+JN2DL** 798 798 799 -(% border="1" style="background-color:#fff fcc;color:green;width:538.222px" %)800 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL 801 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response** 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** 802 802 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 803 803 OK 804 804 ))) ... ... @@ -806,6 +806,8 @@ 806 806 807 807 ))) 808 808 848 +(% style="display:none" %) (%%) 849 + 809 809 == 7.9 Public Network Mode == 810 810 811 811 ... ... @@ -816,9 +816,9 @@ 816 816 817 817 (% style="color:blue" %)**AT Command: AT+PNM** 818 818 819 -(% border="1" style="background-color:#fff fcc;color:green;width:667.222px" %)820 -|=(% colspan="3" style="width: 664px;" %)AT+PNM 821 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response** 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** 822 822 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 823 823 OK 824 824 ))) ... ... @@ -833,6 +833,8 @@ 833 833 ))) 834 834 |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 835 835 877 +(% style="display:none" %) (%%) 878 + 836 836 == 7.10 Receive Delay1 == 837 837 838 838 ... ... @@ -841,9 +841,9 @@ 841 841 842 842 (% style="color:blue" %)**AT Command: AT+RX1DL** 843 843 844 -(% border="1" style="background-color:#fff fcc;color:green;width:408.222px" %)845 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL 846 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response** 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** 847 847 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 848 848 OK 849 849 ))) ... ... @@ -851,6 +851,8 @@ 851 851 852 852 ))) 853 853 897 +(% style="display:none" %) (%%) 898 + 854 854 == 7.11 Receive Delay2 == 855 855 856 856 ... ... @@ -859,9 +859,9 @@ 859 859 860 860 (% style="color:blue" %)**AT Command: AT+RX2DL** 861 861 862 -(% border="1" style="background-color:#fff fcc;color:green;width:481.222px" %)863 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL 864 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response** 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** 865 865 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 866 866 OK 867 867 ))) ... ... @@ -869,6 +869,8 @@ 869 869 870 870 ))) 871 871 917 +(% style="display:none" %) (%%) 918 + 872 872 == 7.12 Rx2 Window Data Rate == 873 873 874 874 ... ... @@ -877,9 +877,9 @@ 877 877 878 878 (% style="color:blue" %)**AT Command: AT+RX2DR** 879 879 880 -(% border="1" style="background-color:#fff fcc;color:green;width:525.222px" %)881 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR 882 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response** 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** 883 883 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 884 884 OK 885 885 ))) ... ... @@ -887,6 +887,8 @@ 887 887 888 888 ))) 889 889 937 +(% style="display:none" %) (%%) 938 + 890 890 == 7.13 Rx2 Window Frequency == 891 891 892 892 ... ... @@ -895,9 +895,9 @@ 895 895 896 896 (% style="color:blue" %)**AT Command: AT+RX2FQ** 897 897 898 -(% border="1" style="background-color:#fff fcc;color:green;width:587.222px" %)899 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ 900 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response** 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** 901 901 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 902 902 OK 903 903 ))) ... ... @@ -905,6 +905,8 @@ 905 905 906 906 ))) 907 907 957 +(% style="display:none" %) (%%) 958 + 908 908 == 7.14 Transmit Power == 909 909 910 910 ... ... @@ -915,9 +915,9 @@ 915 915 916 916 (% style="color:blue" %)**AT Command: AT+TXP** 917 917 918 -(% border="1" style="background-color:#fff fcc;color:green;width:465.222px" %)919 -|=(% colspan="3" style="width: 462px;" %)AT+TXP 920 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response** 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** 921 921 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 922 922 OK 923 923 ))) ... ... @@ -930,8 +930,10 @@ 930 930 If the downlink payload=22000100, it means setting the TXP to 0. 931 931 932 932 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 933 -* **Example 2**: Downlink Payload: **220000 FF**984 +* **Example 2**: Downlink Payload: **22000000** ~/~/ Set AT+TXP=0. 934 934 986 +(% style="display:none" %) (%%) 987 + 935 935 == 7.15 RSSI of the Last Received Packet == 936 936 937 937 ... ... @@ -940,13 +940,15 @@ 940 940 941 941 (% style="color:blue" %)**AT Command:AT+RSSI** 942 942 943 -(% border="1" style="background-color:#fff fcc;color:green;width:557.222px" %)944 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI 945 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response** 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** 946 946 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 947 947 OK 948 948 ))) 949 949 1003 +(% style="display:none" %) (%%) 1004 + 950 950 == 7.16 SNR of the Last Received Packet == 951 951 952 952 ... ... @@ -955,13 +955,15 @@ 955 955 956 956 (% style="color:blue" %)**AT Command: AT+SNR** 957 957 958 -(% border="1" style="background-color:#fff fcc;color:green;width:571.222px" %)959 -|=(% colspan="3" style="width: 568px;" %)AT+SNR 960 -|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response** 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** 961 961 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 962 962 OK 963 963 ))) 964 964 1020 +(% style="display:none" %) (%%) 1021 + 965 965 == 7.17 Application Port == 966 966 967 967 ... ... @@ -970,9 +970,9 @@ 970 970 971 971 (% style="color:blue" %)**AT Command: AT+PORT** 972 972 973 -(% border="1" style="background-color:#fff fcc;color:green;width:500.222px" %)974 -|=(% colspan="3" style="width: 497px;" %)AT+PORT 975 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response** 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** 976 976 |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21((( 977 977 OK 978 978 ))) ... ... @@ -987,6 +987,8 @@ 987 987 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 988 988 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 989 989 1047 +(% style="display:none" %) (%%) 1048 + 990 990 == 7.18 Single Channel Mode == 991 991 992 992 ... ... @@ -995,14 +995,16 @@ 995 995 996 996 (% style="color:blue" %)**AT Command: AT+CHS** 997 997 998 -(% border="1" style="background-color:#fff fcc;color:green;width:603.222px" %)999 -|=(% colspan="3" style="width: 600px;" %)AT+CHS 1000 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response** 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** 1001 1001 |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0((( 1002 1002 OK 1003 1003 ))) 1004 1004 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 1005 1005 1065 +(% style="display:none" %) (%%) 1066 + 1006 1006 == 7.19 Eight Channel Mode == 1007 1007 1008 1008 ... ... @@ -1011,9 +1011,9 @@ 1011 1011 1012 1012 (% style="color:blue" %)**AT Command: AT+CHE** 1013 1013 1014 -(% border="1" style="background-color:#fff fcc;color:green;width:710.222px" %)1015 -|=(% colspan="3" style="width: 707px;" %)AT+CHE 1016 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 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** 1017 1017 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 1018 1018 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 1019 1019 ... ... @@ -1030,6 +1030,8 @@ 1030 1030 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1031 1031 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1032 1032 1094 +(% style="display:none" %) (%%) 1095 + 1033 1033 == 7.20 Get or Set RXwindows1 timeout == 1034 1034 1035 1035 ... ... @@ -1038,33 +1038,27 @@ 1038 1038 1039 1039 (% style="color:blue" %)**AT Command: AT+RX1WTO** 1040 1040 1041 -(% border="1" style="background-color:#fff fcc;color:green;width:460.222px" %)1042 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO 1043 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response** 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** 1044 1044 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 1045 1045 OK 1046 1046 ))) 1047 1047 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 1048 1048 1049 -((( 1050 - 1112 +(% style="display:none" %) (%%) 1051 1051 1052 - 1114 +((( 1053 1053 (% style="color:blue" %)**AT+RX1WTO**(%%) is theRxSingle timeout value of receive window 1. If it is not set, then the queriedvalue is the default value. If it is set, then the queried value is the setvalue. AT+RX2TWO is thesame as above. The definitionof RxSingle timeout is as described in the following paragraph. 1054 - 1055 - 1056 1056 ))) 1057 1057 1058 1058 [[image:image-20220526162535-1.png]] 1059 1059 1060 - 1061 1061 ((( 1062 1062 Increasing thisvalue is equal to extending the time that the receiving window is opened, butthe corresponding power consumption will also increase. Properly increasingthis value can increase the success rate of the downlink. 1063 - 1064 - 1065 - 1066 1066 ))) 1067 1067 1124 + 1068 1068 == 7.21 Get or Set RXwindows2 timeout == 1069 1069 1070 1070 ... ... @@ -1073,14 +1073,16 @@ 1073 1073 1074 1074 (% style="color:blue" %)**AT Command: AT+RX2WTO** 1075 1075 1076 -(% border="1" style="background-color:#fff fcc;color:green;width:497.222px" %)1077 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO 1078 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response** 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** 1079 1079 |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7((( 1080 1080 OK 1081 1081 ))) 1082 1082 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK 1083 1083 1141 +(% style="display:none" %) (%%) 1142 + 1084 1084 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1085 1085 1086 1086 ... ... @@ -1089,9 +1089,9 @@ 1089 1089 1090 1090 (% style="color:blue" %)**AT Command: AT+DWELLT** 1091 1091 1092 -(% border="1" style="background-color:#fff fcc;color:green;width:497.222px" %)1093 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT 1094 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response** 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** 1095 1095 |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1((( 1096 1096 OK 1097 1097 ))) ... ... @@ -1106,6 +1106,8 @@ 1106 1106 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1107 1107 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1108 1108 1168 +(% style="display:none" %) (%%) 1169 + 1109 1109 == 7.23 Set Packet Receiving Response Level == 1110 1110 1111 1111 ... ... @@ -1112,7 +1112,7 @@ 1112 1112 Feature: Get or Set packet receiving response level. This feature is used to set compatible with different LoRaWAN servers. If RPL doesn;t match , user will see strange message in the server portal. 1113 1113 1114 1114 1115 -**RPL value:** 1176 +(% style="color:blue" %)**RPL value:** 1116 1116 1117 1117 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1118 1118 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. ... ... @@ -1120,7 +1120,7 @@ 1120 1120 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1121 1121 * **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. 1122 1122 1123 -**Case Analyes:** 1184 +(% style="color:blue" %)**Case Analyes:** 1124 1124 1125 1125 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1126 1126 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. ... ... @@ -1128,9 +1128,9 @@ 1128 1128 1129 1129 (% style="color:blue" %)**AT Command: AT+RPL** 1130 1130 1131 -(% border="1" style="background-color:#fff fcc;color:green;width:536.222px" %)1132 -|=(% colspan="3" style="width: 533px;" %)AT+RPL 1133 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 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** 1134 1134 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 1135 1135 OK 1136 1136 ))) ... ... @@ -1145,14 +1145,16 @@ 1145 1145 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1146 1146 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1147 1147 1209 +(% style="display:none" %) (%%) 1210 + 1148 1148 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1149 1149 1150 1150 1151 1151 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1152 1152 1153 -(% border="1" style="background-color:#fff fcc;color:green;width:589px" %)1154 -|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS** 1155 -|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response** 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** 1156 1156 |(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1157 1157 OK 1158 1158 ))) ... ... @@ -1175,14 +1175,21 @@ 1175 1175 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1176 1176 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1177 1177 1241 +(% style="display:none" %) (%%) 1242 + 1178 1178 == 7.25 Device offline rejoining (LWS007) == 1179 1179 1180 1180 1181 1181 (% style="color:blue" %)**AT Command: AT+DDETECT** 1182 1182 1183 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1184 -|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1185 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1248 +AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1249 + 1250 +* ACK_Timout_1: Unit: min 1251 +* ACK_Timout_2: Unit: min 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** 1186 1186 |(% style="width:160px" %)((( 1187 1187 AT+DDETECT=1,1440,2880 1188 1188 ... ... @@ -1211,46 +1211,53 @@ 1211 1211 OK 1212 1212 ))) 1213 1213 1214 -(% style="color:blue" %)**Downlink Command: 0x3 3**1284 +(% style="color:blue" %)**Downlink Command: 0x32** 1215 1215 1216 1216 Format: Command Code (0x32) followed by 2 bytes mode value. 1217 1217 1218 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 3 3.1288 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1219 1219 1220 -* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 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. 1221 1221 1296 +(% style="display:none" %) (%%) 1297 + 1222 1222 == 7.26 Request the server to send an ACK == 1223 1223 1224 1224 1225 1225 (% style="color:blue" %)**AT Command: AT+PNACKMD** 1226 1226 1227 -(% border="1" style="background-color:#fff fcc;color:green;width:536.222px" %)1228 -|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1229 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 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** 1230 1230 |(% 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((( 1231 1231 OK 1232 1232 ))) 1233 1233 |(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1234 1234 0 1235 - 1236 1236 OK 1237 1237 ))) 1238 1238 1314 +(% style="display:none" %) (%%) 1315 + 1239 1239 == 7.27 Adjust network rejoining interval == 1240 1240 1241 1241 1242 1242 (% style="color:blue" %)**AT Command: AT+RJTDC** 1243 1243 1244 -(% border="1" style="background-color:#fff fcc;color:green;width:727.222px" %)1245 -|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1246 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1247 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30 000(((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((( 1248 1248 OK 1249 1249 1250 -the interval is 30 000ms= 30s1327 +the interval is 30 min 1251 1251 ))) 1252 -|(% style="width:165px" %)AT+RJTDC=60 000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((1253 -Set the ReJoin data transmission interval to 60 000ms= 60 seconds1329 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1330 +Set the ReJoin data transmission interval to 60 min 1254 1254 ))) 1255 1255 1256 1256 (% style="color:blue" %)**Downlink Command: 0x26** ... ... @@ -1262,6 +1262,8 @@ 1262 1262 * **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1263 1263 * **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1264 1264 1342 +(% style="display:none" %) (%%) 1343 + 1265 1265 = 8. AT Commands Combination = 1266 1266 1267 1267 == 8.1 Set a fix RX2DR for downlink window == ... ... @@ -1268,8 +1268,11 @@ 1268 1268 1269 1269 1270 1270 * (% style="color:blue" %)**AT+ADR=0 **(%%) **~-~->** Disable ADR first 1350 + 1271 1271 * (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~-~->** Set xxxx to your wanted DataRate 1272 1272 1353 +(% style="display:none" %) (%%) 1354 + 1273 1273 == 8.2 Use Downlink Command to set a fix uplink DR == 1274 1274 1275 1275 ... ... @@ -1278,7 +1278,9 @@ 1278 1278 **Same as:** 1279 1279 1280 1280 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1363 + 1281 1281 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1365 + 1282 1282 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1283 1283 1284 1284