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