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,27 +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 LoRaWANDownlink:Thegatewaytransferdownlinkcommand in HEXformat.This page showsthe HEX formatdownlinkcodeforeachcommand.butsomeserversusebase64asdownlinkcode.Belowarereferenceforhow to usedownlinkcommand:23 -** Use HEX format to senda downlink: [[TTNv3>>doc:Main.Notes forTTN.WebHome]]24 -** Use HEX format to send a downlink: [[ test>>Notes for TTN]]25 -** Use Base64 format to send a downlink: [[Chirpstack>> doc:Main.NotesWebHome]].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: 25 +** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 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]]? 26 26 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 27 27 29 +(% style="display:none" %) (%%) 30 + 28 28 = 3. Support End Node and firmware version = 29 29 33 + 30 30 (% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 31 31 |=(% colspan="3" style="width: 963px;" %)((( 32 32 Dragino STM32 base hardware Firmware / LoRaWAN stack list ... ... @@ -98,17 +98,18 @@ 98 98 ))) 99 99 ))) 100 100 105 +(% style="display:none" %) (%%) 106 + 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,33 +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" %) (%%) 145 + 139 139 == 4.2 Reboot End Node == 140 140 148 + 141 141 Feature: Reboot End Node to perform a new OTAA or ABP Join. 142 142 143 -{{info}} 144 -**AT Command: ATZ** 145 -{{/info}} 146 146 147 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 148 -|=(% colspan="3" %)ATZ: Trig a reset of the MCU 149 -|**Command Example**|**Function**|**Response** 150 -|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" %)((( 151 151 Device reset and show booting info 152 152 153 153 LSN50 Device/LoRa ST Module ... ... @@ -161,9 +161,7 @@ 161 161 <followed by the Tx and Rx information> 162 162 ))) 163 163 164 -{{info}} 165 -**Downlink Command: 0x04** 166 -{{/info}} 171 +(% style="color:blue" %)**Downlink Command: 0x04** 167 167 168 168 ((( 169 169 Format: Command Code (0x04) followed by FF. ... ... @@ -170,23 +170,22 @@ 170 170 ))) 171 171 172 172 ((( 173 -If the downlink payload=**04FF**, the end node will reboot. 174 - 175 - 178 +If the downlink payload=**04FF**, the end node will reboot. 176 176 ))) 177 177 181 + 178 178 == 4.3 Reset to factory Default == 179 179 184 + 180 180 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. 181 181 182 -{{info}} 183 -**AT Command: AT+FDR** 184 -{{/info}} 185 185 186 -(% border="1" style="background-color:#ffffcc; color:green; width:831.222px" %) 187 -|=(% colspan="3" style="width: 828px;" %)Reset to factory default 188 -|(% style="width:181px" %)**Command Example**|(% style="width:181px" %)**Function**|(% style="width:465px" %)**Response** 189 -|(% 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" %)((( 190 190 Device reset to factory default parameters and show booting info 191 191 192 192 LSN50 Device/LoRa ST Module ... ... @@ -200,9 +200,7 @@ 200 200 Please set the parameters or reset Device to apply change 201 201 ))) 202 202 203 -{{info}} 204 -**Downlink Command: 0x04** 205 -{{/info}} 207 +(% style="color:blue" %)**Downlink Command: 0x04** 206 206 207 207 ((( 208 208 Format: Command Code (0x04) followed by FE. ... ... @@ -215,24 +215,22 @@ 215 215 216 216 == 4.4 Show Firmware Version == 217 217 220 + 218 218 Feature: Show firmware version. No downlink command yet. 219 219 220 -{{info}} 221 -**AT Command: AT+VER** 222 -{{/info}} 223 223 224 -(% border="1" style="background-color:#ffffcc; color:green; width:586px" %) 225 -|=(% colspan="3" style="width: 583px;" %)AT+VER: Image Version and Frequency Band 226 -|(% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response** 227 -|(% 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" %)((( 228 228 1.3 EU868 229 229 230 230 OK 231 231 ))) 232 232 233 -{{info}} 234 -**Downlink Command: 0x26 (Valid in 006 stack)** 235 -{{/info}} 235 +(% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)** 236 236 237 237 ((( 238 238 Downlink Format: 0x26 ... ... @@ -243,6 +243,8 @@ 243 243 ))) 244 244 245 245 ((( 246 + 247 + 246 246 **xx: Software Type:** 247 247 ))) 248 248 ... ... @@ -251,6 +251,8 @@ 251 251 * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01 252 252 253 253 ((( 256 + 257 + 254 254 **yy: Frequency Band:** 255 255 ))) 256 256 ... ... @@ -266,6 +266,8 @@ 266 266 * 0xa0: AS923-3 267 267 268 268 ((( 273 + 274 + 269 269 **zz: Subband** 270 270 ))) 271 271 ... ... @@ -274,12 +274,12 @@ 274 274 275 275 == 4.5 Show System Configure == 276 276 283 + 277 277 Feature: Show All configure. No downlink command yet. 278 278 279 -{{info}} 280 -**AT Command: AT+CFG** 281 -{{/info}} 282 282 287 +(% style="color:blue" %)**AT Command: AT+CFG** 288 + 283 283 (% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %) 284 284 |=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations 285 285 |(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response** ... ... @@ -301,12 +301,12 @@ 301 301 302 302 == 5.1 Application EUI == 303 303 310 + 304 304 Feature: Get or Set the Application EUI. 305 305 306 -{{info}} 307 -**AT Command: AT+APPEUI** 308 -{{/info}} 309 309 314 +(% style="color:blue" %)**AT Command: AT+APPEUI** 315 + 310 310 (% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %) 311 311 |=(% colspan="3" style="width: 683px;" %)AT+APPEUI 312 312 |(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response** ... ... @@ -315,14 +315,16 @@ 315 315 ))) 316 316 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 317 317 324 +(% style="display:none" %) (%%) 325 + 318 318 == 5.2 Application Key == 319 319 328 + 320 320 Feature: Get or Set the Application Key. 321 321 322 -{{info}} 323 -**AT Command: AT+APPKEY** 324 -{{/info}} 325 325 332 +(% style="color:blue" %)**AT Command: AT+APPKEY** 333 + 326 326 (% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %) 327 327 |=(% colspan="3" style="width: 973px;" %)AT+APPKEY 328 328 |(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response** ... ... @@ -331,14 +331,16 @@ 331 331 ))) 332 332 |(% 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 333 333 342 +(% style="display:none" %) (%%) 343 + 334 334 == 5.3 Application Session Key == 335 335 346 + 336 336 Feature: Get or Set the Application Session Key. 337 337 338 -{{info}} 339 -**AT Command: AT+APPSKEY** 340 -{{/info}} 341 341 350 +(% style="color:blue" %)**AT Command: AT+APPSKEY** 351 + 342 342 (% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %) 343 343 |=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY 344 344 |(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response** ... ... @@ -349,14 +349,16 @@ 349 349 OK 350 350 ))) 351 351 362 +(% style="display:none" %) (%%) 363 + 352 352 == 5.4 Device Address == 353 353 366 + 354 354 Feature: Get or Set the Device Address. 355 355 356 -{{info}} 357 -**AT Command: AT+DADDR** 358 -{{/info}} 359 359 370 +(% style="color:blue" %)**AT Command: AT+DADDR** 371 + 360 360 (% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %) 361 361 |=(% colspan="3" style="width: 792px;" %)AT+DADDR 362 362 |(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response** ... ... @@ -367,14 +367,16 @@ 367 367 ))) 368 368 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 369 369 382 +(% style="display:none" %) (%%) 383 + 370 370 == 5.5 Device EUI == 371 371 386 + 372 372 Feature: Get or Set the Device EUI. 373 373 374 -{{info}} 375 -**AT Command: AT+DEUI** 376 -{{/info}} 377 377 390 +(% style="color:blue" %)**AT Command: AT+DEUI** 391 + 378 378 (% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %) 379 379 |=(% colspan="3" style="width: 1032px;" %)AT+DEUI 380 380 |(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response** ... ... @@ -385,14 +385,16 @@ 385 385 OK 386 386 ))) 387 387 402 +(% style="display:none" %) (%%) 403 + 388 388 == 5.6 Network ID == 389 389 406 + 390 390 Feature: Get or Set the Network ID.(You can enter this command change only after successful network connection) 391 391 392 -{{info}} 393 -**AT Command: AT+NWKID** 394 -{{/info}} 395 395 410 +(% style="color:blue" %)**AT Command: AT+NWKID** 411 + 396 396 (% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %) 397 397 |=(% colspan="3" style="width: 445px;" %)AT+NWKID 398 398 |(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response** ... ... @@ -401,14 +401,16 @@ 401 401 ))) 402 402 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK 403 403 420 +(% style="display:none" %) (%%) 421 + 404 404 == 5.7 Network Session Key == 405 405 424 + 406 406 Feature: Get or Set the Network Session Key 407 407 408 -{{info}} 409 -**AT Command: AT+NWKSKEY** 410 -{{/info}} 411 411 428 +(% style="color:blue" %)**AT Command: AT+NWKSKEY** 429 + 412 412 (% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %) 413 413 |=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY 414 414 |(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response** ... ... @@ -417,16 +417,20 @@ 417 417 ))) 418 418 |(% 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 419 419 438 +(% style="display:none" %) (%%) 439 + 420 420 = 6. Joining and sending date on LoRaWAN network = 421 421 422 422 == 6.1 Confirm Mode == 423 423 444 +=== 6.1.1 AT+CFM command before DR-LWS007 software stack === 445 + 446 + 424 424 Feature: Get or Set the confirmation mode (0-1). 425 425 426 -{{info}} 427 -**AT Command: AT+CFM** 428 -{{/info}} 429 429 450 +(% style="color:blue" %)**AT Command: AT+CFM** 451 + 430 430 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 431 431 |=(% colspan="3" style="width: 707px;" %)AT+CFM 432 432 |(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response** ... ... @@ -436,38 +436,87 @@ 436 436 |(% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK 437 437 |(% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR 438 438 439 -Downlink Command: 0x05 461 +(% style="color:blue" %)**Downlink Command: 0x05** 440 440 441 441 Format: Command Code (0x05) followed by 2 bytes mode value. 442 442 443 443 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05. 444 444 445 -* Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1 446 -* 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 447 447 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 + 448 448 == 6.2 Confirm Status == 449 449 521 + 450 450 Feature: Get confirmation status of the last AT+SEND (0-1). 451 451 452 -{{info}} 453 -**AT Command: AT+CFS** 454 -{{/info}} 455 455 456 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 457 -|=(% colspan="3" style="width: 531px;" %)AT+CFS 458 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response** 459 -|(% 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((( 460 460 OK 461 461 ))) 462 462 463 463 == 6.3 Join LoRa® Network == 464 464 536 + 465 465 Feature: Join network. 466 466 467 -{{info}} 468 -**AT Command: AT+JOIN** 469 -{{/info}} 470 470 540 +(% style="color:blue" %)**AT Command: AT+JOIN** 541 + 471 471 (% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %) 472 472 |=(% colspan="3" style="width: 644px;" %)AT+JOIN 473 473 |(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response** ... ... @@ -479,12 +479,12 @@ 479 479 480 480 == 6.4 LoRa® Network Join Mode == 481 481 553 + 482 482 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA). 483 483 484 -{{info}} 485 -**AT Command: AT+NJM** 486 -{{/info}} 487 487 557 +(% style="color:blue" %)**AT Command: AT+NJM** 558 + 488 488 (% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %) 489 489 |=(% colspan="3" style="width: 750px;" %)AT+NJM 490 490 |(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response** ... ... @@ -494,25 +494,25 @@ 494 494 |(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK 495 495 |(% 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 496 496 497 -{{info}} 498 -**Downlink Command: 0x20** 499 -{{/info}} 568 +(% style="color:blue" %)**Downlink Command: 0x20** 500 500 501 501 Format: Command Code (0x20) followed by 1 bytes mode value. 502 502 503 503 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 504 504 505 -* **Example 1: **Downlink Payload: **2000** O506 -* **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 507 507 577 +(% style="display:none" %) (%%) 578 + 508 508 == 6.5 LoRa® Network Join Status == 509 509 581 + 510 510 Feature: LoRa® Network Join Status. 511 511 512 -{{info}} 513 -**AT Command: AT+NJS** 514 -{{/info}} 515 515 585 +(% style="color:blue" %)**AT Command: AT+NJS** 586 + 516 516 (% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %) 517 517 |=(% colspan="3" style="width: 495px;" %)AT+NJS 518 518 |(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response** ... ... @@ -520,14 +520,16 @@ 520 520 OK 521 521 ))) 522 522 594 +(% style="display:none" %) (%%) 595 + 523 523 == 6.6 Print Last Received Data in Raw Format == 524 524 598 + 525 525 Feature: Print Last Received Data in Raw Format<port:data>. 526 526 527 -{{info}} 528 -**AT Command: AT+RECV** 529 -{{/info}} 530 530 602 +(% style="color:blue" %)**AT Command: AT+RECV** 603 + 531 531 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 532 532 |=(% colspan="3" style="width: 584px;" %)AT+RECV 533 533 |(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response** ... ... @@ -535,14 +535,16 @@ 535 535 OK 536 536 ))) 537 537 611 +(% style="display:none" %) (%%) 612 + 538 538 == 6.7 Print Last Received Data in Binary Format == 539 539 615 + 540 540 Feature: Print Last Received Data in Binary Format<port:data>. 541 541 542 -{{info}} 543 -**AT Command: AT+RECVB** 544 -{{/info}} 545 545 619 +(% style="color:blue" %)**AT Command: AT+RECVB** 620 + 546 546 (% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %) 547 547 |=(% colspan="3" style="width: 790px;" %)AT+RECVB 548 548 |(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response** ... ... @@ -550,53 +550,54 @@ 550 550 OK 551 551 ))) 552 552 628 +(% style="display:none" %) (%%) 629 + 553 553 == 6.8 Send Text Data == 554 554 632 + 555 555 Feature: Send Text Data<port:data>. 556 556 557 -{{info}} 558 -**AT Command: AT+SEND** 559 -{{/info}} 560 560 636 +(% style="color:blue" %)**AT Command: AT+SEND** 637 + 561 561 (% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %) 562 562 |=(% colspan="3" style="width: 988px;" %)AT+SEND 563 563 |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 564 564 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 565 565 While Error in format, return 566 - 567 567 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 568 - 569 - 570 570 ))) 571 571 646 +(% style="display:none" %) (%%) 647 + 572 572 == 6.9 Send Hexadecimal Data == 573 573 650 + 574 574 Feature: Send hexadecimal data along with the application port. 575 575 576 -{{info}} 577 -**AT Command: AT+SENDB** 578 -{{/info}} 579 579 580 -(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %) 581 -|=(% colspan="3" style="width: 1117px;" %)AT+SENDB 582 -|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response** 583 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK 584 -|(% 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((( 585 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 654 +(% style="color:blue" %)**AT Command: AT+SENDB** 586 586 587 - 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 588 588 ))) 589 589 664 +(% style="display:none" %) (%%) 665 + 590 590 = 7. LoRaWAN network management = 591 591 592 592 == 7.1 Adaptive Data Rate == 593 593 670 + 594 594 Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on). 595 595 596 -{{info}} 597 -**AT Command: AT+ADR** 598 -{{/info}} 599 599 674 +(% style="color:blue" %)**AT Command: AT+ADR** 675 + 600 600 (% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %) 601 601 |=(% colspan="3" style="width: 680px;" %)AT+ADR 602 602 |(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response** ... ... @@ -608,24 +608,23 @@ 608 608 AT_PARAM_ERROR 609 609 ))) 610 610 611 -{{info}} 612 -**Downlink Command: 0x22** 613 -{{/info}} 687 +(% style="color:blue" %)**Downlink Command: 0x22** 614 614 615 - 616 616 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 617 617 618 -* **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 619 -* **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. 620 620 694 +(% style="display:none" %) (%%) 695 + 621 621 == 7.2 LoRa® Class == 622 622 698 + 623 623 Feature: Get or Set the Device Class(Currently only support class A, class C). 624 624 625 -{{info}} 626 -**AT Command:AT+CLASS** 627 -{{/info}} 628 628 702 +(% style="color:blue" %)**AT Command: AT+CLASS** 703 + 629 629 (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %) 630 630 |=(% colspan="3" style="width: 504px;" %)AT+CLASS 631 631 |(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response** ... ... @@ -633,17 +633,18 @@ 633 633 OK 634 634 ))) 635 635 |(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK((( 636 - 637 637 ))) 638 638 713 +(% style="display:none" %) (%%) 714 + 639 639 == 7.3 Duty Cycle Setting == 640 640 641 -Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing. 642 642 643 -{{info}} 644 -**AT Command:AT+DCS** 645 -{{/info}} 718 +Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing. 646 646 720 + 721 +(% style="color:blue" %)**AT Command: AT+DCS** 722 + 647 647 (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %) 648 648 |=(% colspan="3" style="width: 512px;" %)AT+DCS 649 649 |(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response** ... ... @@ -651,17 +651,23 @@ 651 651 OK 652 652 ))) 653 653 |(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK((( 654 - 655 655 ))) 656 656 732 +(% style="display:none" %) (%%) 733 + 657 657 == 7.4 Data Rate == 658 658 659 -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 660 660 661 -{{info}} 662 -**AT Command: AT+DR** 663 -{{/info}} 737 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . 664 664 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 + 665 665 (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %) 666 666 |=(% colspan="3" style="width: 463px;" %)AT+DR 667 667 |(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response** ... ... @@ -672,24 +672,23 @@ 672 672 673 673 ))) 674 674 675 -{{info}} 676 -**Downlink Command: 0x2200aaFF** 677 -{{/info}} 757 +(% style="color:blue" %)**Downlink Command: 0x2200aaFF** 678 678 679 - 680 680 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 681 681 682 -* **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 683 -* **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. 684 684 764 +(% style="display:none" %) (%%) 765 + 685 685 == 7.5 Frame Counter Downlink == 686 686 768 + 687 687 Feature: Get or Set the Frame Counter Downlink. 688 688 689 -{{info}} 690 -**AT Command:AT+FCD** 691 -{{/info}} 692 692 772 +(% style="color:blue" %)**AT Command: AT+FCD** 773 + 693 693 (% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %) 694 694 |=(% colspan="3" style="width: 690px;" %)AT+FCD 695 695 |(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response** ... ... @@ -698,8 +698,6 @@ 698 698 ))) 699 699 |(% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)((( 700 700 OK 701 - 702 - 703 703 ))) 704 704 705 705 == 7.6 Frame Counter Uplink == ... ... @@ -706,10 +706,9 @@ 706 706 707 707 Feature: Get or Set the Frame Counter Uplink. 708 708 709 -{{info}} 710 -**AT Command:AT+FCU** 711 -{{/info}} 712 712 789 +(% style="color:blue" %)**AT Command: AT+FCU** 790 + 713 713 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 714 714 |=(% colspan="3" style="width: 531px;" %)AT+FCU 715 715 |(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response** ... ... @@ -717,17 +717,18 @@ 717 717 OK 718 718 ))) 719 719 |(% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK((( 720 - 721 721 ))) 722 722 800 +(% style="display:none" %) (%%) 801 + 723 723 == 7.7 Join Accept Delay1 == 724 724 804 + 725 725 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms. 726 726 727 -{{info}} 728 -**AT Command:AT+JN1DL** 729 -{{/info}} 730 730 808 +(% style="color:blue" %)**AT Command: AT+JN1DL** 809 + 731 731 (% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %) 732 732 |=(% colspan="3" style="width: 534px;" %)AT+JN1DL 733 733 |(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response** ... ... @@ -735,17 +735,18 @@ 735 735 OK 736 736 ))) 737 737 |(% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK((( 738 - 739 739 ))) 740 740 819 +(% style="display:none" %) (%%) 820 + 741 741 == 7.8 Join Accept Delay2 == 742 742 823 + 743 743 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms. 744 744 745 -{{info}} 746 -**AT Command:AT+JN2DL** 747 -{{/info}} 748 748 827 +(% style="color:blue" %)**AT Command: AT+JN2DL** 828 + 749 749 (% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %) 750 750 |=(% colspan="3" style="width: 535px;" %)AT+JN2DL 751 751 |(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response** ... ... @@ -753,17 +753,20 @@ 753 753 OK 754 754 ))) 755 755 |(% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK((( 756 - 757 757 ))) 758 758 838 +(% style="display:none" %) (%%) 839 + 759 759 == 7.9 Public Network Mode == 760 760 761 -Feature: Get or Set the public network mode. (0: off, 1: on) 762 762 763 -{{info}} 764 -**AT Command:AT+PNM** 765 -{{/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 766 766 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 + 767 767 (% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %) 768 768 |=(% colspan="3" style="width: 664px;" %)AT+PNM 769 769 |(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response** ... ... @@ -770,20 +770,27 @@ 770 770 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 771 771 OK 772 772 ))) 773 -|(% 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)((( 774 774 OK 775 775 776 776 777 777 ))) 865 +|(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 778 778 867 +(% style="display:none" %) (%%) 868 + 779 779 == 7.10 Receive Delay1 == 780 780 871 + 781 781 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms 782 782 783 -{{info}} 784 -**AT Command:AT+RX1DL** 785 -{{/info}} 786 786 875 +(% style="color:blue" %)**AT Command: AT+RX1DL** 876 + 787 787 (% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %) 788 788 |=(% colspan="3" style="width: 405px;" %)AT+RX1DL 789 789 |(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response** ... ... @@ -791,17 +791,18 @@ 791 791 OK 792 792 ))) 793 793 |(% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK((( 794 - 795 795 ))) 796 796 886 +(% style="display:none" %) (%%) 887 + 797 797 == 7.11 Receive Delay2 == 798 798 890 + 799 799 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 800 800 801 -{{info}} 802 -**AT Command:AT+RX2DL** 803 -{{/info}} 804 804 894 +(% style="color:blue" %)**AT Command: AT+RX2DL** 895 + 805 805 (% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %) 806 806 |=(% colspan="3" style="width: 478px;" %)AT+RX2DL 807 807 |(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response** ... ... @@ -809,17 +809,18 @@ 809 809 OK 810 810 ))) 811 811 |(% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK((( 812 - 813 813 ))) 814 814 905 +(% style="display:none" %) (%%) 906 + 815 815 == 7.12 Rx2 Window Data Rate == 816 816 909 + 817 817 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X) 818 818 819 -{{info}} 820 -**AT Command:AT+RX2DR** 821 -{{/info}} 822 822 913 +(% style="color:blue" %)**AT Command: AT+RX2DR** 914 + 823 823 (% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %) 824 824 |=(% colspan="3" style="width: 522px;" %)AT+RX2DR 825 825 |(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response** ... ... @@ -827,17 +827,18 @@ 827 827 OK 828 828 ))) 829 829 |(% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK((( 830 - 831 831 ))) 832 832 924 +(% style="display:none" %) (%%) 925 + 833 833 == 7.13 Rx2 Window Frequency == 834 834 928 + 835 835 Feature: Get or Set the Rx2 window frequency 836 836 837 -{{info}} 838 -**AT Command:AT+RX2FQ** 839 -{{/info}} 840 840 932 +(% style="color:blue" %)**AT Command: AT+RX2FQ** 933 + 841 841 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 842 842 |=(% colspan="3" style="width: 584px;" %)AT+RX2FQ 843 843 |(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response** ... ... @@ -845,17 +845,20 @@ 845 845 OK 846 846 ))) 847 847 |(% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK((( 848 - 849 849 ))) 850 850 943 +(% style="display:none" %) (%%) 944 + 851 851 == 7.14 Transmit Power == 852 852 947 + 853 853 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. ) 854 854 855 -{{info}} 856 -**AT Command:AT+TXP** 857 -{{/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** 858 858 952 + 953 +(% style="color:blue" %)**AT Command: AT+TXP** 954 + 859 859 (% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %) 860 860 |=(% colspan="3" style="width: 462px;" %)AT+TXP 861 861 |(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response** ... ... @@ -863,7 +863,6 @@ 863 863 OK 864 864 ))) 865 865 |(% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK((( 866 - 867 867 ))) 868 868 869 869 Downlink Payload. The 4th byte of 0x22 downlink. ... ... @@ -870,17 +870,19 @@ 870 870 871 871 If the downlink payload=22000100, it means setting the TXP to 0. 872 872 873 -* **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 874 -* **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. 875 875 971 +(% style="display:none" %) (%%) 972 + 876 876 == 7.15 RSSI of the Last Received Packet == 877 877 975 + 878 878 Feature: Get or Set the Rx2 window frequency 879 879 880 -{{info}} 881 -**AT Command:AT+RSSI** 882 -{{/info}} 883 883 979 +(% style="color:blue" %)**AT Command:AT+RSSI** 980 + 884 884 (% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %) 885 885 |=(% colspan="3" style="width: 554px;" %)AT+RSSI 886 886 |(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response** ... ... @@ -888,14 +888,16 @@ 888 888 OK 889 889 ))) 890 890 988 +(% style="display:none" %) (%%) 989 + 891 891 == 7.16 SNR of the Last Received Packet == 892 892 992 + 893 893 Feature: Get the SNR of the last received packet 894 894 895 -{{info}} 896 -**AT Command:AT+SNR** 897 -{{/info}} 898 898 996 +(% style="color:blue" %)**AT Command: AT+SNR** 997 + 899 899 (% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %) 900 900 |=(% colspan="3" style="width: 568px;" %)AT+SNR 901 901 |(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response** ... ... @@ -903,14 +903,16 @@ 903 903 OK 904 904 ))) 905 905 1005 +(% style="display:none" %) (%%) 1006 + 906 906 == 7.17 Application Port == 907 907 1009 + 908 908 Feature: Get or set the application port. 909 909 910 -{{info}} 911 -**AT Command: AT+PORT** 912 -{{/info}} 913 913 1013 +(% style="color:blue" %)**AT Command: AT+PORT** 1014 + 914 914 (% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %) 915 915 |=(% colspan="3" style="width: 497px;" %)AT+PORT 916 916 |(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response** ... ... @@ -919,25 +919,25 @@ 919 919 ))) 920 920 |(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK 921 921 922 -{{info}} 923 -**Downlink Command: 0x23** 924 -{{/info}} 1023 +(% style="color:blue" %)**Downlink Command: 0x23** 925 925 926 926 Format: Command Code (0x23) followed by 1 bytes port value. 927 927 928 928 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 929 929 930 -* **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 931 -* **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 932 932 1032 +(% style="display:none" %) (%%) 1033 + 933 933 == 7.18 Single Channel Mode == 934 934 1036 + 935 935 Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode. 936 936 937 -{{info}} 938 -**AT Command: AT+CHS** 939 -{{/info}} 940 940 1040 +(% style="color:blue" %)**AT Command: AT+CHS** 1041 + 941 941 (% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %) 942 942 |=(% colspan="3" style="width: 600px;" %)AT+CHS 943 943 |(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response** ... ... @@ -946,14 +946,16 @@ 946 946 ))) 947 947 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 948 948 1050 +(% style="display:none" %) (%%) 1051 + 949 949 == 7.19 Eight Channel Mode == 950 950 1054 + 951 951 Feature: Get or Set eight channels mode,Only for US915,AU915,CN470. 952 952 953 -{{info}} 954 -**AT Command: AT+CHE** 955 -{{/info}} 956 956 1058 +(% style="color:blue" %)**AT Command: AT+CHE** 1059 + 957 957 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 958 958 |=(% colspan="3" style="width: 707px;" %)AT+CHE 959 959 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** ... ... @@ -964,25 +964,25 @@ 964 964 ))) 965 965 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK 966 966 967 -{{info}} 968 -**Downlink Command: 0x24** 969 -{{/info}} 1070 +(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)** 970 970 971 971 Format: Command Code (0x24) followed by 1 bytes channel value. 972 972 973 973 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 974 974 975 -* **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 976 -* **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 977 977 1079 +(% style="display:none" %) (%%) 1080 + 978 978 == 7.20 Get or Set RXwindows1 timeout == 979 979 980 -Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255). 981 981 982 -{{info}} 983 -**AT Command: AT+RX1WTO** 984 -{{/info}} 1084 +Feature: Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255). 985 985 1086 + 1087 +(% style="color:blue" %)**AT Command: AT+RX1WTO** 1088 + 986 986 (% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %) 987 987 |=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO 988 988 |(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response** ... ... @@ -991,8 +991,9 @@ 991 991 ))) 992 992 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 993 993 1097 +(% style="display:none" %) (%%) 994 994 ((( 995 -**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. 996 996 ))) 997 997 998 998 [[image:image-20220526162535-1.png]] ... ... @@ -999,18 +999,17 @@ 999 999 1000 1000 ((( 1001 1001 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. 1002 - 1003 - 1004 1004 ))) 1005 1005 1108 + 1006 1006 == 7.21 Get or Set RXwindows2 timeout == 1007 1007 1008 -Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255). 1009 1009 1010 -{{info}} 1011 -**AT Command: AT+RX2WTO** 1012 -{{/info}} 1112 +Feature: Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255). 1013 1013 1114 + 1115 +(% style="color:blue" %)**AT Command: AT+RX2WTO** 1116 + 1014 1014 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1015 1015 |=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO 1016 1016 |(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response** ... ... @@ -1021,12 +1021,12 @@ 1021 1021 1022 1022 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1023 1023 1127 + 1024 1024 Feature: Get or Set uplinkdwelltime 1025 1025 1026 -{{info}} 1027 -**AT Command: AT+DWELLT** 1028 -{{/info}} 1029 1029 1131 +(% style="color:blue" %)**AT Command: AT+DWELLT** 1132 + 1030 1030 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1031 1031 |=(% colspan="3" style="width: 494px;" %)AT+DWELLT 1032 1032 |(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response** ... ... @@ -1035,23 +1035,23 @@ 1035 1035 ))) 1036 1036 |(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK 1037 1037 1038 -{{info}} 1039 -**Downlink Command: 0x25** 1040 -{{/info}} 1141 +(% style="color:blue" %)**Downlink Command: 0x25** 1041 1041 1042 1042 Format: Command Code (0x25) followed by 1 bytes state value. 1043 1043 1044 1044 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1045 1045 1046 -* **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1047 -* **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 1048 1048 1049 1049 == 7.23 Set Packet Receiving Response Level == 1050 1050 1152 + 1051 1051 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. 1052 1052 1053 -RPL value: 1054 1054 1156 +**RPL value:** 1157 + 1055 1055 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1056 1056 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 1057 1057 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. ... ... @@ -1058,15 +1058,13 @@ 1058 1058 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1059 1059 * **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. 1060 1060 1061 -Case Analyes: 1164 +**Case Analyes:** 1062 1062 1063 1063 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1064 1064 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1065 1065 * 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. 1066 1066 1067 -{{info}} 1068 -**AT Command: AT+RPL** 1069 -{{/info}} 1170 +(% style="color:blue" %)**AT Command: AT+RPL** 1070 1070 1071 1071 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1072 1072 |=(% colspan="3" style="width: 533px;" %)AT+RPL ... ... @@ -1076,32 +1076,158 @@ 1076 1076 ))) 1077 1077 |(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK 1078 1078 1079 -{{info}} 1080 -**Downlink Command: 0x21** 1081 -{{/info}} 1180 +(% style="color:blue" %)**Downlink Command: 0x21** 1082 1082 1083 1083 Format: Command Code (0x21) followed by 1 bytes level value. 1084 1084 1085 1085 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1086 1086 1087 -* **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1088 -* **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 1089 1089 1189 +== 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1190 + 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 + 1090 1090 = 8. AT Commands Combination = 1091 1091 1092 1092 == 8.1 Set a fix RX2DR for downlink window == 1093 1093 1094 -* **AT+ADR=0 **~-~-> Disable ADR first 1095 -* **AT+RX2DR=xxxx** ~-~-> Set xxxx to your wanted DataRate 1096 1096 1320 +* (% style="color:blue" %)**AT+ADR=0 **(%%) **~-~->** Disable ADR first 1321 +* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~-~->** Set xxxx to your wanted DataRate 1322 + 1097 1097 == 8.2 Use Downlink Command to set a fix uplink DR == 1098 1098 1099 -{{info}} 1100 -**Downlink Command: 0x22000500** 1101 -{{/info}} 1102 1102 1103 - Same as:1326 +(% style="color:blue" %)**Downlink Command: 0x22000500** 1104 1104 1105 -* AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1106 -* AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1107 -* 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 +