Changes for page End Device AT Commands and Downlink Command
Last modified by kai on 2024/09/06 10:00
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Bei1 +XWiki.Xiaoling - Content
-
... ... @@ -1,4 +1,4 @@ 1 - **Contents:** 1 + **Table of** **Contents:** 2 2 3 3 {{toc/}} 4 4 ... ... @@ -6,26 +6,31 @@ 6 6 7 7 = 1. Introduction = 8 8 9 + 9 9 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: 10 10 11 -* **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device. 12 -* **Sensor Related Commands:** Only for special sensor, such as control relay, poll RS485 device. 12 +* (% style="color:blue" %)**Common Commands:** (%%) They should be available for each sensor, such as: change uplink interval, reset device. 13 +* (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device. 13 13 14 14 ((( 15 15 **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.** 16 - 17 17 ))) 18 18 19 + 19 19 = 2. How to use AT Commands or Downlink command = 20 20 21 -* For AT Command , See Devices User Manual for Device. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]] 22 -* For LoRaWAN Downlink: The gateway transfer downlink command in HEX format. This page shows the HEX format downlink code for each command. but some servers use base64 as downlink code. Below are reference for how to use downlink command: 22 + 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/]] 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: 23 23 ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 24 -** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]] 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]]? 25 25 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 26 26 29 +(% style="display:none" %) (%%) 30 + 27 27 = 3. Support End Node and firmware version = 28 28 33 + 29 29 (% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 30 30 |=(% colspan="3" style="width: 963px;" %)((( 31 31 Dragino STM32 base hardware Firmware / LoRaWAN stack list ... ... @@ -97,17 +97,18 @@ 97 97 ))) 98 98 ))) 99 99 105 +(% style="display:none" %) (%%) 106 + 100 100 = 4. System Management Commands = 101 101 102 102 == 4.1 Change Uplink Interval == 103 103 111 + 104 104 Feature: Change LoRaWAN End Node Transmit Interval. 105 105 106 -(% class="box infomessage" %) 107 -((( 108 -**AT Command: AT+TDC** 109 -))) 110 110 115 +(% style="color:blue" %)**AT Command: AT+TDC** 116 + 111 111 (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 112 112 |=(% colspan="3" style="width: 724px;" %)AT+TDC 113 113 |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** ... ... @@ -120,33 +120,35 @@ 120 120 Set transmit interval to 60000ms = 60 seconds 121 121 ))) 122 122 123 -{{info}} 124 -**Downlink Command: 0x01** 125 -{{/info}} 126 - 127 127 ((( 130 + 131 + 132 +(% style="color:blue" %)**Downlink Command: 0x01** 133 + 128 128 Format: Command Code (0x01) followed by 3 bytes time value. 129 129 ))) 130 130 131 131 ((( 132 -If the downlink payload=0100003C, it means set the END Node ’s Transmit Interval to 0x00003C=60(S), while type code is 01.138 +If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. 133 133 ))) 134 134 135 -* **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 136 -* **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 141 +* **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 142 +* **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 137 137 144 +(% style="display:none" %) (%%) 145 + 138 138 == 4.2 Reboot End Node == 139 139 148 + 140 140 Feature: Reboot End Node to perform a new OTAA or ABP Join. 141 141 142 -{{info}} 143 -**AT Command: ATZ** 144 -{{/info}} 145 145 146 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 147 -|=(% colspan="3" %)ATZ: Trig a reset of the MCU 148 -|**Command Example**|**Function**|**Response** 149 -|ATZ|Reset MCU|((( 152 +(% style="color:blue" %)**AT Command: ATZ** 153 + 154 +(% border="1" style="background-color:#ffffcc; color:green; width:546px" %) 155 +|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU 156 +|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response** 157 +|(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)((( 150 150 Device reset and show booting info 151 151 152 152 LSN50 Device/LoRa ST Module ... ... @@ -160,9 +160,7 @@ 160 160 <followed by the Tx and Rx information> 161 161 ))) 162 162 163 -{{info}} 164 -**Downlink Command: 0x04** 165 -{{/info}} 171 +(% style="color:blue" %)**Downlink Command: 0x04** 166 166 167 167 ((( 168 168 Format: Command Code (0x04) followed by FF. ... ... @@ -169,23 +169,22 @@ 169 169 ))) 170 170 171 171 ((( 172 -If the downlink payload=**04FF**, the end node will reboot. 173 - 174 - 178 +If the downlink payload=**04FF**, the end node will reboot. 175 175 ))) 176 176 181 + 177 177 == 4.3 Reset to factory Default == 178 178 184 + 179 179 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. 180 180 181 -{{info}} 182 -**AT Command: AT+FDR** 183 -{{/info}} 184 184 185 -(% border="1" style="background-color:#ffffcc; color:green; width:831.222px" %) 186 -|=(% colspan="3" style="width: 828px;" %)Reset to factory default 187 -|(% style="width:181px" %)**Command Example**|(% style="width:181px" %)**Function**|(% style="width:465px" %)**Response** 188 -|(% style="width:181px" %)AT+FDR|(% style="width:181px" %)Reset to factory default|(% style="width:465px" %)((( 188 +(% style="color:blue" %)**AT Command: AT+FDR** 189 + 190 +(% border="1" style="background-color:#ffffcc; 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** 193 +|(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)((( 189 189 Device reset to factory default parameters and show booting info 190 190 191 191 LSN50 Device/LoRa ST Module ... ... @@ -199,9 +199,7 @@ 199 199 Please set the parameters or reset Device to apply change 200 200 ))) 201 201 202 -{{info}} 203 -**Downlink Command: 0x04** 204 -{{/info}} 207 +(% style="color:blue" %)**Downlink Command: 0x04** 205 205 206 206 ((( 207 207 Format: Command Code (0x04) followed by FE. ... ... @@ -214,24 +214,22 @@ 214 214 215 215 == 4.4 Show Firmware Version == 216 216 220 + 217 217 Feature: Show firmware version. No downlink command yet. 218 218 219 -{{info}} 220 -**AT Command: AT+VER** 221 -{{/info}} 222 222 223 -(% border="1" style="background-color:#ffffcc; color:green; width:586px" %) 224 -|=(% colspan="3" style="width: 583px;" %)AT+VER: Image Version and Frequency Band 225 -|(% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response** 226 -|(% style="width:170px" %)AT+VER=?|(% style="width:300px" %)Show Image version and Frequency Band|(% style="width:113px" %)((( 224 +(% style="color:blue" %)**AT Command: AT+VER** 225 + 226 +(% border="1" style="background-color:#ffffcc; color:green; width:542px" %) 227 +|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band 228 +|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response** 229 +|(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)((( 227 227 1.3 EU868 228 228 229 229 OK 230 230 ))) 231 231 232 -{{info}} 233 -**Downlink Command: 0x26 (Valid in 006 stack)** 234 -{{/info}} 235 +(% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)** 235 235 236 236 ((( 237 237 Downlink Format: 0x26 ... ... @@ -242,6 +242,8 @@ 242 242 ))) 243 243 244 244 ((( 246 + 247 + 245 245 **xx: Software Type:** 246 246 ))) 247 247 ... ... @@ -250,6 +250,8 @@ 250 250 * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01 251 251 252 252 ((( 256 + 257 + 253 253 **yy: Frequency Band:** 254 254 ))) 255 255 ... ... @@ -265,6 +265,8 @@ 265 265 * 0xa0: AS923-3 266 266 267 267 ((( 273 + 274 + 268 268 **zz: Subband** 269 269 ))) 270 270 ... ... @@ -273,12 +273,12 @@ 273 273 274 274 == 4.5 Show System Configure == 275 275 283 + 276 276 Feature: Show All configure. No downlink command yet. 277 277 278 -{{info}} 279 -**AT Command: AT+CFG** 280 -{{/info}} 281 281 287 +(% style="color:blue" %)**AT Command: AT+CFG** 288 + 282 282 (% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %) 283 283 |=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations 284 284 |(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response** ... ... @@ -300,12 +300,12 @@ 300 300 301 301 == 5.1 Application EUI == 302 302 310 + 303 303 Feature: Get or Set the Application EUI. 304 304 305 -{{info}} 306 -**AT Command: AT+APPEUI** 307 -{{/info}} 308 308 314 +(% style="color:blue" %)**AT Command: AT+APPEUI** 315 + 309 309 (% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %) 310 310 |=(% colspan="3" style="width: 683px;" %)AT+APPEUI 311 311 |(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response** ... ... @@ -314,14 +314,16 @@ 314 314 ))) 315 315 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 316 316 324 +(% style="display:none" %) (%%) 325 + 317 317 == 5.2 Application Key == 318 318 328 + 319 319 Feature: Get or Set the Application Key. 320 320 321 -{{info}} 322 -**AT Command: AT+APPKEY** 323 -{{/info}} 324 324 332 +(% style="color:blue" %)**AT Command: AT+APPKEY** 333 + 325 325 (% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %) 326 326 |=(% colspan="3" style="width: 973px;" %)AT+APPKEY 327 327 |(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response** ... ... @@ -330,14 +330,16 @@ 330 330 ))) 331 331 |(% 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 332 332 342 +(% style="display:none" %) (%%) 343 + 333 333 == 5.3 Application Session Key == 334 334 346 + 335 335 Feature: Get or Set the Application Session Key. 336 336 337 -{{info}} 338 -**AT Command: AT+APPSKEY** 339 -{{/info}} 340 340 350 +(% style="color:blue" %)**AT Command: AT+APPSKEY** 351 + 341 341 (% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %) 342 342 |=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY 343 343 |(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response** ... ... @@ -348,14 +348,16 @@ 348 348 OK 349 349 ))) 350 350 362 +(% style="display:none" %) (%%) 363 + 351 351 == 5.4 Device Address == 352 352 366 + 353 353 Feature: Get or Set the Device Address. 354 354 355 -{{info}} 356 -**AT Command: AT+DADDR** 357 -{{/info}} 358 358 370 +(% style="color:blue" %)**AT Command: AT+DADDR** 371 + 359 359 (% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %) 360 360 |=(% colspan="3" style="width: 792px;" %)AT+DADDR 361 361 |(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response** ... ... @@ -366,14 +366,16 @@ 366 366 ))) 367 367 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 368 368 382 +(% style="display:none" %) (%%) 383 + 369 369 == 5.5 Device EUI == 370 370 386 + 371 371 Feature: Get or Set the Device EUI. 372 372 373 -{{info}} 374 -**AT Command: AT+DEUI** 375 -{{/info}} 376 376 390 +(% style="color:blue" %)**AT Command: AT+DEUI** 391 + 377 377 (% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %) 378 378 |=(% colspan="3" style="width: 1032px;" %)AT+DEUI 379 379 |(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response** ... ... @@ -384,14 +384,16 @@ 384 384 OK 385 385 ))) 386 386 402 +(% style="display:none" %) (%%) 403 + 387 387 == 5.6 Network ID == 388 388 406 + 389 389 Feature: Get or Set the Network ID.(You can enter this command change only after successful network connection) 390 390 391 -{{info}} 392 -**AT Command: AT+NWKID** 393 -{{/info}} 394 394 410 +(% style="color:blue" %)**AT Command: AT+NWKID** 411 + 395 395 (% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %) 396 396 |=(% colspan="3" style="width: 445px;" %)AT+NWKID 397 397 |(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response** ... ... @@ -400,14 +400,16 @@ 400 400 ))) 401 401 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK 402 402 420 +(% style="display:none" %) (%%) 421 + 403 403 == 5.7 Network Session Key == 404 404 424 + 405 405 Feature: Get or Set the Network Session Key 406 406 407 -{{info}} 408 -**AT Command: AT+NWKSKEY** 409 -{{/info}} 410 410 428 +(% style="color:blue" %)**AT Command: AT+NWKSKEY** 429 + 411 411 (% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %) 412 412 |=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY 413 413 |(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response** ... ... @@ -416,16 +416,20 @@ 416 416 ))) 417 417 |(% 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 418 418 438 +(% style="display:none" %) (%%) 439 + 419 419 = 6. Joining and sending date on LoRaWAN network = 420 420 421 421 == 6.1 Confirm Mode == 422 422 444 +=== 6.1.1 AT+CFM command before DR-LWS007 software stack === 445 + 446 + 423 423 Feature: Get or Set the confirmation mode (0-1). 424 424 425 -{{info}} 426 -**AT Command: AT+CFM** 427 -{{/info}} 428 428 450 +(% style="color:blue" %)**AT Command: AT+CFM** 451 + 429 429 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 430 430 |=(% colspan="3" style="width: 707px;" %)AT+CFM 431 431 |(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response** ... ... @@ -435,38 +435,87 @@ 435 435 |(% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK 436 436 |(% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR 437 437 438 -Downlink Command: 0x05 461 +(% style="color:blue" %)**Downlink Command: 0x05** 439 439 440 440 Format: Command Code (0x05) followed by 2 bytes mode value. 441 441 442 442 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05. 443 443 444 -* Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 445 -* Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0 467 +* **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 468 +* **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 446 446 470 +(% style="display:none" %) (%%) 471 + 472 +=== 6.1.2 AT+CFM command since DR-LWS007 software stack === 473 + 474 + 475 +(% style="color:blue" %)**AT Command: AT+CFM** 476 + 477 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 478 +|=(% colspan="3" style="width: 707px;" %)AT+CFM 479 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 480 +|(% style="width:160px" %)((( 481 +AT+CFM=1,0,0 482 + 483 +value1 484 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)((( 485 +1 486 + 487 +OK 488 +))) 489 +|(% style="width:160px" %)((( 490 +AT+CFM=0,?,0 491 + 492 +value2 493 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)((( 494 +0~~7 495 + 496 +OK 497 +))) 498 +|(% style="width:160px" %)((( 499 +AT+CFM=0,0,1 500 + 501 +value3 502 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)((( 503 +1 504 + 505 +OK 506 +))) 507 + 508 +(% style="color:blue" %)**Downlink Command: 0x05** 509 + 510 +Format: Command Code (0x05) followed by 2 bytes mode value. 511 + 512 +If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 513 + 514 +* **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 515 +* **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 516 + 517 +(% style="display:none" %) (%%) 518 + 447 447 == 6.2 Confirm Status == 448 448 521 + 449 449 Feature: Get confirmation status of the last AT+SEND (0-1). 450 450 451 -{{info}} 452 -**AT Command: AT+CFS** 453 -{{/info}} 454 454 455 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 456 -|=(% colspan="3" style="width: 531px;" %)AT+CFS 457 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response** 458 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0((( 525 +(% style="color:blue" %)**AT Command: AT+CFS** 526 + 527 +(% border="1" style="background-color:#ffffcc; color:green; width:463px" %) 528 +|=(% colspan="3" style="width: 460px;" %)AT+CFS 529 +|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:107px" %)**Response** 530 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0((( 459 459 OK 460 460 ))) 461 461 462 462 == 6.3 Join LoRa® Network == 463 463 536 + 464 464 Feature: Join network. 465 465 466 -{{info}} 467 -**AT Command: AT+JOIN** 468 -{{/info}} 469 469 540 +(% style="color:blue" %)**AT Command: AT+JOIN** 541 + 470 470 (% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %) 471 471 |=(% colspan="3" style="width: 644px;" %)AT+JOIN 472 472 |(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response** ... ... @@ -478,12 +478,12 @@ 478 478 479 479 == 6.4 LoRa® Network Join Mode == 480 480 553 + 481 481 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA). 482 482 483 -{{info}} 484 -**AT Command: AT+NJM** 485 -{{/info}} 486 486 557 +(% style="color:blue" %)**AT Command: AT+NJM** 558 + 487 487 (% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %) 488 488 |=(% colspan="3" style="width: 750px;" %)AT+NJM 489 489 |(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response** ... ... @@ -493,25 +493,25 @@ 493 493 |(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK 494 494 |(% style="width:162px" %)AT+NJM=2|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)While Error in format, return AT_PARAM_ERROR 495 495 496 -{{info}} 497 -**Downlink Command: 0x20** 498 -{{/info}} 568 +(% style="color:blue" %)**Downlink Command: 0x20** 499 499 500 500 Format: Command Code (0x20) followed by 1 bytes mode value. 501 501 502 502 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 503 503 504 -* **Example 1: **Downlink Payload: **2000** O505 -* **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 574 +* **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 575 +* **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 506 506 577 +(% style="display:none" %) (%%) 578 + 507 507 == 6.5 LoRa® Network Join Status == 508 508 581 + 509 509 Feature: LoRa® Network Join Status. 510 510 511 -{{info}} 512 -**AT Command: AT+NJS** 513 -{{/info}} 514 514 585 +(% style="color:blue" %)**AT Command: AT+NJS** 586 + 515 515 (% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %) 516 516 |=(% colspan="3" style="width: 495px;" %)AT+NJS 517 517 |(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response** ... ... @@ -519,14 +519,16 @@ 519 519 OK 520 520 ))) 521 521 594 +(% style="display:none" %) (%%) 595 + 522 522 == 6.6 Print Last Received Data in Raw Format == 523 523 598 + 524 524 Feature: Print Last Received Data in Raw Format<port:data>. 525 525 526 -{{info}} 527 -**AT Command: AT+RECV** 528 -{{/info}} 529 529 602 +(% style="color:blue" %)**AT Command: AT+RECV** 603 + 530 530 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 531 531 |=(% colspan="3" style="width: 584px;" %)AT+RECV 532 532 |(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response** ... ... @@ -534,14 +534,16 @@ 534 534 OK 535 535 ))) 536 536 611 +(% style="display:none" %) (%%) 612 + 537 537 == 6.7 Print Last Received Data in Binary Format == 538 538 615 + 539 539 Feature: Print Last Received Data in Binary Format<port:data>. 540 540 541 -{{info}} 542 -**AT Command: AT+RECVB** 543 -{{/info}} 544 544 619 +(% style="color:blue" %)**AT Command: AT+RECVB** 620 + 545 545 (% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %) 546 546 |=(% colspan="3" style="width: 790px;" %)AT+RECVB 547 547 |(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response** ... ... @@ -549,53 +549,54 @@ 549 549 OK 550 550 ))) 551 551 628 +(% style="display:none" %) (%%) 629 + 552 552 == 6.8 Send Text Data == 553 553 632 + 554 554 Feature: Send Text Data<port:data>. 555 555 556 -{{info}} 557 -**AT Command: AT+SEND** 558 -{{/info}} 559 559 636 +(% style="color:blue" %)**AT Command: AT+SEND** 637 + 560 560 (% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %) 561 561 |=(% colspan="3" style="width: 988px;" %)AT+SEND 562 562 |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 563 563 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 564 564 While Error in format, return 565 - 566 566 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 567 - 568 - 569 569 ))) 570 570 646 +(% style="display:none" %) (%%) 647 + 571 571 == 6.9 Send Hexadecimal Data == 572 572 650 + 573 573 Feature: Send hexadecimal data along with the application port. 574 574 575 -{{info}} 576 -**AT Command: AT+SENDB** 577 -{{/info}} 578 578 579 -(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %) 580 -|=(% colspan="3" style="width: 1117px;" %)AT+SENDB 581 -|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response** 582 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK 583 -|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)While Error in format, return((( 584 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 654 +(% style="color:blue" %)**AT Command: AT+SENDB** 585 585 586 - 656 +(% border="1" style="background-color:#ffffcc; color:green; width:1101px" %) 657 +|=(% colspan="3" style="width: 1098px;" %)AT+SENDB 658 +|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response** 659 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK 660 +|(% 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((( 661 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 587 587 ))) 588 588 664 +(% style="display:none" %) (%%) 665 + 589 589 = 7. LoRaWAN network management = 590 590 591 591 == 7.1 Adaptive Data Rate == 592 592 670 + 593 593 Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on). 594 594 595 -{{info}} 596 -**AT Command: AT+ADR** 597 -{{/info}} 598 598 674 +(% style="color:blue" %)**AT Command: AT+ADR** 675 + 599 599 (% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %) 600 600 |=(% colspan="3" style="width: 680px;" %)AT+ADR 601 601 |(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response** ... ... @@ -607,24 +607,23 @@ 607 607 AT_PARAM_ERROR 608 608 ))) 609 609 610 -{{info}} 611 -**Downlink Command: 0x22** 612 -{{/info}} 687 +(% style="color:blue" %)**Downlink Command: 0x22** 613 613 614 - 615 615 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 616 616 617 -* **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 618 -* **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 691 +* **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 692 +* **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 619 619 694 +(% style="display:none" %) (%%) 695 + 620 620 == 7.2 LoRa® Class == 621 621 698 + 622 622 Feature: Get or Set the Device Class(Currently only support class A, class C). 623 623 624 -{{info}} 625 -**AT Command:AT+CLASS** 626 -{{/info}} 627 627 702 +(% style="color:blue" %)**AT Command: AT+CLASS** 703 + 628 628 (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %) 629 629 |=(% colspan="3" style="width: 504px;" %)AT+CLASS 630 630 |(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response** ... ... @@ -632,17 +632,18 @@ 632 632 OK 633 633 ))) 634 634 |(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK((( 635 - 636 636 ))) 637 637 713 +(% style="display:none" %) (%%) 714 + 638 638 == 7.3 Duty Cycle Setting == 639 639 640 -Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing. 641 641 642 -{{info}} 643 -**AT Command:AT+DCS** 644 -{{/info}} 718 +Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing. 645 645 720 + 721 +(% style="color:blue" %)**AT Command: AT+DCS** 722 + 646 646 (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %) 647 647 |=(% colspan="3" style="width: 512px;" %)AT+DCS 648 648 |(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response** ... ... @@ -650,17 +650,23 @@ 650 650 OK 651 651 ))) 652 652 |(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK((( 653 - 654 654 ))) 655 655 732 +(% style="display:none" %) (%%) 733 + 656 656 == 7.4 Data Rate == 657 657 658 -Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . Note: while set Data Rate, please use set Adptive Data Rate, ADR=0 first. otherwise device will response to server's ADR command and change the DR to the setting from server 659 659 660 -{{info}} 661 -**AT Command: AT+DR** 662 -{{/info}} 737 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . 663 663 739 +(% style="color:red" %) 740 +**Notice:** 741 + 742 +* 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. 743 +* 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/]] 744 + 745 +(% style="color:blue" %)**AT Command: AT+DR** 746 + 664 664 (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %) 665 665 |=(% colspan="3" style="width: 463px;" %)AT+DR 666 666 |(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response** ... ... @@ -671,24 +671,23 @@ 671 671 672 672 ))) 673 673 674 -{{info}} 675 -**Downlink Command: 0x2200aaFF** 676 -{{/info}} 757 +(% style="color:blue" %)**Downlink Command: 0x2200aaFF** 677 677 678 - 679 679 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 680 680 681 -* **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 682 -* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 761 +* **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 762 +* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 683 683 764 +(% style="display:none" %) (%%) 765 + 684 684 == 7.5 Frame Counter Downlink == 685 685 768 + 686 686 Feature: Get or Set the Frame Counter Downlink. 687 687 688 -{{info}} 689 -**AT Command:AT+FCD** 690 -{{/info}} 691 691 772 +(% style="color:blue" %)**AT Command: AT+FCD** 773 + 692 692 (% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %) 693 693 |=(% colspan="3" style="width: 690px;" %)AT+FCD 694 694 |(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response** ... ... @@ -697,8 +697,6 @@ 697 697 ))) 698 698 |(% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)((( 699 699 OK 700 - 701 - 702 702 ))) 703 703 704 704 == 7.6 Frame Counter Uplink == ... ... @@ -705,10 +705,9 @@ 705 705 706 706 Feature: Get or Set the Frame Counter Uplink. 707 707 708 -{{info}} 709 -**AT Command:AT+FCU** 710 -{{/info}} 711 711 789 +(% style="color:blue" %)**AT Command: AT+FCU** 790 + 712 712 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 713 713 |=(% colspan="3" style="width: 531px;" %)AT+FCU 714 714 |(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response** ... ... @@ -716,17 +716,18 @@ 716 716 OK 717 717 ))) 718 718 |(% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK((( 719 - 720 720 ))) 721 721 800 +(% style="display:none" %) (%%) 801 + 722 722 == 7.7 Join Accept Delay1 == 723 723 804 + 724 724 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms. 725 725 726 -{{info}} 727 -**AT Command:AT+JN1DL** 728 -{{/info}} 729 729 808 +(% style="color:blue" %)**AT Command: AT+JN1DL** 809 + 730 730 (% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %) 731 731 |=(% colspan="3" style="width: 534px;" %)AT+JN1DL 732 732 |(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response** ... ... @@ -734,17 +734,18 @@ 734 734 OK 735 735 ))) 736 736 |(% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK((( 737 - 738 738 ))) 739 739 819 +(% style="display:none" %) (%%) 820 + 740 740 == 7.8 Join Accept Delay2 == 741 741 823 + 742 742 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms. 743 743 744 -{{info}} 745 -**AT Command:AT+JN2DL** 746 -{{/info}} 747 747 827 +(% style="color:blue" %)**AT Command: AT+JN2DL** 828 + 748 748 (% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %) 749 749 |=(% colspan="3" style="width: 535px;" %)AT+JN2DL 750 750 |(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response** ... ... @@ -752,17 +752,20 @@ 752 752 OK 753 753 ))) 754 754 |(% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK((( 755 - 756 756 ))) 757 757 838 +(% style="display:none" %) (%%) 839 + 758 758 == 7.9 Public Network Mode == 759 759 760 -Feature: Get or Set the public network mode. (0: off, 1: on) 761 761 762 -{{info}} 763 -**AT Command:AT+PNM** 764 -{{/info}} 843 +Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1 765 765 845 +(% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.** 846 + 847 + 848 +(% style="color:blue" %)**AT Command: AT+PNM** 849 + 766 766 (% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %) 767 767 |=(% colspan="3" style="width: 664px;" %)AT+PNM 768 768 |(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response** ... ... @@ -769,20 +769,27 @@ 769 769 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 770 770 OK 771 771 ))) 772 -|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)Set the public network mode.|(% style="width:272px" %)(System will write new value to PNM)((( 856 +|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)((( 857 +Set the public network mode. 858 + 859 +Set syncword=0x34 860 +)))|(% style="width:272px" %)(System will write new value to PNM)((( 773 773 OK 774 774 775 775 776 776 ))) 865 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 777 777 867 +(% style="display:none" %) (%%) 868 + 778 778 == 7.10 Receive Delay1 == 779 779 871 + 780 780 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms 781 781 782 -{{info}} 783 -**AT Command:AT+RX1DL** 784 -{{/info}} 785 785 875 +(% style="color:blue" %)**AT Command: AT+RX1DL** 876 + 786 786 (% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %) 787 787 |=(% colspan="3" style="width: 405px;" %)AT+RX1DL 788 788 |(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response** ... ... @@ -790,17 +790,18 @@ 790 790 OK 791 791 ))) 792 792 |(% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK((( 793 - 794 794 ))) 795 795 886 +(% style="display:none" %) (%%) 887 + 796 796 == 7.11 Receive Delay2 == 797 797 890 + 798 798 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 799 799 800 -{{info}} 801 -**AT Command:AT+RX2DL** 802 -{{/info}} 803 803 894 +(% style="color:blue" %)**AT Command: AT+RX2DL** 895 + 804 804 (% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %) 805 805 |=(% colspan="3" style="width: 478px;" %)AT+RX2DL 806 806 |(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response** ... ... @@ -808,17 +808,18 @@ 808 808 OK 809 809 ))) 810 810 |(% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK((( 811 - 812 812 ))) 813 813 905 +(% style="display:none" %) (%%) 906 + 814 814 == 7.12 Rx2 Window Data Rate == 815 815 909 + 816 816 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X) 817 817 818 -{{info}} 819 -**AT Command:AT+RX2DR** 820 -{{/info}} 821 821 913 +(% style="color:blue" %)**AT Command: AT+RX2DR** 914 + 822 822 (% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %) 823 823 |=(% colspan="3" style="width: 522px;" %)AT+RX2DR 824 824 |(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response** ... ... @@ -826,17 +826,18 @@ 826 826 OK 827 827 ))) 828 828 |(% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK((( 829 - 830 830 ))) 831 831 924 +(% style="display:none" %) (%%) 925 + 832 832 == 7.13 Rx2 Window Frequency == 833 833 928 + 834 834 Feature: Get or Set the Rx2 window frequency 835 835 836 -{{info}} 837 -**AT Command:AT+RX2FQ** 838 -{{/info}} 839 839 932 +(% style="color:blue" %)**AT Command: AT+RX2FQ** 933 + 840 840 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 841 841 |=(% colspan="3" style="width: 584px;" %)AT+RX2FQ 842 842 |(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response** ... ... @@ -844,17 +844,20 @@ 844 844 OK 845 845 ))) 846 846 |(% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK((( 847 - 848 848 ))) 849 849 943 +(% style="display:none" %) (%%) 944 + 850 850 == 7.14 Transmit Power == 851 851 947 + 852 852 Feature: Get or Set the Transmit Power(0-5, MAX:0, MIN:5, according to LoRaWAN Spec, or 40=10dB, 41 = 11dB, …, 50 = 20dB which is out of LoRaWAN spec. ) 853 853 854 -{{info}} 855 -**AT Command:AT+TXP** 856 -{{/info}} 950 +(% style="color:red" %)**Notice: Transmit Power might be changed by ADR from LoRaWAN server. So manually change TXP also remember to set AT+ADR=0 in sensor** 857 857 952 + 953 +(% style="color:blue" %)**AT Command: AT+TXP** 954 + 858 858 (% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %) 859 859 |=(% colspan="3" style="width: 462px;" %)AT+TXP 860 860 |(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response** ... ... @@ -862,7 +862,6 @@ 862 862 OK 863 863 ))) 864 864 |(% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK((( 865 - 866 866 ))) 867 867 868 868 Downlink Payload. The 4th byte of 0x22 downlink. ... ... @@ -869,17 +869,19 @@ 869 869 870 870 If the downlink payload=22000100, it means setting the TXP to 0. 871 871 872 -* **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 873 -* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0. 968 +* **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 969 +* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0. 874 874 971 +(% style="display:none" %) (%%) 972 + 875 875 == 7.15 RSSI of the Last Received Packet == 876 876 975 + 877 877 Feature: Get or Set the Rx2 window frequency 878 878 879 -{{info}} 880 -**AT Command:AT+RSSI** 881 -{{/info}} 882 882 979 +(% style="color:blue" %)**AT Command:AT+RSSI** 980 + 883 883 (% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %) 884 884 |=(% colspan="3" style="width: 554px;" %)AT+RSSI 885 885 |(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response** ... ... @@ -887,14 +887,16 @@ 887 887 OK 888 888 ))) 889 889 988 +(% style="display:none" %) (%%) 989 + 890 890 == 7.16 SNR of the Last Received Packet == 891 891 992 + 892 892 Feature: Get the SNR of the last received packet 893 893 894 -{{info}} 895 -**AT Command:AT+SNR** 896 -{{/info}} 897 897 996 +(% style="color:blue" %)**AT Command: AT+SNR** 997 + 898 898 (% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %) 899 899 |=(% colspan="3" style="width: 568px;" %)AT+SNR 900 900 |(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response** ... ... @@ -902,14 +902,16 @@ 902 902 OK 903 903 ))) 904 904 1005 +(% style="display:none" %) (%%) 1006 + 905 905 == 7.17 Application Port == 906 906 1009 + 907 907 Feature: Get or set the application port. 908 908 909 -{{info}} 910 -**AT Command: AT+PORT** 911 -{{/info}} 912 912 1013 +(% style="color:blue" %)**AT Command: AT+PORT** 1014 + 913 913 (% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %) 914 914 |=(% colspan="3" style="width: 497px;" %)AT+PORT 915 915 |(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response** ... ... @@ -918,25 +918,25 @@ 918 918 ))) 919 919 |(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK 920 920 921 -{{info}} 922 -**Downlink Command: 0x23** 923 -{{/info}} 1023 +(% style="color:blue" %)**Downlink Command: 0x23** 924 924 925 925 Format: Command Code (0x23) followed by 1 bytes port value. 926 926 927 927 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 928 928 929 -* **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 930 -* **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1029 +* **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1030 +* **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 931 931 1032 +(% style="display:none" %) (%%) 1033 + 932 932 == 7.18 Single Channel Mode == 933 933 1036 + 934 934 Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode. 935 935 936 -{{info}} 937 -**AT Command: AT+CHS** 938 -{{/info}} 939 939 1040 +(% style="color:blue" %)**AT Command: AT+CHS** 1041 + 940 940 (% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %) 941 941 |=(% colspan="3" style="width: 600px;" %)AT+CHS 942 942 |(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response** ... ... @@ -945,14 +945,16 @@ 945 945 ))) 946 946 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 947 947 1050 +(% style="display:none" %) (%%) 1051 + 948 948 == 7.19 Eight Channel Mode == 949 949 1054 + 950 950 Feature: Get or Set eight channels mode,Only for US915,AU915,CN470. 951 951 952 -{{info}} 953 -**AT Command: AT+CHE** 954 -{{/info}} 955 955 1058 +(% style="color:blue" %)**AT Command: AT+CHE** 1059 + 956 956 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 957 957 |=(% colspan="3" style="width: 707px;" %)AT+CHE 958 958 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** ... ... @@ -963,25 +963,25 @@ 963 963 ))) 964 964 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK 965 965 966 -{{info}} 967 -**Downlink Command: 0x24** 968 -{{/info}} 1070 +(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)** 969 969 970 970 Format: Command Code (0x24) followed by 1 bytes channel value. 971 971 972 972 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 973 973 974 -* **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 975 -* **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1076 +* **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1077 +* **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 976 976 1079 +(% style="display:none" %) (%%) 1080 + 977 977 == 7.20 Get or Set RXwindows1 timeout == 978 978 979 -Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255). 980 980 981 -{{info}} 982 -**AT Command: AT+RX1WTO** 983 -{{/info}} 1084 +Feature: Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255). 984 984 1086 + 1087 +(% style="color:blue" %)**AT Command: AT+RX1WTO** 1088 + 985 985 (% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %) 986 986 |=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO 987 987 |(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response** ... ... @@ -990,8 +990,10 @@ 990 990 ))) 991 991 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 992 992 1097 +(% style="display:none" %) (%%) 1098 + 993 993 ((( 994 -**AT+RX1 TWO**1100 +(% 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. 995 995 ))) 996 996 997 997 [[image:image-20220526162535-1.png]] ... ... @@ -998,18 +998,17 @@ 998 998 999 999 ((( 1000 1000 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. 1001 - 1002 - 1003 1003 ))) 1004 1004 1109 + 1005 1005 == 7.21 Get or Set RXwindows2 timeout == 1006 1006 1007 -Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255). 1008 1008 1009 -{{info}} 1010 -**AT Command: AT+RX2WTO** 1011 -{{/info}} 1113 +Feature: Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255). 1012 1012 1115 + 1116 +(% style="color:blue" %)**AT Command: AT+RX2WTO** 1117 + 1013 1013 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1014 1014 |=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO 1015 1015 |(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response** ... ... @@ -1018,14 +1018,16 @@ 1018 1018 ))) 1019 1019 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK 1020 1020 1126 +(% style="display:none" %) (%%) 1127 + 1021 1021 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1022 1022 1130 + 1023 1023 Feature: Get or Set uplinkdwelltime 1024 1024 1025 -{{info}} 1026 -**AT Command: AT+DWELLT** 1027 -{{/info}} 1028 1028 1134 +(% style="color:blue" %)**AT Command: AT+DWELLT** 1135 + 1029 1029 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1030 1030 |=(% colspan="3" style="width: 494px;" %)AT+DWELLT 1031 1031 |(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response** ... ... @@ -1034,23 +1034,25 @@ 1034 1034 ))) 1035 1035 |(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK 1036 1036 1037 -{{info}} 1038 -**Downlink Command: 0x25** 1039 -{{/info}} 1144 +(% style="color:blue" %)**Downlink Command: 0x25** 1040 1040 1041 1041 Format: Command Code (0x25) followed by 1 bytes state value. 1042 1042 1043 1043 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1044 1044 1045 -* **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1046 -* **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1150 +* **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1151 +* **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1047 1047 1153 +(% style="display:none" %) (%%) 1154 + 1048 1048 == 7.23 Set Packet Receiving Response Level == 1049 1049 1157 + 1050 1050 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. 1051 1051 1052 -RPL value: 1053 1053 1161 +**RPL value:** 1162 + 1054 1054 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1055 1055 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 1056 1056 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. ... ... @@ -1057,15 +1057,13 @@ 1057 1057 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1058 1058 * **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. 1059 1059 1060 -Case Analyes: 1169 +**Case Analyes:** 1061 1061 1062 1062 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1063 1063 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1064 1064 * 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. 1065 1065 1066 -{{info}} 1067 -**AT Command: AT+RPL** 1068 -{{/info}} 1175 +(% style="color:blue" %)**AT Command: AT+RPL** 1069 1069 1070 1070 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1071 1071 |=(% colspan="3" style="width: 533px;" %)AT+RPL ... ... @@ -1075,100 +1075,59 @@ 1075 1075 ))) 1076 1076 |(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK 1077 1077 1078 -{{info}} 1079 -**Downlink Command: 0x21** 1080 -{{/info}} 1185 +(% style="color:blue" %)**Downlink Command: 0x21** 1081 1081 1082 1082 Format: Command Code (0x21) followed by 1 bytes level value. 1083 1083 1084 1084 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1085 1085 1086 -* **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1087 -* **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1191 +* **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1192 +* **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1088 1088 1089 - ==7.24 Uplink fcnt settings(LWS007)==1194 +(% style="display:none" %) (%%) 1090 1090 1091 -{{info}} 1092 -**AT Command: AT+CFM** 1093 -{{/info}} 1196 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1094 1094 1095 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1096 -|=(% colspan="3" style="width: 707px;" %)AT+CFM 1097 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1098 -|(% style="width:160px" %)((( 1099 -AT+CFM=1,0,0 1100 1100 1101 -value1 1102 -)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)((( 1103 -1 1199 +(% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1104 1104 1201 +(% border="1" style="background-color:#ffffcc; color:green; width:589px" %) 1202 +|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS** 1203 +|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response** 1204 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1105 1105 OK 1106 1106 ))) 1107 -|(% style="width:1 60px" %)(((1108 - AT+CFM=0,?,01207 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)((( 1208 +value2: 0: uplink fcnt doesn't change for each NBTrans; 1109 1109 1110 -value2 1111 -)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)((( 1112 -0~~7 1113 - 1114 -OK 1115 -))) 1116 -|(% style="width:160px" %)((( 1117 -AT+CFM=0,0,1 1118 - 1119 -value3 1120 -)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)((( 1210 +1: uplink fcnt increase by 1 for each NBTrans. 1211 +)))|(% style="width:87px" %)((( 1121 1121 1 1122 1122 1123 1123 OK 1124 1124 ))) 1125 1125 1126 -{{info}} 1127 -**Downlink Command: 0x05** 1128 -{{/info}} 1217 +(% style="color:blue" %)**Downlink Command: 0x33** 1129 1129 1130 -Format: Command Code (0x 05) followed by 2 bytes mode value.1219 +Format: Command Code (0x33) followed by 2 bytes mode value. 1131 1131 1132 -If the downlink payload=0 5010101, it means set end node to use confirm mode, while type code is05.1221 +If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1133 1133 1134 -* Example 1: Downlink Payload: 0 5010101~/~/ Set AT+CFM=1,1,11135 -* Example 2: Downlink Payload: 5000700~/~/ Set AT+CFM=0,7,01223 +* Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1224 +* Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1136 1136 1137 - ==7.25 Controls NBTrans in unconfirmeduplink mode(LWS007 NBTrans:Set retransmissionpackets)==1226 +(% style="display:none" %) (%%) 1138 1138 1139 -{{info}} 1140 -**AT Command: AT+SETMAXNBTRANS ** 1141 -{{/info}} 1228 +== 7.25 Device offline rejoining (LWS007) == 1142 1142 1143 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1144 -|=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS** 1145 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1146 -|(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1((( 1147 -OK 1148 -))) 1149 -|(% style="width:160px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:263px" %)value2: 0: uplink fcnt doesn't change for each NBTrans; 1: uplink fcnt increase by 1 for each NBTrans.|(% style="width:109px" %)((( 1150 -1 1151 1151 1152 -OK 1153 -))) 1231 +(% style="color:blue" %)**AT Command: AT+DDETECT** 1154 1154 1155 -{{info}} 1156 -**Downlink Command: 0x33** 1157 -{{/info}} 1233 +AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1158 1158 1159 -Format: Command Code (0x33) followed by 2 bytes mode value. 1235 +* ACK_Timout_1: Unit: min 1236 +* ACK_Timout_2: Unit: min 1160 1160 1161 -If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1162 - 1163 -* Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1164 -* Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1165 - 1166 -== 7.26 Device offline rejoining (LWS007) == 1167 - 1168 -{{info}} 1169 -**AT Command: AT+DDETECT** 1170 -{{/info}} 1171 - 1172 1172 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1173 1173 |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1174 1174 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** ... ... @@ -1200,22 +1200,25 @@ 1200 1200 OK 1201 1201 ))) 1202 1202 1203 -{{info}} 1204 -**Downlink Command: 0x33** 1205 -{{/info}} 1269 +(% style="color:blue" %)**Downlink Command: 0x32** 1206 1206 1207 1207 Format: Command Code (0x32) followed by 2 bytes mode value. 1208 1208 1209 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 3 3.1273 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1210 1210 1211 -* Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1275 +* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1276 +** 0x01 : Flag 1277 +** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1278 +** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1279 +** **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. 1212 1212 1213 - ==7.27 Requesttheerver tosendanACK==1281 +(% style="display:none" %) (%%) 1214 1214 1215 -{{info}} 1216 -**AT Command: AT+PNACKMD** 1217 -{{/info}} 1283 +== 7.26 Request the server to send an ACK == 1218 1218 1285 + 1286 +(% style="color:blue" %)**AT Command: AT+PNACKMD** 1287 + 1219 1219 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1220 1220 |=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1221 1221 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** ... ... @@ -1224,26 +1224,60 @@ 1224 1224 ))) 1225 1225 |(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1226 1226 0 1296 +OK 1297 +))) 1227 1227 1299 +(% style="display:none" %) (%%) 1300 + 1301 +== 7.27 Adjust network rejoining interval == 1302 + 1303 + 1304 +(% style="color:blue" %)**AT Command: AT+RJTDC** 1305 + 1306 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1307 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1308 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1309 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30((( 1228 1228 OK 1311 + 1312 +the interval is 30 min 1229 1229 ))) 1314 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1315 +Set the ReJoin data transmission interval to 60 min 1316 +))) 1230 1230 1318 +(% style="color:blue" %)**Downlink Command: 0x26** 1319 + 1320 +Format: Command Code (0x26) followed by 2 bytes mode value. 1321 + 1322 +If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1323 + 1324 +* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1325 +* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1326 + 1327 +(% style="display:none" %) (%%) 1328 + 1231 1231 = 8. AT Commands Combination = 1232 1232 1233 1233 == 8.1 Set a fix RX2DR for downlink window == 1234 1234 1235 -* **AT+ADR=0 **~-~-> Disable ADR first 1236 -* **AT+RX2DR=xxxx** ~-~-> Set xxxx to your wanted DataRate 1237 1237 1334 +* (% style="color:blue" %)**AT+ADR=0 **(%%) **~-~->** Disable ADR first 1335 +* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~-~->** Set xxxx to your wanted DataRate 1336 + 1337 +(% style="display:none" %) (%%) 1338 + 1238 1238 == 8.2 Use Downlink Command to set a fix uplink DR == 1239 1239 1240 -{{info}} 1241 -**Downlink Command: 0x22000500** 1242 -{{/info}} 1243 1243 1244 - Same as:1342 +(% style="color:blue" %)**Downlink Command: 0x22000500** 1245 1245 1246 -* AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1247 -* AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1248 -* AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1249 -~)~)~) 1344 +**Same as:** 1345 + 1346 +* AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1347 + 1348 +* AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1349 + 1350 +* AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1351 + 1352 +