Changes for page End Device AT Commands and Downlink Command
Last modified by kai on 2024/09/06 10:00
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Bei1 +XWiki.Xiaoling - Content
-
... ... @@ -10,38 +10,34 @@ 10 10 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands: 11 11 12 12 * (% style="color:blue" %)**Common Commands:** (%%) They should be available for each sensor, such as: change uplink interval, reset device. 13 + 13 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 19 ))) 20 20 20 + 21 21 = 2. How to use AT Commands or Downlink command = 22 22 23 23 24 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 + 25 25 * **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: 26 26 ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 27 27 ** 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]]? 28 28 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server) 29 29 31 +(% style="display:none" %) (%%) 32 + 30 30 = 3. Support End Node and firmware version = 31 31 32 32 33 -(% border="1" style="background-color:#ffffcc; color:green; width:966px" %) 34 -|=(% colspan="3" style="width: 963px;" %)((( 35 35 Dragino STM32 base hardware Firmware / LoRaWAN stack list 36 -))) 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** 37 37 |(% style="width:187px" %)((( 38 -**Model** 39 -)))|(% style="width:330px" %)((( 40 -**Description** 41 -)))|(% style="width:445px" %)((( 42 -**Firmware Version <~-~-> Stack Version** 43 -))) 44 -|(% style="width:187px" %)((( 45 45 [[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]], 46 46 )))|(% style="width:330px" %)((( 47 47 Open Source Generic LoRaWAN Sensor Node ... ... @@ -101,6 +101,7 @@ 101 101 ))) 102 102 ))) 103 103 100 +(% style="display:none" %) (%%) 104 104 105 105 = 4. System Management Commands = 106 106 ... ... @@ -112,9 +112,8 @@ 112 112 113 113 (% style="color:blue" %)**AT Command: AT+TDC** 114 114 115 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 116 -|=(% colspan="3" style="width: 724px;" %)AT+TDC 117 -|(% 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** 118 118 |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 119 119 OK 120 120 ... ... @@ -125,8 +125,6 @@ 125 125 ))) 126 126 127 127 ((( 128 - 129 - 130 130 (% style="color:blue" %)**Downlink Command: 0x01** 131 131 132 132 Format: Command Code (0x01) followed by 3 bytes time value. ... ... @@ -137,8 +137,10 @@ 137 137 ))) 138 138 139 139 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 134 + 140 140 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 141 141 137 +(% style="display:none" %) (%%) 142 142 143 143 == 4.2 Reboot End Node == 144 144 ... ... @@ -146,11 +146,10 @@ 146 146 Feature: Reboot End Node to perform a new OTAA or ABP Join. 147 147 148 148 149 -(% style="color:blue" %)**AT Command: ATZ** 145 +(% style="color:blue" %)**AT Command: ATZ ~/~/ **(%%)Trig a reset of the MCU 150 150 151 -(% border="1" style="background-color:#ffffcc; color:green; width:546px" %) 152 -|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU 153 -|(% 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** 154 154 |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)((( 155 155 Device reset and show booting info 156 156 ... ... @@ -172,11 +172,10 @@ 172 172 ))) 173 173 174 174 ((( 175 -If the downlink payload=**04FF**, the end node will reboot. 176 - 177 - 170 +If the downlink payload=**04FF**, the end node will reboot. 178 178 ))) 179 179 173 + 180 180 == 4.3 Reset to factory Default == 181 181 182 182 ... ... @@ -183,11 +183,10 @@ 183 183 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. 184 184 185 185 186 -(% style="color:blue" %)**AT Command: AT+FDR** 180 +(% style="color:blue" %)**AT Command: AT+FDR ~/~/ **(%%)Reset to factory default 187 187 188 -(% border="1" style="background-color:#ffffcc; color:green; width:789px" %) 189 -|=(% colspan="3" style="width: 786px;" %)Reset to factory default 190 -|(% 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** 191 191 |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)((( 192 192 Device reset to factory default parameters and show booting info 193 193 ... ... @@ -219,11 +219,10 @@ 219 219 Feature: Show firmware version. No downlink command yet. 220 220 221 221 222 -(% style="color:blue" %)**AT Command: AT+VER** 215 +(% style="color:blue" %)**AT Command: AT+VER ~/~/ **(%%)Image Version and Frequency Band 223 223 224 -(% border="1" style="background-color:#ffffcc; color:green; width:542px" %) 225 -|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band 226 -|(% 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** 227 227 |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)((( 228 228 1.3 EU868 229 229 ... ... @@ -243,7 +243,7 @@ 243 243 ((( 244 244 245 245 246 -**xx: Software Type:** 238 +(% style="color:#037691" %)**xx: Software Type:** 247 247 ))) 248 248 249 249 * 0x00 01: LGT92 Version ... ... @@ -253,7 +253,7 @@ 253 253 ((( 254 254 255 255 256 -**yy: Frequency Band:** 248 +(% style="color:#037691" %)**yy: Frequency Band:** 257 257 ))) 258 258 259 259 * 0x01: EU868 ... ... @@ -270,7 +270,7 @@ 270 270 ((( 271 271 272 272 273 -**zz: Subband** 265 +(% style="color:#037691" %)**zz: Subband** 274 274 ))) 275 275 276 276 firmware version: v1.1.0 ~-~-> 110 ... ... @@ -282,25 +282,20 @@ 282 282 Feature: Show All configure. No downlink command yet. 283 283 284 284 285 -(% style="color:blue" %)**AT Command: AT+CFG** 277 +(% style="color:blue" %)**AT Command: AT+CFG ~/~/ **(%%)Print all configurations 286 286 287 -(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %) 288 -|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations 289 -|(% 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** 290 290 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 291 291 AT+DEUI = XX XX XX XX XX XX XX XX 292 - 293 293 AT+DADDR=XXXXXXXX 294 - 295 295 ………. 296 - 297 297 AT+RX2WTO=X 298 - 299 299 AT+CHS=868100000 300 - 301 301 OK 302 302 ))) 303 303 290 +(% style="display:none" %) (%%) 304 304 305 305 = 5. Keys, IDs and EUIs management = 306 306 ... ... @@ -312,14 +312,14 @@ 312 312 313 313 (% style="color:blue" %)**AT Command: AT+APPEUI** 314 314 315 -(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %) 316 -|=(% colspan="3" style="width: 683px;" %)AT+APPEUI 317 -|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response** 318 -|(% 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((( 319 319 OK 320 320 ))) 321 -|(% 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 322 322 309 +(% style="display:none" %) (%%) 323 323 324 324 == 5.2 Application Key == 325 325 ... ... @@ -329,14 +329,14 @@ 329 329 330 330 (% style="color:blue" %)**AT Command: AT+APPKEY** 331 331 332 -(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %) 333 -|=(% colspan="3" style="width: 973px;" %)AT+APPKEY 334 -|(% 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** 335 335 |(% 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((( 336 336 OK 337 337 ))) 338 338 |(% 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 339 339 326 +(% style="display:none" %) (%%) 340 340 341 341 == 5.3 Application Session Key == 342 342 ... ... @@ -346,9 +346,8 @@ 346 346 347 347 (% style="color:blue" %)**AT Command: AT+APPSKEY** 348 348 349 -(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %) 350 -|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY 351 -|(% 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** 352 352 |(% 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((( 353 353 OK 354 354 ))) ... ... @@ -356,6 +356,7 @@ 356 356 OK 357 357 ))) 358 358 345 +(% style="display:none" %) (%%) 359 359 360 360 == 5.4 Device Address == 361 361 ... ... @@ -365,9 +365,8 @@ 365 365 366 366 (% style="color:blue" %)**AT Command: AT+DADDR** 367 367 368 -(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %) 369 -|=(% colspan="3" style="width: 792px;" %)AT+DADDR 370 -|(% 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** 371 371 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)((( 372 372 A8 40 41 FF 373 373 ... ... @@ -375,6 +375,7 @@ 375 375 ))) 376 376 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK 377 377 364 +(% style="display:none" %) (%%) 378 378 379 379 == 5.5 Device EUI == 380 380 ... ... @@ -384,9 +384,8 @@ 384 384 385 385 (% style="color:blue" %)**AT Command: AT+DEUI** 386 386 387 -(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %) 388 -|=(% colspan="3" style="width: 1032px;" %)AT+DEUI 389 -|(% 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** 390 390 |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55((( 391 391 OK 392 392 ))) ... ... @@ -394,6 +394,7 @@ 394 394 OK 395 395 ))) 396 396 383 +(% style="display:none" %) (%%) 397 397 398 398 == 5.6 Network ID == 399 399 ... ... @@ -403,14 +403,14 @@ 403 403 404 404 (% style="color:blue" %)**AT Command: AT+NWKID** 405 405 406 -(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %) 407 -|=(% colspan="3" style="width: 445px;" %)AT+NWKID 408 -|(% 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** 409 409 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff((( 410 410 OK 411 411 ))) 412 412 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK 413 413 400 +(% style="display:none" %) (%%) 414 414 415 415 == 5.7 Network Session Key == 416 416 ... ... @@ -420,14 +420,14 @@ 420 420 421 421 (% style="color:blue" %)**AT Command: AT+NWKSKEY** 422 422 423 -(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %) 424 -|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY 425 -|(% 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** 426 426 |(% 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((( 427 427 OK 428 428 ))) 429 429 |(% 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 430 430 417 +(% style="display:none" %) (%%) 431 431 432 432 = 6. Joining and sending date on LoRaWAN network = 433 433 ... ... @@ -441,9 +441,8 @@ 441 441 442 442 (% style="color:blue" %)**AT Command: AT+CFM** 443 443 444 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 445 -|=(% colspan="3" style="width: 707px;" %)AT+CFM 446 -|(% 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** 447 447 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0((( 448 448 OK 449 449 ))) ... ... @@ -457,8 +457,10 @@ 457 457 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05. 458 458 459 459 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 446 + 460 460 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 461 461 449 +(% style="display:none" %) (%%) 462 462 463 463 === 6.1.2 AT+CFM command since DR-LWS007 software stack === 464 464 ... ... @@ -465,14 +465,13 @@ 465 465 466 466 (% style="color:blue" %)**AT Command: AT+CFM** 467 467 468 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 469 -|=(% colspan="3" style="width: 707px;" %)AT+CFM 470 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 456 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %) 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:100px" %)**Response** 471 471 |(% style="width:160px" %)((( 472 472 AT+CFM=1,0,0 473 473 474 474 value1 475 -)))|(% style="width:198px" %)confirmed uplink|(% style="width: 349px" %)(((462 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)((( 476 476 1 477 477 478 478 OK ... ... @@ -481,7 +481,7 @@ 481 481 AT+CFM=0,?,0 482 482 483 483 value2 484 -)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width: 349px" %)(((471 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:100px" %)((( 485 485 0~~7 486 486 487 487 OK ... ... @@ -490,7 +490,7 @@ 490 490 AT+CFM=0,0,1 491 491 492 492 value3 493 -)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width: 349px" %)(((480 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:100px" %)((( 494 494 1 495 495 496 496 OK ... ... @@ -503,8 +503,10 @@ 503 503 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 504 504 505 505 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 493 + 506 506 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 507 507 496 +(% style="display:none" %) (%%) 508 508 509 509 == 6.2 Confirm Status == 510 510 ... ... @@ -514,13 +514,13 @@ 514 514 515 515 (% style="color:blue" %)**AT Command: AT+CFS** 516 516 517 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 518 -|=(% colspan="3" style="width: 531px;" %)AT+CFS 519 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response** 520 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0((( 506 +(% border="1" cellspacing="4" 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((( 521 521 OK 522 522 ))) 523 523 512 +(% style="display:none" %) (%%) 524 524 525 525 == 6.3 Join LoRa® Network == 526 526 ... ... @@ -530,15 +530,14 @@ 530 530 531 531 (% style="color:blue" %)**AT Command: AT+JOIN** 532 532 533 -(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %) 534 -|=(% colspan="3" style="width: 644px;" %)AT+JOIN 535 -|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response** 522 +(% border="1" cellspacing="4" 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** 536 536 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network((( 537 537 OK 538 - 539 539 While Error in format, return AT_BUSY_ERROR 540 540 ))) 541 541 529 +(% style="display:none" %) (%%) 542 542 543 543 == 6.4 LoRa® Network Join Mode == 544 544 ... ... @@ -548,9 +548,8 @@ 548 548 549 549 (% style="color:blue" %)**AT Command: AT+NJM** 550 550 551 -(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %) 552 -|=(% colspan="3" style="width: 750px;" %)AT+NJM 553 -|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response** 539 +(% border="1" cellspacing="4" 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** 554 554 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1((( 555 555 OK 556 556 ))) ... ... @@ -564,8 +564,10 @@ 564 564 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 565 565 566 566 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 554 + 567 567 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 568 568 557 +(% style="display:none" %) (%%) 569 569 570 570 == 6.5 LoRa® Network Join Status == 571 571 ... ... @@ -575,13 +575,13 @@ 575 575 576 576 (% style="color:blue" %)**AT Command: AT+NJS** 577 577 578 -(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %) 579 -|=(% colspan="3" style="width: 495px;" %)AT+NJS 580 -|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response** 581 -|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0((( 567 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %) 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:97px" %)**Response** 569 +|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:97px" %)0((( 582 582 OK 583 583 ))) 584 584 573 +(% style="display:none" %) (%%) 585 585 586 586 == 6.6 Print Last Received Data in Raw Format == 587 587 ... ... @@ -591,13 +591,13 @@ 591 591 592 592 (% style="color:blue" %)**AT Command: AT+RECV** 593 593 594 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 595 -|=(% colspan="3" style="width: 584px;" %)AT+RECV 596 -|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response** 597 -|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:((( 583 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %) 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:104px" %)**Response** 585 +|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:104px" %)0:((( 598 598 OK 599 599 ))) 600 600 589 +(% style="display:none" %) (%%) 601 601 602 602 == 6.7 Print Last Received Data in Binary Format == 603 603 ... ... @@ -607,13 +607,13 @@ 607 607 608 608 (% style="color:blue" %)**AT Command: AT+RECVB** 609 609 610 -(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %) 611 -|=(% colspan="3" style="width: 790px;" %)AT+RECVB 612 -|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response** 599 +(% border="1" cellspacing="4" 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** 613 613 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010((( 614 614 OK 615 615 ))) 616 616 605 +(% style="display:none" %) (%%) 617 617 618 618 == 6.8 Send Text Data == 619 619 ... ... @@ -623,17 +623,14 @@ 623 623 624 624 (% style="color:blue" %)**AT Command: AT+SEND** 625 625 626 -(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %) 627 -|=(% colspan="3" style="width: 988px;" %)AT+SEND 628 -|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 615 +(% border="1" cellspacing="4" 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** 629 629 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 630 630 While Error in format, return 631 - 632 632 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 633 - 634 - 635 635 ))) 636 636 622 +(% style="display:none" %) (%%) 637 637 638 638 == 6.9 Send Hexadecimal Data == 639 639 ... ... @@ -643,16 +643,14 @@ 643 643 644 644 (% style="color:blue" %)**AT Command: AT+SENDB** 645 645 646 -(% border="1" style="background-color:#ffffcc; color:green; width:1101px" %) 647 -|=(% colspan="3" style="width: 1098px;" %)AT+SENDB 648 -|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response** 649 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK 650 -|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)While Error in format, return((( 651 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 652 - 653 - 632 +(% border="1" cellspacing="4" 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 654 654 ))) 655 655 639 +(% style="display:none" %) (%%) 656 656 657 657 = 7. LoRaWAN network management = 658 658 ... ... @@ -664,14 +664,13 @@ 664 664 665 665 (% style="color:blue" %)**AT Command: AT+ADR** 666 666 667 -(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %) 668 -|=(% colspan="3" style="width: 680px;" %)AT+ADR 669 -|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response** 670 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1((( 651 +(% border="1" cellspacing="4" 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((( 671 671 OK 672 672 ))) 673 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:2 50px" %)OK674 -|(% 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((( 675 675 AT_PARAM_ERROR 676 676 ))) 677 677 ... ... @@ -680,8 +680,10 @@ 680 680 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 681 681 682 682 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 666 + 683 683 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 684 684 669 +(% style="display:none" %) (%%) 685 685 686 686 == 7.2 LoRa® Class == 687 687 ... ... @@ -691,28 +691,32 @@ 691 691 692 692 (% style="color:blue" %)**AT Command: AT+CLASS** 693 693 694 -(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %) 695 -|=(% colspan="3" style="width: 504px;" %)AT+CLASS 696 -|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response** 697 -|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A((( 679 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %) 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:94px" %)**Response** 681 +|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:94px" %)A((( 698 698 OK 699 699 ))) 700 -|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width: 175px" %)OK(((684 +|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:94px" %)OK((( 701 701 702 702 ))) 703 703 688 +(% style="display:none" %) 704 704 690 +(% style="color:red" %)**Notice:** 691 + 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. 694 + 705 705 == 7.3 Duty Cycle Setting == 706 706 707 707 708 -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. 709 709 710 710 711 711 (% style="color:blue" %)**AT Command: AT+DCS** 712 712 713 -(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %) 714 -|=(% colspan="3" style="width: 512px;" %)AT+DCS 715 -|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response** 703 +(% border="1" cellspacing="4" 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** 716 716 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1((( 717 717 OK 718 718 ))) ... ... @@ -720,6 +720,7 @@ 720 720 721 721 ))) 722 722 712 +(% style="display:none" %) (%%) 723 723 724 724 == 7.4 Data Rate == 725 725 ... ... @@ -730,17 +730,17 @@ 730 730 **Notice:** 731 731 732 732 * 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. 723 + 733 733 * 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/]] 734 734 735 735 (% style="color:blue" %)**AT Command: AT+DR** 736 736 737 -(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %) 738 -|=(% colspan="3" style="width: 463px;" %)AT+DR 739 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response** 740 -|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5((( 728 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %) 729 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response** 730 +|(% style="width:156px" %)AT+DR=?|(% style="width:147px" %)Get the Data Rate.|(% style="width:100px" %)5((( 741 741 OK 742 742 ))) 743 -|(% style="width:156px" %)AT+DR=2|(% style="width:1 67px" %)Set the Data Rate.|(% style="width:140px" %)OK(((733 +|(% style="width:156px" %)AT+DR=2|(% style="width:147px" %)Set the Data Rate.|(% style="width:100px" %)OK((( 744 744 745 745 ))) 746 746 ... ... @@ -749,8 +749,10 @@ 749 749 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 750 750 751 751 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 742 + 752 752 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 753 753 745 +(% style="display:none" %) (%%) 754 754 755 755 == 7.5 Frame Counter Downlink == 756 756 ... ... @@ -760,9 +760,8 @@ 760 760 761 761 (% style="color:blue" %)**AT Command: AT+FCD** 762 762 763 -(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %) 764 -|=(% colspan="3" style="width: 690px;" %)AT+FCD 765 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response** 755 +(% border="1" cellspacing="4" 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** 766 766 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 767 767 OK 768 768 ))) ... ... @@ -770,6 +770,7 @@ 770 770 OK 771 771 ))) 772 772 764 +(% style="display:none" %) (%%) 773 773 774 774 == 7.6 Frame Counter Uplink == 775 775 ... ... @@ -778,9 +778,8 @@ 778 778 779 779 (% style="color:blue" %)**AT Command: AT+FCU** 780 780 781 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 782 -|=(% colspan="3" style="width: 531px;" %)AT+FCU 783 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response** 773 +(% border="1" cellspacing="4" 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** 784 784 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 785 785 OK 786 786 ))) ... ... @@ -788,6 +788,7 @@ 788 788 789 789 ))) 790 790 782 +(% style="display:none" %) (%%) 791 791 792 792 == 7.7 Join Accept Delay1 == 793 793 ... ... @@ -797,9 +797,8 @@ 797 797 798 798 (% style="color:blue" %)**AT Command: AT+JN1DL** 799 799 800 -(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %) 801 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL 802 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response** 792 +(% border="1" cellspacing="4" 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** 803 803 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 804 804 OK 805 805 ))) ... ... @@ -807,6 +807,7 @@ 807 807 808 808 ))) 809 809 801 +(% style="display:none" %) (%%) 810 810 811 811 == 7.8 Join Accept Delay2 == 812 812 ... ... @@ -816,9 +816,8 @@ 816 816 817 817 (% style="color:blue" %)**AT Command: AT+JN2DL** 818 818 819 -(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %) 820 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL 821 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response** 811 +(% border="1" cellspacing="4" 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** 822 822 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 823 823 OK 824 824 ))) ... ... @@ -826,6 +826,7 @@ 826 826 827 827 ))) 828 828 820 +(% style="display:none" %) (%%) 829 829 830 830 == 7.9 Public Network Mode == 831 831 ... ... @@ -837,9 +837,8 @@ 837 837 838 838 (% style="color:blue" %)**AT Command: AT+PNM** 839 839 840 -(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %) 841 -|=(% colspan="3" style="width: 664px;" %)AT+PNM 842 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response** 832 +(% border="1" cellspacing="4" 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** 843 843 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 844 844 OK 845 845 ))) ... ... @@ -854,6 +854,7 @@ 854 854 ))) 855 855 |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %) 856 856 848 +(% style="display:none" %) (%%) 857 857 858 858 == 7.10 Receive Delay1 == 859 859 ... ... @@ -863,9 +863,8 @@ 863 863 864 864 (% style="color:blue" %)**AT Command: AT+RX1DL** 865 865 866 -(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %) 867 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL 868 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response** 858 +(% border="1" cellspacing="4" 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** 869 869 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 870 870 OK 871 871 ))) ... ... @@ -873,6 +873,7 @@ 873 873 874 874 ))) 875 875 867 +(% style="display:none" %) (%%) 876 876 877 877 == 7.11 Receive Delay2 == 878 878 ... ... @@ -882,9 +882,8 @@ 882 882 883 883 (% style="color:blue" %)**AT Command: AT+RX2DL** 884 884 885 -(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %) 886 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL 887 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response** 877 +(% border="1" cellspacing="4" 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** 888 888 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 889 889 OK 890 890 ))) ... ... @@ -892,6 +892,7 @@ 892 892 893 893 ))) 894 894 886 +(% style="display:none" %) (%%) 895 895 896 896 == 7.12 Rx2 Window Data Rate == 897 897 ... ... @@ -901,9 +901,8 @@ 901 901 902 902 (% style="color:blue" %)**AT Command: AT+RX2DR** 903 903 904 -(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %) 905 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR 906 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response** 896 +(% border="1" cellspacing="4" 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** 907 907 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 908 908 OK 909 909 ))) ... ... @@ -911,6 +911,7 @@ 911 911 912 912 ))) 913 913 905 +(% style="display:none" %) (%%) 914 914 915 915 == 7.13 Rx2 Window Frequency == 916 916 ... ... @@ -920,9 +920,8 @@ 920 920 921 921 (% style="color:blue" %)**AT Command: AT+RX2FQ** 922 922 923 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 924 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ 925 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response** 915 +(% border="1" cellspacing="4" 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** 926 926 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 927 927 OK 928 928 ))) ... ... @@ -930,6 +930,7 @@ 930 930 931 931 ))) 932 932 924 +(% style="display:none" %) (%%) 933 933 934 934 == 7.14 Transmit Power == 935 935 ... ... @@ -941,9 +941,8 @@ 941 941 942 942 (% style="color:blue" %)**AT Command: AT+TXP** 943 943 944 -(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %) 945 -|=(% colspan="3" style="width: 462px;" %)AT+TXP 946 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response** 936 +(% border="1" cellspacing="4" 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** 947 947 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 948 948 OK 949 949 ))) ... ... @@ -956,9 +956,11 @@ 956 956 If the downlink payload=22000100, it means setting the TXP to 0. 957 957 958 958 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 959 -* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0. 960 960 951 +* **Example 2**: Downlink Payload: **22000000** ~/~/ Set AT+TXP=0. 961 961 953 +(% style="display:none" %) (%%) 954 + 962 962 == 7.15 RSSI of the Last Received Packet == 963 963 964 964 ... ... @@ -967,13 +967,13 @@ 967 967 968 968 (% style="color:blue" %)**AT Command:AT+RSSI** 969 969 970 -(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %) 971 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI 972 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response** 963 +(% border="1" cellspacing="4" 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** 973 973 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 974 974 OK 975 975 ))) 976 976 969 +(% style="display:none" %) (%%) 977 977 978 978 == 7.16 SNR of the Last Received Packet == 979 979 ... ... @@ -983,13 +983,13 @@ 983 983 984 984 (% style="color:blue" %)**AT Command: AT+SNR** 985 985 986 -(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %) 987 -|=(% colspan="3" style="width: 568px;" %)AT+SNR 988 -|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response** 979 +(% border="1" cellspacing="4" 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** 989 989 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 990 990 OK 991 991 ))) 992 992 985 +(% style="display:none" %) (%%) 993 993 994 994 == 7.17 Application Port == 995 995 ... ... @@ -999,13 +999,12 @@ 999 999 1000 1000 (% style="color:blue" %)**AT Command: AT+PORT** 1001 1001 1002 -(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %) 1003 -|=(% colspan="3" style="width: 497px;" %)AT+PORT 1004 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response** 1005 -|(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21((( 995 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %) 996 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:193px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response** 997 +|(% style="width:157px" %)AT+PORT=?|(% style="width:193px" %)Get the application port|(% style="width:104px" %)21((( 1006 1006 OK 1007 1007 ))) 1008 -|(% style="width:157px" %)AT+PORT=21|(% style="width: 204px" %)Set the application port|(% style="width:135px" %)OK1000 +|(% style="width:157px" %)AT+PORT=21|(% style="width:193px" %)Set the application port|(% style="width:104px" %)OK 1009 1009 1010 1010 (% style="color:blue" %)**Downlink Command: 0x23** 1011 1011 ... ... @@ -1014,8 +1014,10 @@ 1014 1014 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 1015 1015 1016 1016 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1009 + 1017 1017 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1018 1018 1012 +(% style="display:none" %) (%%) 1019 1019 1020 1020 == 7.18 Single Channel Mode == 1021 1021 ... ... @@ -1025,14 +1025,14 @@ 1025 1025 1026 1026 (% style="color:blue" %)**AT Command: AT+CHS** 1027 1027 1028 -(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %) 1029 -|=(% colspan="3" style="width: 600px;" %)AT+CHS 1030 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response** 1031 -|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0((( 1022 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %) 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:101px" %)**Response** 1024 +|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:101px" %)0((( 1032 1032 OK 1033 1033 ))) 1034 -|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:1 22px" %)OK1027 +|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:101px" %)OK 1035 1035 1029 +(% style="display:none" %) (%%) 1036 1036 1037 1037 == 7.19 Eight Channel Mode == 1038 1038 ... ... @@ -1042,9 +1042,8 @@ 1042 1042 1043 1043 (% style="color:blue" %)**AT Command: AT+CHE** 1044 1044 1045 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1046 -|=(% colspan="3" style="width: 707px;" %)AT+CHE 1047 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1039 +(% border="1" cellspacing="4" 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** 1048 1048 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 1049 1049 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 1050 1050 ... ... @@ -1059,8 +1059,10 @@ 1059 1059 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 1060 1060 1061 1061 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1055 + 1062 1062 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1063 1063 1058 +(% style="display:none" %) (%%) 1064 1064 1065 1065 == 7.20 Get or Set RXwindows1 timeout == 1066 1066 ... ... @@ -1070,32 +1070,26 @@ 1070 1070 1071 1071 (% style="color:blue" %)**AT Command: AT+RX1WTO** 1072 1072 1073 -(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %) 1074 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO 1075 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response** 1068 +(% border="1" cellspacing="4" 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** 1076 1076 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 1077 1077 OK 1078 1078 ))) 1079 1079 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK 1080 1080 1081 -((( 1082 - 1075 +(% style="display:none" %) (%%) 1083 1083 1084 - 1077 +((( 1085 1085 (% 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. 1086 - 1087 - 1088 1088 ))) 1089 1089 1090 1090 [[image:image-20220526162535-1.png]] 1091 1091 1092 - 1093 1093 ((( 1094 1094 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. 1095 - 1096 - 1097 1097 ))) 1098 1098 1087 + 1099 1099 == 7.21 Get or Set RXwindows2 timeout == 1100 1100 1101 1101 ... ... @@ -1104,14 +1104,14 @@ 1104 1104 1105 1105 (% style="color:blue" %)**AT Command: AT+RX2WTO** 1106 1106 1107 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1108 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO 1109 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response** 1110 -|(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7((( 1096 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %) 1097 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:192px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:90px" %)**Response** 1098 +|(% style="width:162px" %)AT+RX2WTO=?|(% style="width:192px" %)Get RXwindows2 timeout|(% style="width:90px" %)7((( 1111 1111 OK 1112 1112 ))) 1113 -|(% style="width:1 90px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK1101 +|(% style="width:162px" %)AT+RX2WTO=20|(% style="width:192px" %)Set RXwindows2 timeout|(% style="width:90px" %)OK 1114 1114 1103 +(% style="display:none" %) (%%) 1115 1115 1116 1116 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1117 1117 ... ... @@ -1121,13 +1121,12 @@ 1121 1121 1122 1122 (% style="color:blue" %)**AT Command: AT+DWELLT** 1123 1123 1124 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1125 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT 1126 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response** 1127 -|(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1((( 1113 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %) 1114 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:157px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:95px" %)**Response** 1115 +|(% style="width:162px" %)AT+DWELLT=?|(% style="width:157px" %)Get uplinkdwelltime|(% style="width:95px" %)1((( 1128 1128 OK 1129 1129 ))) 1130 -|(% style="width:1 83px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK1118 +|(% style="width:162px" %)AT+DWELLT=0|(% style="width:157px" %)Set uplinkdwelltime|(% style="width:95px" %)OK 1131 1131 1132 1132 (% style="color:blue" %)**Downlink Command: 0x25** 1133 1133 ... ... @@ -1136,8 +1136,10 @@ 1136 1136 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1137 1137 1138 1138 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1127 + 1139 1139 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1140 1140 1130 +(% style="display:none" %) (%%) 1141 1141 1142 1142 == 7.23 Set Packet Receiving Response Level == 1143 1143 ... ... @@ -1145,25 +1145,30 @@ 1145 1145 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. 1146 1146 1147 1147 1148 -**RPL value:** 1138 +(% style="color:blue" %)**RPL value:** 1149 1149 1150 1150 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1141 + 1151 1151 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 1143 + 1152 1152 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. 1145 + 1153 1153 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1147 + 1154 1154 * **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. 1155 1155 1156 -**Case Analyes:** 1150 +(% style="color:blue" %)**Case Analyes:** 1157 1157 1158 1158 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1153 + 1159 1159 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1155 + 1160 1160 * 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. 1161 1161 1162 1162 (% style="color:blue" %)**AT Command: AT+RPL** 1163 1163 1164 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1165 -|=(% colspan="3" style="width: 533px;" %)AT+RPL 1166 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1160 +(% border="1" cellspacing="4" 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** 1167 1167 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 1168 1168 OK 1169 1169 ))) ... ... @@ -1176,8 +1176,10 @@ 1176 1176 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1177 1177 1178 1178 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1174 + 1179 1179 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1180 1180 1177 +(% style="display:none" %) (%%) 1181 1181 1182 1182 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) == 1183 1183 ... ... @@ -1184,13 +1184,12 @@ 1184 1184 1185 1185 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1186 1186 1187 -(% border="1" style="background-color:#ffffcc; color:green; width:589px" %) 1188 -|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS** 1189 -|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response** 1190 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1184 +(% border="1" cellspacing="4" 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((( 1191 1191 OK 1192 1192 ))) 1193 -|(% style="width:227px" %) **AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((1189 +|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)((( 1194 1194 value2: 0: uplink fcnt doesn't change for each NBTrans; 1195 1195 1196 1196 1: uplink fcnt increase by 1 for each NBTrans. ... ... @@ -1207,8 +1207,10 @@ 1207 1207 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1208 1208 1209 1209 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1206 + 1210 1210 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1211 1211 1209 +(% style="display:none" %) (%%) 1212 1212 1213 1213 == 7.25 Device offline rejoining (LWS007) == 1214 1214 ... ... @@ -1215,14 +1215,19 @@ 1215 1215 1216 1216 (% style="color:blue" %)**AT Command: AT+DDETECT** 1217 1217 1218 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1219 -|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1220 -|(% 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 + 1220 +* ACK_Timout_2: Unit: min 1221 + 1222 +(% border="1" style="background-color:#f2f2f2; width:562px" %) 1223 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response** 1221 1221 |(% style="width:160px" %)((( 1222 1222 AT+DDETECT=1,1440,2880 1223 1223 1224 1224 value1 1225 -)))|(% style="width: 198px" %)Enable online detect|(% style="width:349px" %)(((1228 +)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)((( 1226 1226 1 1227 1227 1228 1228 OK ... ... @@ -1231,7 +1231,7 @@ 1231 1231 AT+DDETECT=1,?,2880 1232 1232 1233 1233 value2 1234 -)))|(% style="width: 198px" %)Online detection packet sending time|(% style="width:349px" %)(((1237 +)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)((( 1235 1235 1236 1236 1237 1237 OK ... ... @@ -1240,38 +1240,46 @@ 1240 1240 AT+DDETECT=1,1440,? 1241 1241 1242 1242 value3 1243 -)))|(% style="width: 198px" %)Process rejoin|(% style="width:349px" %)(((1246 +)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)((( 1244 1244 1245 1245 1246 1246 OK 1247 1247 ))) 1248 1248 1249 -(% style="color:blue" %)**Downlink Command: 0x3 3**1252 +(% style="color:blue" %)**Downlink Command: 0x32** 1250 1250 1251 1251 Format: Command Code (0x32) followed by 2 bytes mode value. 1252 1252 1253 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 3 3.1256 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1254 1254 1255 -* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1258 +* **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1256 1256 1260 + ** 0x01** : Flag 1257 1257 1262 + **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours) 1263 + 1264 + **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours) 1265 + 1266 +* **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. 1267 + 1268 +(% style="display:none" %) (%%) 1269 + 1258 1258 == 7.26 Request the server to send an ACK == 1259 1259 1260 1260 1261 1261 (% style="color:blue" %)**AT Command: AT+PNACKMD** 1262 1262 1263 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1264 -|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1265 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1266 -|(% 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((( 1275 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %) 1276 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:627px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response** 1277 +|(% style="width:160px" %)AT+PNACKMD=1|(% style="width:627px" %)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:100px" %)1((( 1267 1267 OK 1268 1268 ))) 1269 -|(% style="width:160px" %) **AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((1280 +|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:627px" %)off request the server to send an ACK|(% style="width:100px" %)((( 1270 1270 0 1271 - 1272 1272 OK 1273 1273 ))) 1274 1274 1285 +(% style="display:none" %) (%%) 1275 1275 1276 1276 == 7.27 Adjust network rejoining interval == 1277 1277 ... ... @@ -1278,15 +1278,14 @@ 1278 1278 1279 1279 (% style="color:blue" %)**AT Command: AT+RJTDC** 1280 1280 1281 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1282 -|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1283 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1284 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30((( 1292 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %) 1293 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:357px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:361px" %)**Response** 1294 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:357px" %)Show the ReJoin data transmission interval in min|(% style="width:361px" %)30((( 1285 1285 OK 1286 1286 1287 1287 the interval is 30 min 1288 1288 ))) 1289 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width: 227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((1299 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:357px" %)Set the ReJoin data transmission interval in min|(% style="width:361px" %)OK((( 1290 1290 Set the ReJoin data transmission interval to 60 min 1291 1291 ))) 1292 1292 ... ... @@ -1296,19 +1296,23 @@ 1296 1296 1297 1297 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1298 1298 1299 -* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1300 -* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1309 +* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1301 1301 1311 +* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1302 1302 1313 +(% style="display:none" %) (%%) 1314 + 1303 1303 = 8. AT Commands Combination = 1304 1304 1305 1305 == 8.1 Set a fix RX2DR for downlink window == 1306 1306 1307 1307 1308 -* (% style="color:blue" %)**AT+ADR=0 **(%%) **~-~->** Disable ADR first 1309 -* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~-~->** Set xxxx to your wanted DataRate 1320 +* (% style="color:blue" %)**AT+ADR=0 **(%%) **~/~/** Disable ADR first 1310 1310 1322 +* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~/~/** Set xxxx to your wanted DataRate 1311 1311 1324 +(% style="display:none" %) (%%) 1325 + 1312 1312 == 8.2 Use Downlink Command to set a fix uplink DR == 1313 1313 1314 1314 ... ... @@ -1317,7 +1317,9 @@ 1317 1317 **Same as:** 1318 1318 1319 1319 * AT+ADR=0 [[Reference>>||anchor="H7.1AdaptiveDataRate"]] 1334 + 1320 1320 * AT+DR=5 [[Reference>>||anchor="H7.4DataRate"]] 1336 + 1321 1321 * AT+TXP=0 [[Reference>>||anchor="H7.14TransmitPower"]] 1322 1322 1323 1323