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,39 +9,36 @@ 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. 13 +* (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device. 14 14 15 15 ((( 16 16 **This page shows the common commands since Dragino LoRaWAN stack DR-LWS-005. Make sure the end node support stack higher than DR-LWS-005 before checking this page.** 17 - 18 - 19 - 20 20 ))) 21 21 19 + 22 22 = 2. How to use AT Commands or Downlink command = 23 23 24 24 25 -* ForAT Command,See Devices User Manual forDevice. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]]26 -* ForLoRaWAN Downlink: The gateway transfer downlink command in HEX format. This page shows theHEX format downlinkcodefor eachcommand. but some servers use base64 as downlink code. Below are reference for how to use downlink command: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: 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]] 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]]? 29 29 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 30 30 29 +(% 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 -))) 40 -|(% style="width:187px" %)((( 35 + 36 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %) 37 +|(% style="background-color:#4f81bd; color:white; width:187px" %)((( 41 41 **Model** 42 -)))|(% style="width:330px" %)((( 39 +)))|(% style="background-color:#4f81bd; color:white; width:330px" %)((( 43 43 **Description** 44 -)))|(% style="width:445px" %)((( 41 +)))|(% style="background-color:#4f81bd; color:white; width:445px" %)((( 45 45 **Firmware Version <~-~-> Stack Version** 46 46 ))) 47 47 |(% style="width:187px" %)((( ... ... @@ -104,12 +104,10 @@ 104 104 ))) 105 105 ))) 106 106 104 +(% 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** 116 +(% border="1" style="background-color:#f2f2f2; width:727.222px" %) 117 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Response** 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,14 @@ 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.134 +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 146 146 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 147 147 140 +(% 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** 148 +(% 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** 150 +(% border="1" style="background-color:#f2f2f2; width:546px" %) 151 +|(% 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 - 173 +If the downlink payload=**04FF**, the end node will reboot. 188 188 ))) 189 189 176 + 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** 183 +(% 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** 185 +(% border="1" style="background-color:#f2f2f2; width:789px" %) 186 +|(% 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** 218 +(% 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** 220 +(% border="1" style="background-color:#f2f2f2; width:542px" %) 221 +|(% 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:** 241 +(% 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:** 251 +(% 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** 268 +(% 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** 280 +(% 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** 282 +(% border="1" style="background-color:#f2f2f2; width:599.222px" %) 283 +|(% 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 293 +(% 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** 305 +(% border="1" style="background-color:#f2f2f2; width:686.222px" %) 306 +|(% style="background-color:#4f81bd; color:white; width:305px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:186px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:191px" %)**Response** 334 334 |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00((( 335 335 OK 336 336 ))) 337 337 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 338 338 312 +(% 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** 322 +(% border="1" style="background-color:#f2f2f2; width:976.222px" %) 323 +|(% 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 329 +(% 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** 339 +(% border="1" style="background-color:#f2f2f2; width:1040.22px" %) 340 +|(% 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 348 +(% 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** 358 +(% border="1" style="background-color:#f2f2f2; width:795.222px" %) 359 +|(% 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 367 +(% 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** 377 +(% border="1" style="background-color:#f2f2f2; width:1035.22px" %) 378 +|(% 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 386 +(% 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** 396 +(% border="1" style="background-color:#f2f2f2; width:448.222px" %) 397 +|(% 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 403 +(% 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** 413 +(% border="1" style="background-color:#f2f2f2; width:1017.22px" %) 414 +|(% 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 420 +(% 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** 434 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 435 +|(% 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 ))) ... ... @@ -491,17 +491,15 @@ 491 491 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 492 492 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 493 493 451 +(% 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** 458 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 459 +|(% 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 ... ... @@ -539,9 +539,8 @@ 539 539 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 540 540 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 541 541 497 +(% 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((( 507 +(% border="1" style="background-color:#f2f2f2; width:463px" %) 508 +|(% 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** 509 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0((( 557 557 OK 558 558 ))) 559 559 513 +(% 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** 523 +(% border="1" style="background-color:#f2f2f2; width:647.222px" %) 524 +|(% 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 530 +(% 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** 540 +(% border="1" style="background-color:#f2f2f2; width:753.222px" %) 541 +|(% 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 ))) ... ... @@ -606,9 +606,8 @@ 606 606 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 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 ... ... @@ -735,10 +735,8 @@ 735 735 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 736 736 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 737 737 668 +(% 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** 676 +(% 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** 678 +(% border="1" style="background-color:#f2f2f2; width:507.222px" %) 679 +|(% 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 687 +(% style="display:none" %) 760 760 689 +(% style="color:red" %)**Notice:** 761 761 691 +* Run AT+FDR before running AT+CLASS=C 692 +* 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.697 +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** 700 +(% 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** 702 +(% border="1" style="background-color:#f2f2f2; width:515.222px" %) 703 +|(% 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,17 +778,23 @@ 778 778 779 779 ))) 780 780 711 +(% style="display:none" %) (%%) 712 + 781 781 == 7.4 Data Rate == 782 782 783 783 784 -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 server716 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . 785 785 718 +(% style="color:red" %) 719 +**Notice:** 786 786 721 +* 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. 722 +* 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/]] 723 + 787 787 (% style="color:blue" %)**AT Command: AT+DR** 788 788 789 -(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %) 790 -|=(% colspan="3" style="width: 463px;" %)AT+DR 791 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response** 726 +(% border="1" style="background-color:#f2f2f2; width:466.222px" %) 727 +|(% 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** 792 792 |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5((( 793 793 OK 794 794 ))) ... ... @@ -803,6 +803,8 @@ 803 803 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 804 804 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 805 805 742 +(% style="display:none" %) (%%) 743 + 806 806 == 7.5 Frame Counter Downlink == 807 807 808 808 ... ... @@ -809,11 +809,10 @@ 809 809 Feature: Get or Set the Frame Counter Downlink. 810 810 811 811 812 -(% style="color:blue" %)**AT Command:AT+FCD** 750 +(% style="color:blue" %)**AT Command: AT+FCD** 813 813 814 -(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %) 815 -|=(% colspan="3" style="width: 690px;" %)AT+FCD 816 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response** 752 +(% border="1" style="background-color:#f2f2f2; width:693.222px" %) 753 +|(% 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** 817 817 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 818 818 OK 819 819 ))) ... ... @@ -821,16 +821,17 @@ 821 821 OK 822 822 ))) 823 823 761 +(% style="display:none" %) (%%) 762 + 824 824 == 7.6 Frame Counter Uplink == 825 825 826 826 Feature: Get or Set the Frame Counter Uplink. 827 827 828 828 829 -(% style="color:blue" %)**AT Command:AT+FCU** 768 +(% style="color:blue" %)**AT Command: AT+FCU** 830 830 831 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 832 -|=(% colspan="3" style="width: 531px;" %)AT+FCU 833 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response** 770 +(% border="1" style="background-color:#f2f2f2; width:534.222px" %) 771 +|(% 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** 834 834 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 835 835 OK 836 836 ))) ... ... @@ -838,6 +838,8 @@ 838 838 839 839 ))) 840 840 779 +(% style="display:none" %) (%%) 780 + 841 841 == 7.7 Join Accept Delay1 == 842 842 843 843 ... ... @@ -844,11 +844,10 @@ 844 844 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms. 845 845 846 846 847 -(% style="color:blue" %)**AT Command:AT+JN1DL** 787 +(% style="color:blue" %)**AT Command: AT+JN1DL** 848 848 849 -(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %) 850 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL 851 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response** 789 +(% border="1" style="background-color:#f2f2f2; width:537.222px" %) 790 +|(% 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** 852 852 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 853 853 OK 854 854 ))) ... ... @@ -856,16 +856,18 @@ 856 856 857 857 ))) 858 858 798 +(% style="display:none" %) (%%) 799 + 859 859 == 7.8 Join Accept Delay2 == 860 860 802 + 861 861 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms. 862 862 863 863 864 -(% style="color:blue" %)**AT Command:AT+JN2DL** 806 +(% style="color:blue" %)**AT Command: AT+JN2DL** 865 865 866 -(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %) 867 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL 868 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response** 808 +(% border="1" style="background-color:#f2f2f2; width:538.222px" %) 809 +|(% 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** 869 869 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 870 870 OK 871 871 ))) ... ... @@ -873,6 +873,8 @@ 873 873 874 874 ))) 875 875 817 +(% style="display:none" %) (%%) 818 + 876 876 == 7.9 Public Network Mode == 877 877 878 878 ... ... @@ -881,11 +881,10 @@ 881 881 (% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.** 882 882 883 883 884 -(% style="color:blue" %)**AT Command:AT+PNM** 827 +(% style="color:blue" %)**AT Command: AT+PNM** 885 885 886 -(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %) 887 -|=(% colspan="3" style="width: 664px;" %)AT+PNM 888 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response** 829 +(% border="1" style="background-color:#f2f2f2; width:667.222px" %) 830 +|(% 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** 889 889 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 890 890 OK 891 891 ))) ... ... @@ -900,6 +900,8 @@ 900 900 ))) 901 901 |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 902 902 845 +(% style="display:none" %) (%%) 846 + 903 903 == 7.10 Receive Delay1 == 904 904 905 905 ... ... @@ -906,11 +906,10 @@ 906 906 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms 907 907 908 908 909 -(% style="color:blue" %)**AT Command:AT+RX1DL** 853 +(% style="color:blue" %)**AT Command: AT+RX1DL** 910 910 911 -(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %) 912 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL 913 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response** 855 +(% border="1" style="background-color:#f2f2f2; width:408.222px" %) 856 +|(% 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** 914 914 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 915 915 OK 916 916 ))) ... ... @@ -918,6 +918,8 @@ 918 918 919 919 ))) 920 920 864 +(% style="display:none" %) (%%) 865 + 921 921 == 7.11 Receive Delay2 == 922 922 923 923 ... ... @@ -924,11 +924,10 @@ 924 924 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms 925 925 926 926 927 -(% style="color:blue" %)**AT Command:AT+RX2DL** 872 +(% style="color:blue" %)**AT Command: AT+RX2DL** 928 928 929 -(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %) 930 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL 931 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response** 874 +(% border="1" style="background-color:#f2f2f2; width:481.222px" %) 875 +|(% 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** 932 932 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 933 933 OK 934 934 ))) ... ... @@ -936,6 +936,8 @@ 936 936 937 937 ))) 938 938 883 +(% style="display:none" %) (%%) 884 + 939 939 == 7.12 Rx2 Window Data Rate == 940 940 941 941 ... ... @@ -942,11 +942,10 @@ 942 942 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X) 943 943 944 944 945 -(% style="color:blue" %)**AT Command:AT+RX2DR** 891 +(% style="color:blue" %)**AT Command: AT+RX2DR** 946 946 947 -(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %) 948 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR 949 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response** 893 +(% border="1" style="background-color:#f2f2f2; width:525.222px" %) 894 +|(% 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** 950 950 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 951 951 OK 952 952 ))) ... ... @@ -954,6 +954,8 @@ 954 954 955 955 ))) 956 956 902 +(% style="display:none" %) (%%) 903 + 957 957 == 7.13 Rx2 Window Frequency == 958 958 959 959 ... ... @@ -960,11 +960,10 @@ 960 960 Feature: Get or Set the Rx2 window frequency 961 961 962 962 963 -(% style="color:blue" %)**AT Command:AT+RX2FQ** 910 +(% style="color:blue" %)**AT Command: AT+RX2FQ** 964 964 965 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 966 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ 967 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response** 912 +(% border="1" style="background-color:#f2f2f2; width:587.222px" %) 913 +|(% 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** 968 968 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 969 969 OK 970 970 ))) ... ... @@ -972,19 +972,20 @@ 972 972 973 973 ))) 974 974 921 +(% style="display:none" %) (%%) 922 + 975 975 == 7.14 Transmit Power == 976 976 977 977 978 978 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. ) 979 979 980 -Notice: Transmit Power might be changed by ADR from LoRaWAN server. So manually change TXP also remember to set AT+ADR=0 in sensor 928 +(% 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** 981 981 982 982 983 -(% style="color:blue" %)**AT Command:AT+TXP** 931 +(% style="color:blue" %)**AT Command: AT+TXP** 984 984 985 -(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %) 986 -|=(% colspan="3" style="width: 462px;" %)AT+TXP 987 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response** 933 +(% border="1" style="background-color:#f2f2f2; width:465.222px" %) 934 +|(% 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** 988 988 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 989 989 OK 990 990 ))) ... ... @@ -997,8 +997,9 @@ 997 997 If the downlink payload=22000100, it means setting the TXP to 0. 998 998 999 999 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 1000 -* **Example 2**: Downlink Payload: **220000 FF**947 +* **Example 2**: Downlink Payload: **22000000** ~/~/ Set AT+TXP=0. 1001 1001 949 +(% style="display:none" %) (%%) 1002 1002 1003 1003 == 7.15 RSSI of the Last Received Packet == 1004 1004 ... ... @@ -1008,13 +1008,14 @@ 1008 1008 1009 1009 (% style="color:blue" %)**AT Command:AT+RSSI** 1010 1010 1011 -(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %) 1012 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI 1013 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response** 959 +(% border="1" style="background-color:#f2f2f2; width:557.222px" %) 960 +|(% 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** 1014 1014 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 1015 1015 OK 1016 1016 ))) 1017 1017 965 +(% style="display:none" %) (%%) 966 + 1018 1018 == 7.16 SNR of the Last Received Packet == 1019 1019 1020 1020 ... ... @@ -1021,15 +1021,16 @@ 1021 1021 Feature: Get the SNR of the last received packet 1022 1022 1023 1023 1024 -(% style="color:blue" %)**AT Command:AT+SNR** 973 +(% style="color:blue" %)**AT Command: AT+SNR** 1025 1025 1026 -(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %) 1027 -|=(% colspan="3" style="width: 568px;" %)AT+SNR 1028 -|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response** 975 +(% border="1" style="background-color:#f2f2f2; width:571.222px" %) 976 +|(% 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** 1029 1029 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 1030 1030 OK 1031 1031 ))) 1032 1032 981 +(% style="display:none" %) (%%) 982 + 1033 1033 == 7.17 Application Port == 1034 1034 1035 1035 ... ... @@ -1038,9 +1038,8 @@ 1038 1038 1039 1039 (% style="color:blue" %)**AT Command: AT+PORT** 1040 1040 1041 -(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %) 1042 -|=(% colspan="3" style="width: 497px;" %)AT+PORT 1043 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response** 991 +(% border="1" style="background-color:#f2f2f2; width:500.222px" %) 992 +|(% 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** 1044 1044 |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21((( 1045 1045 OK 1046 1046 ))) ... ... @@ -1055,6 +1055,7 @@ 1055 1055 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1056 1056 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1057 1057 1007 +(% style="display:none" %) (%%) 1058 1058 1059 1059 == 7.18 Single Channel Mode == 1060 1060 ... ... @@ -1064,14 +1064,15 @@ 1064 1064 1065 1065 (% style="color:blue" %)**AT Command: AT+CHS** 1066 1066 1067 -(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %) 1068 -|=(% colspan="3" style="width: 600px;" %)AT+CHS 1069 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response** 1017 +(% border="1" style="background-color:#f2f2f2; width:603.222px" %) 1018 +|(% 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** 1070 1070 |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0((( 1071 1071 OK 1072 1072 ))) 1073 1073 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 1074 1074 1024 +(% style="display:none" %) (%%) 1025 + 1075 1075 == 7.19 Eight Channel Mode == 1076 1076 1077 1077 ... ... @@ -1080,9 +1080,8 @@ 1080 1080 1081 1081 (% style="color:blue" %)**AT Command: AT+CHE** 1082 1082 1083 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1084 -|=(% colspan="3" style="width: 707px;" %)AT+CHE 1085 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1034 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 1035 +|(% 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** 1086 1086 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 1087 1087 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 1088 1088 ... ... @@ -1090,7 +1090,7 @@ 1090 1090 ))) 1091 1091 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK 1092 1092 1093 -(% style="color:blue" %)**Downlink Command: 0x24** 1043 +(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)** 1094 1094 1095 1095 Format: Command Code (0x24) followed by 1 bytes channel value. 1096 1096 ... ... @@ -1099,6 +1099,7 @@ 1099 1099 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1100 1100 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1101 1101 1052 +(% style="display:none" %) (%%) 1102 1102 1103 1103 == 7.20 Get or Set RXwindows1 timeout == 1104 1104 ... ... @@ -1108,31 +1108,26 @@ 1108 1108 1109 1109 (% style="color:blue" %)**AT Command: AT+RX1WTO** 1110 1110 1111 -(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %) 1112 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO 1113 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response** 1062 +(% border="1" style="background-color:#f2f2f2; width:460.222px" %) 1063 +|(% 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** 1114 1114 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 1115 1115 OK 1116 1116 ))) 1117 1117 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 1118 1118 1119 -((( 1120 - 1069 +(% style="display:none" %) (%%) 1121 1121 1122 -**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. 1123 - 1124 - 1071 +((( 1072 +(% 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. 1125 1125 ))) 1126 1126 1127 1127 [[image:image-20220526162535-1.png]] 1128 1128 1129 - 1130 1130 ((( 1131 1131 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. 1132 - 1133 - 1134 1134 ))) 1135 1135 1081 + 1136 1136 == 7.21 Get or Set RXwindows2 timeout == 1137 1137 1138 1138 ... ... @@ -1141,14 +1141,15 @@ 1141 1141 1142 1142 (% style="color:blue" %)**AT Command: AT+RX2WTO** 1143 1143 1144 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1145 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO 1146 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response** 1090 +(% border="1" style="background-color:#f2f2f2; width:497.222px" %) 1091 +|(% 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** 1147 1147 |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7((( 1148 1148 OK 1149 1149 ))) 1150 1150 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK 1151 1151 1097 +(% style="display:none" %) (%%) 1098 + 1152 1152 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1153 1153 1154 1154 ... ... @@ -1157,9 +1157,8 @@ 1157 1157 1158 1158 (% style="color:blue" %)**AT Command: AT+DWELLT** 1159 1159 1160 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1161 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT 1162 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response** 1107 +(% border="1" style="background-color:#f2f2f2; width:497.222px" %) 1108 +|(% 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** 1163 1163 |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1((( 1164 1164 OK 1165 1165 ))) ... ... @@ -1174,6 +1174,7 @@ 1174 1174 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1175 1175 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1176 1176 1123 +(% style="display:none" %) (%%) 1177 1177 1178 1178 == 7.23 Set Packet Receiving Response Level == 1179 1179 ... ... @@ -1181,7 +1181,7 @@ 1181 1181 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. 1182 1182 1183 1183 1184 -**RPL value:** 1131 +(% style="color:blue" %)**RPL value:** 1185 1185 1186 1186 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1187 1187 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. ... ... @@ -1189,7 +1189,7 @@ 1189 1189 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1190 1190 * **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. 1191 1191 1192 -**Case Analyes:** 1139 +(% style="color:blue" %)**Case Analyes:** 1193 1193 1194 1194 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1195 1195 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. ... ... @@ -1197,9 +1197,8 @@ 1197 1197 1198 1198 (% style="color:blue" %)**AT Command: AT+RPL** 1199 1199 1200 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1201 -|=(% colspan="3" style="width: 533px;" %)AT+RPL 1202 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1147 +(% border="1" style="background-color:#f2f2f2; width:536.222px" %) 1148 +|(% 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** 1203 1203 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 1204 1204 OK 1205 1205 ))) ... ... @@ -1214,6 +1214,7 @@ 1214 1214 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1215 1215 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1216 1216 1163 +(% style="display:none" %) (%%) 1217 1217 1218 1218 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1219 1219 ... ... @@ -1220,13 +1220,12 @@ 1220 1220 1221 1221 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1222 1222 1223 -(% border="1" style="background-color:#ffffcc; color:green; width:589px" %) 1224 -|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS** 1225 -|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response** 1226 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1170 +(% border="1" style="background-color:#f2f2f2; width:589px" %) 1171 +|(% 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** 1172 +|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1227 1227 OK 1228 1228 ))) 1229 -|(% style="width:227px" %) **AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((1175 +|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)((( 1230 1230 value2: 0: uplink fcnt doesn't change for each NBTrans; 1231 1231 1232 1232 1: uplink fcnt increase by 1 for each NBTrans. ... ... @@ -1245,6 +1245,7 @@ 1245 1245 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1246 1246 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1247 1247 1194 +(% style="display:none" %) (%%) 1248 1248 1249 1249 == 7.25 Device offline rejoining (LWS007) == 1250 1250 ... ... @@ -1251,9 +1251,13 @@ 1251 1251 1252 1252 (% style="color:blue" %)**AT Command: AT+DDETECT** 1253 1253 1254 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1255 -|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1256 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1201 +AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1202 + 1203 +* ACK_Timout_1: Unit: min 1204 +* ACK_Timout_2: Unit: min 1205 + 1206 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %) 1207 +|(% 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** 1257 1257 |(% style="width:160px" %)((( 1258 1258 AT+DDETECT=1,1440,2880 1259 1259 ... ... @@ -1282,14 +1282,19 @@ 1282 1282 OK 1283 1283 ))) 1284 1284 1285 -(% style="color:blue" %)**Downlink Command: 0x3 3**1236 +(% style="color:blue" %)**Downlink Command: 0x32** 1286 1286 1287 1287 Format: Command Code (0x32) followed by 2 bytes mode value. 1288 1288 1289 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 3 3.1240 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1290 1290 1291 -* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1242 +* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1243 +** 0x01 : Flag 1244 +** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1245 +** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1246 +** **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. 1292 1292 1248 +(% style="display:none" %) (%%) 1293 1293 1294 1294 == 7.26 Request the server to send an ACK == 1295 1295 ... ... @@ -1296,33 +1296,32 @@ 1296 1296 1297 1297 (% style="color:blue" %)**AT Command: AT+PNACKMD** 1298 1298 1299 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1300 -|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1301 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1302 -|(% 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((( 1255 +(% border="1" style="background-color:#f2f2f2; width:536.222px" %) 1256 +|(% 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** 1257 +|(% 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((( 1303 1303 OK 1304 1304 ))) 1305 -|(% style="width:160px" %) **AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((1260 +|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1306 1306 0 1307 - 1308 1308 OK 1309 1309 ))) 1310 1310 1265 +(% style="display:none" %) (%%) 1266 + 1311 1311 == 7.27 Adjust network rejoining interval == 1312 1312 1313 1313 1314 1314 (% style="color:blue" %)**AT Command: AT+RJTDC** 1315 1315 1316 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1317 -|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1318 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1319 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000((( 1272 +(% border="1" style="background-color:#f2f2f2; width:727.222px" %) 1273 +|(% 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** 1274 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30((( 1320 1320 OK 1321 1321 1322 -the interval is 30 000ms= 30s1277 +the interval is 30 min 1323 1323 ))) 1324 -|(% style="width:165px" %)AT+RJTDC=60 000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((1325 -Set the ReJoin data transmission interval to 60 000ms= 60 seconds1279 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1280 +Set the ReJoin data transmission interval to 60 min 1326 1326 ))) 1327 1327 1328 1328 (% style="color:blue" %)**Downlink Command: 0x26** ... ... @@ -1331,20 +1331,22 @@ 1331 1331 1332 1332 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1333 1333 1334 -* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1335 -* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1289 +* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1290 +* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1336 1336 1292 +(% style="display:none" %) (%%) 1337 1337 1338 1338 = 8. AT Commands Combination = 1339 1339 1340 - 1341 1341 == 8.1 Set a fix RX2DR for downlink window == 1342 1342 1343 1343 1344 -* **AT+ADR=0 ** **~-~->** Disable ADR first 1345 -* **AT+RX2DR=xxxx** **~-~->** Set xxxx to your wanted DataRate 1299 +* (% style="color:blue" %)**AT+ADR=0 **(%%) **~/~/** Disable ADR first 1346 1346 1301 +* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~/~/** Set xxxx to your wanted DataRate 1347 1347 1303 +(% style="display:none" %) (%%) 1304 + 1348 1348 == 8.2 Use Downlink Command to set a fix uplink DR == 1349 1349 1350 1350 ... ... @@ -1353,7 +1353,9 @@ 1353 1353 **Same as:** 1354 1354 1355 1355 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1313 + 1356 1356 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1315 + 1357 1357 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1358 1358 1359 1359