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
-
... ... @@ -9,42 +9,35 @@ 9 9 10 10 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: 11 11 12 -* **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device. 13 -* **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. 14 14 14 +* (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device. 15 + 15 15 ((( 16 16 **This page shows the common commands since Dragino LoRaWAN stack DR-LWS-005. Make sure the end node support stack higher than DR-LWS-005 before checking this page.** 17 - 18 - 19 - 20 20 ))) 21 21 20 + 22 22 = 2. How to use AT Commands or Downlink command = 23 23 24 24 25 -* 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/]] 26 -* 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: 24 +* **AT Command** : See Devices User Manual for how to connect to device via USB TTL adapter and use. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]] 25 + 26 +* **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: 27 27 ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 28 -** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]] 28 +** 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]]? 29 29 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 30 30 31 +(% style="display:none" %) (%%) 31 31 32 - 33 33 = 3. Support End Node and firmware version = 34 34 35 35 36 -(% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 37 -|=(% colspan="3" style="width: 963px;" %)((( 38 38 Dragino STM32 base hardware Firmware / LoRaWAN stack list 39 -))) 37 + 38 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %) 39 +|(% style="background-color:#4f81bd; color:white; width:187px" %)**Model**|(% style="background-color:#4f81bd; color:white; width:330px" %)**Description**|(% style="background-color:#4f81bd; color:white; width:445px" %)**Firmware Version <~-~-> Stack Version** 40 40 |(% style="width:187px" %)((( 41 -**Model** 42 -)))|(% style="width:330px" %)((( 43 -**Description** 44 -)))|(% style="width:445px" %)((( 45 -**Firmware Version <~-~-> Stack Version** 46 -))) 47 -|(% style="width:187px" %)((( 48 48 [[LSN50-v1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/128-lsn50.html]], [[LSN50-V2>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/155-lsn50-v2.html]], 49 49 )))|(% style="width:330px" %)((( 50 50 Open Source Generic LoRaWAN Sensor Node ... ... @@ -104,12 +104,10 @@ 104 104 ))) 105 105 ))) 106 106 100 +(% style="display:none" %) (%%) 107 107 108 - 109 - 110 110 = 4. System Management Commands = 111 111 112 - 113 113 == 4.1 Change Uplink Interval == 114 114 115 115 ... ... @@ -118,9 +118,8 @@ 118 118 119 119 (% style="color:blue" %)**AT Command: AT+TDC** 120 120 121 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 122 -|=(% colspan="3" style="width: 724px;" %)AT+TDC 123 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 112 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %) 113 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Response** 124 124 |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 125 125 OK 126 126 ... ... @@ -131,8 +131,6 @@ 131 131 ))) 132 132 133 133 ((( 134 - 135 - 136 136 (% style="color:blue" %)**Downlink Command: 0x01** 137 137 138 138 Format: Command Code (0x01) followed by 3 bytes time value. ... ... @@ -139,16 +139,15 @@ 139 139 ))) 140 140 141 141 ((( 142 -If the downlink payload=0100003C, it means set the END Node ’s Transmit Interval to 0x00003C=60(S), while type code is 01.130 +If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. 143 143 ))) 144 144 145 145 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 134 + 146 146 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 147 147 137 +(% style="display:none" %) (%%) 148 148 149 - 150 - 151 - 152 152 == 4.2 Reboot End Node == 153 153 154 154 ... ... @@ -155,11 +155,10 @@ 155 155 Feature: Reboot End Node to perform a new OTAA or ABP Join. 156 156 157 157 158 -(% style="color:blue" %)**AT Command: ATZ** 145 +(% style="color:blue" %)**AT Command: ATZ ~/~/ **(%%)Trig a reset of the MCU 159 159 160 -(% border="1" style="background-color:#ffffcc; color:green; width:546px" %) 161 -|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU 162 -|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response** 147 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %) 148 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:92px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:294px" %)**Response** 163 163 |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)((( 164 164 Device reset and show booting info 165 165 ... ... @@ -181,12 +181,10 @@ 181 181 ))) 182 182 183 183 ((( 184 -If the downlink payload=**04FF**, the end node will reboot. 185 - 186 - 187 - 170 +If the downlink payload=**04FF**, the end node will reboot. 188 188 ))) 189 189 173 + 190 190 == 4.3 Reset to factory Default == 191 191 192 192 ... ... @@ -193,11 +193,10 @@ 193 193 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. 194 194 195 195 196 -(% style="color:blue" %)**AT Command: AT+FDR** 180 +(% style="color:blue" %)**AT Command: AT+FDR ~/~/ **(%%)Reset to factory default 197 197 198 -(% border="1" style="background-color:#ffffcc; color:green; width:789px" %) 199 -|=(% colspan="3" style="width: 786px;" %)Reset to factory default 200 -|(% style="width:154px" %)**Command Example**|(% style="width:175px" %)**Function**|(% style="width:456px" %)**Response** 182 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %) 183 +|(% style="background-color:#4f81bd; color:white; width:154px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:456px" %)**Response** 201 201 |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)((( 202 202 Device reset to factory default parameters and show booting info 203 203 ... ... @@ -223,7 +223,6 @@ 223 223 ))) 224 224 225 225 226 - 227 227 == 4.4 Show Firmware Version == 228 228 229 229 ... ... @@ -230,11 +230,10 @@ 230 230 Feature: Show firmware version. No downlink command yet. 231 231 232 232 233 -(% style="color:blue" %)**AT Command: AT+VER** 215 +(% style="color:blue" %)**AT Command: AT+VER ~/~/ **(%%)Image Version and Frequency Band 234 234 235 -(% border="1" style="background-color:#ffffcc; color:green; width:542px" %) 236 -|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band 237 -|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response** 217 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %) 218 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response** 238 238 |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)((( 239 239 1.3 EU868 240 240 ... ... @@ -254,8 +254,7 @@ 254 254 ((( 255 255 256 256 257 - 258 -**xx: Software Type:** 238 +(% style="color:#037691" %)**xx: Software Type:** 259 259 ))) 260 260 261 261 * 0x00 01: LGT92 Version ... ... @@ -265,7 +265,7 @@ 265 265 ((( 266 266 267 267 268 -**yy: Frequency Band:** 248 +(% style="color:#037691" %)**yy: Frequency Band:** 269 269 ))) 270 270 271 271 * 0x01: EU868 ... ... @@ -282,13 +282,12 @@ 282 282 ((( 283 283 284 284 285 -**zz: Subband** 265 +(% style="color:#037691" %)**zz: Subband** 286 286 ))) 287 287 288 288 firmware version: v1.1.0 ~-~-> 110 289 289 290 290 291 - 292 292 == 4.5 Show System Configure == 293 293 294 294 ... ... @@ -295,31 +295,23 @@ 295 295 Feature: Show All configure. No downlink command yet. 296 296 297 297 298 -(% style="color:blue" %)**AT Command: AT+CFG** 277 +(% style="color:blue" %)**AT Command: AT+CFG ~/~/ **(%%)Print all configurations 299 299 300 -(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %) 301 -|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations 302 -|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response** 279 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %) 280 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:154px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:280px" %)**Response** 303 303 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 304 304 AT+DEUI = XX XX XX XX XX XX XX XX 305 - 306 306 AT+DADDR=XXXXXXXX 307 - 308 308 ………. 309 - 310 310 AT+RX2WTO=X 311 - 312 312 AT+CHS=868100000 313 - 314 314 OK 315 315 ))) 316 316 290 +(% style="display:none" %) (%%) 317 317 318 - 319 - 320 320 = 5. Keys, IDs and EUIs management = 321 321 322 - 323 323 == 5.1 Application EUI == 324 324 325 325 ... ... @@ -328,17 +328,15 @@ 328 328 329 329 (% style="color:blue" %)**AT Command: AT+APPEUI** 330 330 331 -(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %) 332 -|=(% colspan="3" style="width: 683px;" %)AT+APPEUI 333 -|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response** 334 -|(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00((( 302 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %) 303 +|(% style="background-color:#4f81bd; color:white; width:272px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:182px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:184px" %)**Response** 304 +|(% style="width:272px" %)AT+APPEUI=?|(% style="width:182px" %)Get the Application EUI|(% style="width:184px" %)00 b3 d5 00 00 00 00 00((( 335 335 OK 336 336 ))) 337 -|(% style="width: 305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK307 +|(% style="width:272px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:182px" %)Set the Application EUI|(% style="width:184px" %)OK 338 338 309 +(% style="display:none" %) (%%) 339 339 340 - 341 - 342 342 == 5.2 Application Key == 343 343 344 344 ... ... @@ -347,17 +347,15 @@ 347 347 348 348 (% style="color:blue" %)**AT Command: AT+APPKEY** 349 349 350 -(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %) 351 -|=(% colspan="3" style="width: 973px;" %)AT+APPKEY 352 -|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response** 319 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %) 320 +|(% style="background-color:#4f81bd; color:white; width:441px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:180px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:350px" %)**Response** 353 353 |(% style="width:441px" %)AT+APPKEY=?|(% style="width:180px" %)Get the Application Key|(% style="width:350px" %)00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35((( 354 354 OK 355 355 ))) 356 356 |(% 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 357 357 326 +(% style="display:none" %) (%%) 358 358 359 - 360 - 361 361 == 5.3 Application Session Key == 362 362 363 363 ... ... @@ -366,9 +366,8 @@ 366 366 367 367 (% style="color:blue" %)**AT Command: AT+APPSKEY** 368 368 369 -(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %) 370 -|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY 371 -|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response** 336 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %) 337 +|(% style="background-color:#4f81bd; color:white; width:451px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:231px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:354px" %)**Response** 372 372 |(% style="width:451px" %)AT+APPSKEY=?|(% style="width:231px" %)Get the Application Session Key|(% style="width:354px" %)00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2((( 373 373 OK 374 374 ))) ... ... @@ -376,9 +376,8 @@ 376 376 OK 377 377 ))) 378 378 345 +(% style="display:none" %) (%%) 379 379 380 - 381 - 382 382 == 5.4 Device Address == 383 383 384 384 ... ... @@ -387,9 +387,8 @@ 387 387 388 388 (% style="color:blue" %)**AT Command: AT+DADDR** 389 389 390 -(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %) 391 -|=(% colspan="3" style="width: 792px;" %)AT+DADDR 392 -|(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response** 355 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %) 356 +|(% style="background-color:#4f81bd; color:white; width:192px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:241px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:359px" %)**Response** 393 393 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)((( 394 394 A8 40 41 FF 395 395 ... ... @@ -397,9 +397,8 @@ 397 397 ))) 398 398 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 399 399 364 +(% style="display:none" %) (%%) 400 400 401 - 402 - 403 403 == 5.5 Device EUI == 404 404 405 405 ... ... @@ -408,9 +408,8 @@ 408 408 409 409 (% style="color:blue" %)**AT Command: AT+DEUI** 410 410 411 -(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %) 412 -|=(% colspan="3" style="width: 1032px;" %)AT+DEUI 413 -|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response** 374 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %) 375 +|(% style="background-color:#4f81bd; color:white; width:250px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:634px" %)**Response** 414 414 |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55((( 415 415 OK 416 416 ))) ... ... @@ -418,9 +418,8 @@ 418 418 OK 419 419 ))) 420 420 383 +(% style="display:none" %) (%%) 421 421 422 - 423 - 424 424 == 5.6 Network ID == 425 425 426 426 ... ... @@ -429,17 +429,15 @@ 429 429 430 430 (% style="color:blue" %)**AT Command: AT+NWKID** 431 431 432 -(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %) 433 -|=(% colspan="3" style="width: 445px;" %)AT+NWKID 434 -|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response** 393 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %) 394 +|(% style="background-color:#4f81bd; color:white; width:191px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:153px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:101px" %)**Response** 435 435 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff((( 436 436 OK 437 437 ))) 438 438 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK 439 439 400 +(% style="display:none" %) (%%) 440 440 441 - 442 - 443 443 == 5.7 Network Session Key == 444 444 445 445 ... ... @@ -448,23 +448,19 @@ 448 448 449 449 (% style="color:blue" %)**AT Command: AT+NWKSKEY** 450 450 451 -(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %) 452 -|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY 453 -|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response** 410 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %) 411 +|(% style="background-color:#4f81bd; color:white; width:455px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:215px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:343px" %)**Response** 454 454 |(% style="width:455px" %)AT+NWKSKEY=?|(% style="width:215px" %)Get the Network Session Key.|(% style="width:343px" %)00 4f 19 25 52 ce 97 09 d7 fa 84 71 db 51 02 92((( 455 455 OK 456 456 ))) 457 457 |(% 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 458 458 417 +(% style="display:none" %) (%%) 459 459 460 - 461 - 462 462 = 6. Joining and sending date on LoRaWAN network = 463 463 464 - 465 465 == 6.1 Confirm Mode == 466 466 467 - 468 468 === 6.1.1 AT+CFM command before DR-LWS007 software stack === 469 469 470 470 ... ... @@ -473,9 +473,8 @@ 473 473 474 474 (% style="color:blue" %)**AT Command: AT+CFM** 475 475 476 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 477 -|=(% colspan="3" style="width: 707px;" %)AT+CFM 478 -|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response** 431 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 432 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:205px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:346px" %)**Response** 479 479 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0((( 480 480 OK 481 481 ))) ... ... @@ -489,19 +489,18 @@ 489 489 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05. 490 490 491 491 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 446 + 492 492 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 493 493 449 +(% style="display:none" %) (%%) 494 494 495 - 496 - 497 497 === 6.1.2 AT+CFM command since DR-LWS007 software stack === 498 498 499 499 500 500 (% style="color:blue" %)**AT Command: AT+CFM** 501 501 502 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 503 -|=(% colspan="3" style="width: 707px;" %)AT+CFM 504 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 456 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 457 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response** 505 505 |(% style="width:160px" %)((( 506 506 AT+CFM=1,0,0 507 507 ... ... @@ -537,11 +537,11 @@ 537 537 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 538 538 539 539 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 493 + 540 540 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 541 541 496 +(% style="display:none" %) (%%) 542 542 543 - 544 - 545 545 == 6.2 Confirm Status == 546 546 547 547 ... ... @@ -550,16 +550,14 @@ 550 550 551 551 (% style="color:blue" %)**AT Command: AT+CFS** 552 552 553 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 554 -|=(% colspan="3" style="width: 531px;" %)AT+CFS 555 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response** 556 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0((( 506 +(% border="1" style="background-color:#f2f2f2; width:463px" %) 507 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:193px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:107px" %)**Response** 508 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0((( 557 557 OK 558 558 ))) 559 559 512 +(% style="display:none" %) (%%) 560 560 561 - 562 - 563 563 == 6.3 Join LoRa® Network == 564 564 565 565 ... ... @@ -568,18 +568,15 @@ 568 568 569 569 (% style="color:blue" %)**AT Command: AT+JOIN** 570 570 571 -(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %) 572 -|=(% colspan="3" style="width: 644px;" %)AT+JOIN 573 -|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response** 522 +(% border="1" style="background-color:#f2f2f2; width:647.222px" %) 523 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:334px" %)**Response** 574 574 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network((( 575 575 OK 576 - 577 577 While Error in format, return AT_BUSY_ERROR 578 578 ))) 579 579 529 +(% style="display:none" %) (%%) 580 580 581 - 582 - 583 583 == 6.4 LoRa® Network Join Mode == 584 584 585 585 ... ... @@ -588,9 +588,8 @@ 588 588 589 589 (% style="color:blue" %)**AT Command: AT+NJM** 590 590 591 -(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %) 592 -|=(% colspan="3" style="width: 750px;" %)AT+NJM 593 -|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response** 539 +(% border="1" style="background-color:#f2f2f2; width:753.222px" %) 540 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:361px" %)**Response** 594 594 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1((( 595 595 OK 596 596 ))) ... ... @@ -604,11 +604,11 @@ 604 604 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 605 605 606 606 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 554 + 607 607 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 608 608 557 +(% style="display:none" %) (%%) 609 609 610 - 611 - 612 612 == 6.5 LoRa® Network Join Status == 613 613 614 614 ... ... @@ -617,16 +617,14 @@ 617 617 618 618 (% style="color:blue" %)**AT Command: AT+NJS** 619 619 620 -(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %) 621 -|=(% colspan="3" style="width: 495px;" %)AT+NJS 622 -|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response** 567 +(% border="1" style="background-color:#f2f2f2; width:498.222px" %) 568 +|(% style="background-color:#4f81bd; color:white; width:169px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:164px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:161px" %)**Response** 623 623 |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0((( 624 624 OK 625 625 ))) 626 626 573 +(% style="display:none" %) (%%) 627 627 628 - 629 - 630 630 == 6.6 Print Last Received Data in Raw Format == 631 631 632 632 ... ... @@ -635,16 +635,14 @@ 635 635 636 636 (% style="color:blue" %)**AT Command: AT+RECV** 637 637 638 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 639 -|=(% colspan="3" style="width: 584px;" %)AT+RECV 640 -|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response** 583 +(% border="1" style="background-color:#f2f2f2; width:587.222px" %) 584 +|(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:150px" %)**Response** 641 641 |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:((( 642 642 OK 643 643 ))) 644 644 589 +(% style="display:none" %) (%%) 645 645 646 - 647 - 648 648 == 6.7 Print Last Received Data in Binary Format == 649 649 650 650 ... ... @@ -653,16 +653,14 @@ 653 653 654 654 (% style="color:blue" %)**AT Command: AT+RECVB** 655 655 656 -(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %) 657 -|=(% colspan="3" style="width: 790px;" %)AT+RECVB 658 -|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response** 599 +(% border="1" style="background-color:#f2f2f2; width:793.222px" %) 600 +|(% style="background-color:#4f81bd; color:white; width:173px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:497px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:120px" %)**Response** 659 659 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010((( 660 660 OK 661 661 ))) 662 662 605 +(% style="display:none" %) (%%) 663 663 664 - 665 - 666 666 == 6.8 Send Text Data == 667 667 668 668 ... ... @@ -671,20 +671,15 @@ 671 671 672 672 (% style="color:blue" %)**AT Command: AT+SEND** 673 673 674 -(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %) 675 -|=(% colspan="3" style="width: 988px;" %)AT+SEND 676 -|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 615 +(% border="1" style="background-color:#f2f2f2; width:991.222px" %) 616 +|(% style="background-color:#4f81bd; color:white; width:201px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:340px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:446px" %)**Response** 677 677 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 678 678 While Error in format, return 679 - 680 680 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 681 - 682 - 683 683 ))) 684 684 622 +(% style="display:none" %) (%%) 685 685 686 - 687 - 688 688 == 6.9 Send Hexadecimal Data == 689 689 690 690 ... ... @@ -693,22 +693,17 @@ 693 693 694 694 (% style="color:blue" %)**AT Command: AT+SENDB** 695 695 696 -(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %) 697 -|=(% colspan="3" style="width: 1117px;" %)AT+SENDB 698 -|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response** 699 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK 700 -|(% 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((( 701 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 702 - 703 - 632 +(% border="1" style="width:974px" %) 633 +|(% style="background-color:#4f81bd; color:white; width:257px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:394px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:318px" %)**Response** 634 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK 635 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)While Error in format, return((( 636 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 704 704 ))) 705 705 639 +(% style="display:none" %) (%%) 706 706 707 - 708 - 709 709 = 7. LoRaWAN network management = 710 710 711 - 712 712 == 7.1 Adaptive Data Rate == 713 713 714 714 ... ... @@ -717,14 +717,13 @@ 717 717 718 718 (% style="color:blue" %)**AT Command: AT+ADR** 719 719 720 -(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %) 721 -|=(% colspan="3" style="width: 680px;" %)AT+ADR 722 -|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response** 723 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1((( 651 +(% border="1" style="width:643px" %) 652 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:266px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:209px" %)**Response** 653 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1((( 724 724 OK 725 725 ))) 726 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:2 50px" %)OK727 -|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:2 50px" %)While Error in format, return(((656 +|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK 657 +|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)While Error in format, return((( 728 728 AT_PARAM_ERROR 729 729 ))) 730 730 ... ... @@ -733,12 +733,11 @@ 733 733 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 734 734 735 735 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 666 + 736 736 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 737 737 669 +(% style="display:none" %) (%%) 738 738 739 - 740 - 741 - 742 742 == 7.2 LoRa® Class == 743 743 744 744 ... ... @@ -745,11 +745,10 @@ 745 745 Feature: Get or Set the Device Class(Currently only support class A, class C). 746 746 747 747 748 -(% style="color:blue" %)**AT Command:AT+CLASS** 677 +(% style="color:blue" %)**AT Command: AT+CLASS** 749 749 750 -(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %) 751 -|=(% colspan="3" style="width: 504px;" %)AT+CLASS 752 -|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response** 679 +(% border="1" style="background-color:#f2f2f2; width:507.222px" %) 680 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:166px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Response** 753 753 |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A((( 754 754 OK 755 755 ))) ... ... @@ -757,20 +757,23 @@ 757 757 758 758 ))) 759 759 688 +(% style="display:none" %) 760 760 690 +(% style="color:red" %)**Notice:** 761 761 692 +* Run AT+FDR before running AT+CLASS=C 693 +* After change to Class=C, Before OTAA Join Successfule, the end node will still shows to use CLASS=A for OTAA Joined. It will use CLASS=C after OTAA Join Succeccful. 762 762 763 763 == 7.3 Duty Cycle Setting == 764 764 765 765 766 -Feature: Get or Set the ETSI Duty Cycle setting -0=disable, 1=enable - Only for testing.698 +Feature: Get or Set the ETSI Duty Cycle setting** : 0**=disable, **1**=enable - Only for testing. 767 767 768 768 769 -(% style="color:blue" %)**AT Command:AT+DCS** 701 +(% style="color:blue" %)**AT Command: AT+DCS** 770 770 771 -(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %) 772 -|=(% colspan="3" style="width: 512px;" %)AT+DCS 773 -|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response** 703 +(% border="1" style="background-color:#f2f2f2; width:515.222px" %) 704 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:239px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:107px" %)**Response** 774 774 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1((( 775 775 OK 776 776 ))) ... ... @@ -778,20 +778,24 @@ 778 778 779 779 ))) 780 780 712 +(% style="display:none" %) (%%) 781 781 714 +== 7.4 Data Rate == 782 782 783 783 784 - ==7.4Data Rate==717 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . 785 785 719 +(% style="color:red" %) 720 +**Notice:** 786 786 787 - Feature:Get orSet theData Rate. (0-7 correspondingtoDR_X) . Note: whilesetData Rate, please use setAdptive Data Rate,ADR=0 first. otherwise device will responseto server's ADR command and change the DRtothe settingfromserver722 +* 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. 788 788 724 +* 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/]] 789 789 790 790 (% style="color:blue" %)**AT Command: AT+DR** 791 791 792 -(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %) 793 -|=(% colspan="3" style="width: 463px;" %)AT+DR 794 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response** 728 +(% border="1" style="background-color:#f2f2f2; width:466.222px" %) 729 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:167px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:140px" %)**Response** 795 795 |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5((( 796 796 OK 797 797 ))) ... ... @@ -804,12 +804,11 @@ 804 804 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 805 805 806 806 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 742 + 807 807 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 808 808 745 +(% style="display:none" %) (%%) 809 809 810 - 811 - 812 - 813 813 == 7.5 Frame Counter Downlink == 814 814 815 815 ... ... @@ -816,11 +816,10 @@ 816 816 Feature: Get or Set the Frame Counter Downlink. 817 817 818 818 819 -(% style="color:blue" %)**AT Command:AT+FCD** 753 +(% style="color:blue" %)**AT Command: AT+FCD** 820 820 821 -(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %) 822 -|=(% colspan="3" style="width: 690px;" %)AT+FCD 823 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response** 755 +(% border="1" style="background-color:#f2f2f2; width:693.222px" %) 756 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:258px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:269px" %)**Response** 824 824 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 825 825 OK 826 826 ))) ... ... @@ -828,19 +828,17 @@ 828 828 OK 829 829 ))) 830 830 764 +(% style="display:none" %) (%%) 831 831 832 - 833 - 834 834 == 7.6 Frame Counter Uplink == 835 835 836 836 Feature: Get or Set the Frame Counter Uplink. 837 837 838 838 839 -(% style="color:blue" %)**AT Command:AT+FCU** 771 +(% style="color:blue" %)**AT Command: AT+FCU** 840 840 841 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 842 -|=(% colspan="3" style="width: 531px;" %)AT+FCU 843 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response** 773 +(% border="1" style="background-color:#f2f2f2; width:534.222px" %) 774 +|(% style="background-color:#4f81bd; color:white; width:177px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:239px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:113px" %)**Response** 844 844 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 845 845 OK 846 846 ))) ... ... @@ -848,9 +848,8 @@ 848 848 849 849 ))) 850 850 782 +(% style="display:none" %) (%%) 851 851 852 - 853 - 854 854 == 7.7 Join Accept Delay1 == 855 855 856 856 ... ... @@ -857,11 +857,10 @@ 857 857 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms. 858 858 859 859 860 -(% style="color:blue" %)**AT Command:AT+JN1DL** 790 +(% style="color:blue" %)**AT Command: AT+JN1DL** 861 861 862 -(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %) 863 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL 864 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response** 792 +(% border="1" style="background-color:#f2f2f2; width:537.222px" %) 793 +|(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:229px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:140px" %)**Response** 865 865 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 866 866 OK 867 867 ))) ... ... @@ -869,19 +869,18 @@ 869 869 870 870 ))) 871 871 801 +(% style="display:none" %) (%%) 872 872 873 - 874 - 875 875 == 7.8 Join Accept Delay2 == 876 876 805 + 877 877 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms. 878 878 879 879 880 -(% style="color:blue" %)**AT Command:AT+JN2DL** 809 +(% style="color:blue" %)**AT Command: AT+JN2DL** 881 881 882 -(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %) 883 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL 884 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response** 811 +(% border="1" style="background-color:#f2f2f2; width:538.222px" %) 812 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:228px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:146px" %)**Response** 885 885 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 886 886 OK 887 887 ))) ... ... @@ -889,9 +889,8 @@ 889 889 890 890 ))) 891 891 820 +(% style="display:none" %) (%%) 892 892 893 - 894 - 895 895 == 7.9 Public Network Mode == 896 896 897 897 ... ... @@ -900,11 +900,10 @@ 900 900 (% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.** 901 901 902 902 903 -(% style="color:blue" %)**AT Command:AT+PNM** 830 +(% style="color:blue" %)**AT Command: AT+PNM** 904 904 905 -(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %) 906 -|=(% colspan="3" style="width: 664px;" %)AT+PNM 907 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response** 832 +(% border="1" style="background-color:#f2f2f2; width:667.222px" %) 833 +|(% style="background-color:#4f81bd; color:white; width:166px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:225px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Response** 908 908 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 909 909 OK 910 910 ))) ... ... @@ -919,9 +919,8 @@ 919 919 ))) 920 920 |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 921 921 848 +(% style="display:none" %) (%%) 922 922 923 - 924 - 925 925 == 7.10 Receive Delay1 == 926 926 927 927 ... ... @@ -928,11 +928,10 @@ 928 928 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms 929 929 930 930 931 -(% style="color:blue" %)**AT Command:AT+RX1DL** 856 +(% style="color:blue" %)**AT Command: AT+RX1DL** 932 932 933 -(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %) 934 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL 935 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response** 858 +(% border="1" style="background-color:#f2f2f2; width:408.222px" %) 859 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:122px" %)**Response** 936 936 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 937 937 OK 938 938 ))) ... ... @@ -940,9 +940,8 @@ 940 940 941 941 ))) 942 942 867 +(% style="display:none" %) (%%) 943 943 944 - 945 - 946 946 == 7.11 Receive Delay2 == 947 947 948 948 ... ... @@ -949,11 +949,10 @@ 949 949 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 950 950 951 951 952 -(% style="color:blue" %)**AT Command:AT+RX2DL** 875 +(% style="color:blue" %)**AT Command: AT+RX2DL** 953 953 954 -(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %) 955 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL 956 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response** 877 +(% border="1" style="background-color:#f2f2f2; width:481.222px" %) 878 +|(% style="background-color:#4f81bd; color:white; width:175px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:152px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:150px" %)**Response** 957 957 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 958 958 OK 959 959 ))) ... ... @@ -961,9 +961,8 @@ 961 961 962 962 ))) 963 963 886 +(% style="display:none" %) (%%) 964 964 965 - 966 - 967 967 == 7.12 Rx2 Window Data Rate == 968 968 969 969 ... ... @@ -970,11 +970,10 @@ 970 970 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X) 971 971 972 972 973 -(% style="color:blue" %)**AT Command:AT+RX2DR** 894 +(% style="color:blue" %)**AT Command: AT+RX2DR** 974 974 975 -(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %) 976 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR 977 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response** 896 +(% border="1" style="background-color:#f2f2f2; width:525.222px" %) 897 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:232px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:130px" %)**Response** 978 978 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 979 979 OK 980 980 ))) ... ... @@ -982,9 +982,8 @@ 982 982 983 983 ))) 984 984 905 +(% style="display:none" %) (%%) 985 985 986 - 987 - 988 988 == 7.13 Rx2 Window Frequency == 989 989 990 990 ... ... @@ -991,11 +991,10 @@ 991 991 Feature: Get or Set the Rx2 window frequency 992 992 993 993 994 -(% style="color:blue" %)**AT Command:AT+RX2FQ** 913 +(% style="color:blue" %)**AT Command: AT+RX2FQ** 995 995 996 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 997 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ 998 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response** 915 +(% border="1" style="background-color:#f2f2f2; width:587.222px" %) 916 +|(% style="background-color:#4f81bd; color:white; width:183px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:160px" %)**Response** 999 999 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 1000 1000 OK 1001 1001 ))) ... ... @@ -1003,22 +1003,20 @@ 1003 1003 1004 1004 ))) 1005 1005 924 +(% style="display:none" %) (%%) 1006 1006 1007 - 1008 - 1009 1009 == 7.14 Transmit Power == 1010 1010 1011 1011 1012 1012 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. ) 1013 1013 1014 -Notice: Transmit Power might be changed by ADR from LoRaWAN server. So manually change TXP also remember to set AT+ADR=0 in sensor 931 +(% 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** 1015 1015 1016 1016 1017 -(% style="color:blue" %)**AT Command:AT+TXP** 934 +(% style="color:blue" %)**AT Command: AT+TXP** 1018 1018 1019 -(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %) 1020 -|=(% colspan="3" style="width: 462px;" %)AT+TXP 1021 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response** 936 +(% border="1" style="background-color:#f2f2f2; width:465.222px" %) 937 +|(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:189px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:112px" %)**Response** 1022 1022 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 1023 1023 OK 1024 1024 ))) ... ... @@ -1031,11 +1031,11 @@ 1031 1031 If the downlink payload=22000100, it means setting the TXP to 0. 1032 1032 1033 1033 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 1034 -* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0. 1035 1035 951 +* **Example 2**: Downlink Payload: **22000000** ~/~/ Set AT+TXP=0. 1036 1036 953 +(% style="display:none" %) (%%) 1037 1037 1038 - 1039 1039 == 7.15 RSSI of the Last Received Packet == 1040 1040 1041 1041 ... ... @@ -1044,16 +1044,14 @@ 1044 1044 1045 1045 (% style="color:blue" %)**AT Command:AT+RSSI** 1046 1046 1047 -(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %) 1048 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI 1049 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response** 963 +(% border="1" style="background-color:#f2f2f2; width:557.222px" %) 964 +|(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:289px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response** 1050 1050 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 1051 1051 OK 1052 1052 ))) 1053 1053 969 +(% style="display:none" %) (%%) 1054 1054 1055 - 1056 - 1057 1057 == 7.16 SNR of the Last Received Packet == 1058 1058 1059 1059 ... ... @@ -1060,18 +1060,16 @@ 1060 1060 Feature: Get the SNR of the last received packet 1061 1061 1062 1062 1063 -(% style="color:blue" %)**AT Command:AT+SNR** 977 +(% style="color:blue" %)**AT Command: AT+SNR** 1064 1064 1065 -(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %) 1066 -|=(% colspan="3" style="width: 568px;" %)AT+SNR 1067 -|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response** 979 +(% border="1" style="background-color:#f2f2f2; width:571.222px" %) 980 +|(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:290px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:113px" %)**Response** 1068 1068 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 1069 1069 OK 1070 1070 ))) 1071 1071 985 +(% style="display:none" %) (%%) 1072 1072 1073 - 1074 - 1075 1075 == 7.17 Application Port == 1076 1076 1077 1077 ... ... @@ -1080,9 +1080,8 @@ 1080 1080 1081 1081 (% style="color:blue" %)**AT Command: AT+PORT** 1082 1082 1083 -(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %) 1084 -|=(% colspan="3" style="width: 497px;" %)AT+PORT 1085 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response** 995 +(% border="1" style="background-color:#f2f2f2; width:500.222px" %) 996 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:204px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:135px" %)**Response** 1086 1086 |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21((( 1087 1087 OK 1088 1088 ))) ... ... @@ -1095,8 +1095,10 @@ 1095 1095 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 1096 1096 1097 1097 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1009 + 1098 1098 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1099 1099 1012 +(% style="display:none" %) (%%) 1100 1100 1101 1101 == 7.18 Single Channel Mode == 1102 1102 ... ... @@ -1106,14 +1106,15 @@ 1106 1106 1107 1107 (% style="color:blue" %)**AT Command: AT+CHS** 1108 1108 1109 -(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %) 1110 -|=(% colspan="3" style="width: 600px;" %)AT+CHS 1111 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response** 1022 +(% border="1" style="background-color:#f2f2f2; width:603.222px" %) 1023 +|(% style="background-color:#4f81bd; color:white; width:182px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:122px" %)**Response** 1112 1112 |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0((( 1113 1113 OK 1114 1114 ))) 1115 1115 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 1116 1116 1029 +(% style="display:none" %) (%%) 1030 + 1117 1117 == 7.19 Eight Channel Mode == 1118 1118 1119 1119 ... ... @@ -1122,9 +1122,8 @@ 1122 1122 1123 1123 (% style="color:blue" %)**AT Command: AT+CHE** 1124 1124 1125 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1126 -|=(% colspan="3" style="width: 707px;" %)AT+CHE 1127 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1039 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 1040 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response** 1128 1128 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 1129 1129 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 1130 1130 ... ... @@ -1132,7 +1132,7 @@ 1132 1132 ))) 1133 1133 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK 1134 1134 1135 -(% style="color:blue" %)**Downlink Command: 0x24** 1048 +(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)** 1136 1136 1137 1137 Format: Command Code (0x24) followed by 1 bytes channel value. 1138 1138 ... ... @@ -1139,8 +1139,10 @@ 1139 1139 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 1140 1140 1141 1141 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1055 + 1142 1142 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1143 1143 1058 +(% style="display:none" %) (%%) 1144 1144 1145 1145 == 7.20 Get or Set RXwindows1 timeout == 1146 1146 ... ... @@ -1150,31 +1150,26 @@ 1150 1150 1151 1151 (% style="color:blue" %)**AT Command: AT+RX1WTO** 1152 1152 1153 -(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %) 1154 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO 1155 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response** 1068 +(% border="1" style="background-color:#f2f2f2; width:460.222px" %) 1069 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:201px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:93px" %)**Response** 1156 1156 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 1157 1157 OK 1158 1158 ))) 1159 1159 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 1160 1160 1161 -((( 1162 - 1075 +(% style="display:none" %) (%%) 1163 1163 1164 -**AT+RX1TWO** 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. 1165 - 1166 - 1077 +((( 1078 +(% 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. 1167 1167 ))) 1168 1168 1169 1169 [[image:image-20220526162535-1.png]] 1170 1170 1171 - 1172 1172 ((( 1173 1173 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. 1174 - 1175 - 1176 1176 ))) 1177 1177 1087 + 1178 1178 == 7.21 Get or Set RXwindows2 timeout == 1179 1179 1180 1180 ... ... @@ -1183,14 +1183,15 @@ 1183 1183 1184 1184 (% style="color:blue" %)**AT Command: AT+RX2WTO** 1185 1185 1186 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1187 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO 1188 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response** 1096 +(% border="1" style="background-color:#f2f2f2; width:497.222px" %) 1097 +|(% style="background-color:#4f81bd; color:white; width:190px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:199px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response** 1189 1189 |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7((( 1190 1190 OK 1191 1191 ))) 1192 1192 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK 1193 1193 1103 +(% style="display:none" %) (%%) 1104 + 1194 1194 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1195 1195 1196 1196 ... ... @@ -1199,9 +1199,8 @@ 1199 1199 1200 1200 (% style="color:blue" %)**AT Command: AT+DWELLT** 1201 1201 1202 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1203 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT 1204 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response** 1113 +(% border="1" style="background-color:#f2f2f2; width:497.222px" %) 1114 +|(% style="background-color:#4f81bd; color:white; width:183px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:179px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:131px" %)**Response** 1205 1205 |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1((( 1206 1206 OK 1207 1207 ))) ... ... @@ -1214,8 +1214,10 @@ 1214 1214 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1215 1215 1216 1216 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1127 + 1217 1217 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1218 1218 1130 +(% style="display:none" %) (%%) 1219 1219 1220 1220 == 7.23 Set Packet Receiving Response Level == 1221 1221 ... ... @@ -1223,25 +1223,30 @@ 1223 1223 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. 1224 1224 1225 1225 1226 -**RPL value:** 1138 +(% style="color:blue" %)**RPL value:** 1227 1227 1228 1228 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1141 + 1229 1229 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 1143 + 1230 1230 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. 1145 + 1231 1231 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1147 + 1232 1232 * **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. 1233 1233 1234 -**Case Analyes:** 1150 +(% style="color:blue" %)**Case Analyes:** 1235 1235 1236 1236 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1153 + 1237 1237 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1155 + 1238 1238 * 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. 1239 1239 1240 1240 (% style="color:blue" %)**AT Command: AT+RPL** 1241 1241 1242 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1243 -|=(% colspan="3" style="width: 533px;" %)AT+RPL 1244 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1160 +(% border="1" style="background-color:#f2f2f2; width:536.222px" %) 1161 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:263px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:109px" %)**Response** 1245 1245 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 1246 1246 OK 1247 1247 ))) ... ... @@ -1254,8 +1254,10 @@ 1254 1254 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1255 1255 1256 1256 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1174 + 1257 1257 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1258 1258 1177 +(% style="display:none" %) (%%) 1259 1259 1260 1260 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1261 1261 ... ... @@ -1262,13 +1262,12 @@ 1262 1262 1263 1263 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1264 1264 1265 -(% border="1" style="background-color:#ffffcc; color:green; width:589px" %) 1266 -|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS** 1267 -|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response** 1268 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1184 +(% border="1" style="background-color:#f2f2f2; width:589px" %) 1185 +|(% style="background-color:#4f81bd; color:white; width:227px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:300px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:87px" %)**Response** 1186 +|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1269 1269 OK 1270 1270 ))) 1271 -|(% style="width:227px" %) **AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((1189 +|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)((( 1272 1272 value2: 0: uplink fcnt doesn't change for each NBTrans; 1273 1273 1274 1274 1: uplink fcnt increase by 1 for each NBTrans. ... ... @@ -1285,8 +1285,10 @@ 1285 1285 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1286 1286 1287 1287 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1206 + 1288 1288 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1289 1289 1209 +(% style="display:none" %) (%%) 1290 1290 1291 1291 == 7.25 Device offline rejoining (LWS007) == 1292 1292 ... ... @@ -1293,9 +1293,13 @@ 1293 1293 1294 1294 (% style="color:blue" %)**AT Command: AT+DDETECT** 1295 1295 1296 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1297 -|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1298 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1216 +AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1217 + 1218 +* ACK_Timout_1: Unit: min 1219 +* ACK_Timout_2: Unit: min 1220 + 1221 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 1222 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response** 1299 1299 |(% style="width:160px" %)((( 1300 1300 AT+DDETECT=1,1440,2880 1301 1301 ... ... @@ -1324,47 +1324,53 @@ 1324 1324 OK 1325 1325 ))) 1326 1326 1327 -(% style="color:blue" %)**Downlink Command: 0x3 3**1251 +(% style="color:blue" %)**Downlink Command: 0x32** 1328 1328 1329 1329 Format: Command Code (0x32) followed by 2 bytes mode value. 1330 1330 1331 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 3 3.1255 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1332 1332 1333 -* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1257 +* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1334 1334 1259 +* 1260 +** 0x01 : Flag 1261 +** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1262 +** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1263 +** **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. 1335 1335 1265 +(% style="display:none" %) (%%) 1266 + 1336 1336 == 7.26 Request the server to send an ACK == 1337 1337 1338 1338 1339 1339 (% style="color:blue" %)**AT Command: AT+PNACKMD** 1340 1340 1341 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1342 -|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1343 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1344 -|(% 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((( 1272 +(% border="1" style="background-color:#f2f2f2; width:536.222px" %) 1273 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:263px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:109px" %)**Response** 1274 +|(% 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((( 1345 1345 OK 1346 1346 ))) 1347 -|(% style="width:160px" %) **AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((1277 +|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1348 1348 0 1349 - 1350 1350 OK 1351 1351 ))) 1352 1352 1282 +(% style="display:none" %) (%%) 1283 + 1353 1353 == 7.27 Adjust network rejoining interval == 1354 1354 1355 1355 1356 1356 (% style="color:blue" %)**AT Command: AT+RJTDC** 1357 1357 1358 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1359 -|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1360 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1361 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000((( 1289 +(% border="1" style="background-color:#f2f2f2; width:727.222px" %) 1290 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Response** 1291 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30((( 1362 1362 OK 1363 1363 1364 -the interval is 30 000ms= 30s1294 +the interval is 30 min 1365 1365 ))) 1366 -|(% style="width:165px" %)AT+RJTDC=60 000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((1367 -Set the ReJoin data transmission interval to 60 000ms= 60 seconds1296 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1297 +Set the ReJoin data transmission interval to 60 min 1368 1368 ))) 1369 1369 1370 1370 (% style="color:blue" %)**Downlink Command: 0x26** ... ... @@ -1373,20 +1373,23 @@ 1373 1373 1374 1374 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1375 1375 1376 -* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1377 -* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1306 +* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1378 1378 1308 +* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1379 1379 1310 +(% style="display:none" %) (%%) 1311 + 1380 1380 = 8. AT Commands Combination = 1381 1381 1382 - 1383 1383 == 8.1 Set a fix RX2DR for downlink window == 1384 1384 1385 1385 1386 -* **AT+ADR=0 ** **~-~->** Disable ADR first 1387 -* **AT+RX2DR=xxxx** **~-~->** Set xxxx to your wanted DataRate 1317 +* (% style="color:blue" %)**AT+ADR=0 **(%%) **~/~/** Disable ADR first 1388 1388 1319 +* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~/~/** Set xxxx to your wanted DataRate 1389 1389 1321 +(% style="display:none" %) (%%) 1322 + 1390 1390 == 8.2 Use Downlink Command to set a fix uplink DR == 1391 1391 1392 1392 ... ... @@ -1395,7 +1395,9 @@ 1395 1395 **Same as:** 1396 1396 1397 1397 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1331 + 1398 1398 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1333 + 1399 1399 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1400 1400 1401 1401