Changes for page End Device AT Commands and Downlink Command
Last modified by Mengting Qiu on 2025/07/01 15:53
From version 81.1
edited by Mengting Qiu
on 2025/07/01 15:11
on 2025/07/01 15:11
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 6 removed)
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. ting1 +XWiki.Xiaoling - Content
-
... ... @@ -10,7 +10,6 @@ 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 - 14 14 * (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device. 15 15 16 16 ((( ... ... @@ -18,13 +18,10 @@ 18 18 ))) 19 19 20 20 21 - 22 - 23 23 = 2. How to use AT Commands or Downlink command = 24 24 25 25 26 -* **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 Products User Manual>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/]]**. 27 - 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/]] 28 28 * **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: 29 29 ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]] 30 30 ** 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]]? ... ... @@ -35,10 +35,17 @@ 35 35 = 3. Support End Node and firmware version = 36 36 37 37 34 +(% border="1" style="background-color:#F2F2F2; width:966px" %) 35 +|=(% colspan="3" style="width: 963px;background-color:#D9E2F3" %)((( 38 38 Dragino STM32 base hardware Firmware / LoRaWAN stack list 39 - 40 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %) 41 -|(% 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 +))) 38 +|(% style="width:187px;color:#0070C0" %)((( 39 +**Model** 40 +)))|(% style="width:330px;color:#0070C0" %)((( 41 +**Description** 42 +)))|(% style="width:445px;color:#0070C0" %)((( 43 +**Firmware Version <~-~-> Stack Version** 44 +))) 42 42 |(% style="width:187px" %)((( 43 43 [[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]], 44 44 )))|(% style="width:330px" %)((( ... ... @@ -111,8 +111,9 @@ 111 111 112 112 (% style="color:blue" %)**AT Command: AT+TDC** 113 113 114 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %) 115 -|(% 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** 117 +(% border="1" style="background-color:#F2F2F2; width:727.222px" %) 118 +|=(% colspan="3" style="width: 724px;background-color:#D9E2F3" %)AT+TDC 119 +|(% style="width:165px;color:#0070C0" %)**Command Example**|(% style="width:227px;color:#0070C0" %)**Function**|(% style="width:329px;color:#0070C0" %)**Response** 116 116 |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000((( 117 117 OK 118 118 ... ... @@ -123,6 +123,8 @@ 123 123 ))) 124 124 125 125 ((( 130 + 131 + 126 126 (% style="color:blue" %)**Downlink Command: 0x01** 127 127 128 128 Format: Command Code (0x01) followed by 3 bytes time value. ... ... @@ -133,7 +133,6 @@ 133 133 ))) 134 134 135 135 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds 136 - 137 137 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds 138 138 139 139 (% style="display:none" %) (%%) ... ... @@ -144,10 +144,11 @@ 144 144 Feature: Reboot End Node to perform a new OTAA or ABP Join. 145 145 146 146 147 -(% style="color:blue" %)**AT Command: ATZ ~/~/**(%%)Trig a reset of the MCU152 +(% style="color:blue" %)**AT Command: ATZ** 148 148 149 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %) 150 -|(% 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 +(% border="1" style="background-color:#ffffcc; color:green; width:546px" %) 155 +|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU 156 +|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response** 151 151 |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)((( 152 152 Device reset and show booting info 153 153 ... ... @@ -179,10 +179,11 @@ 179 179 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. 180 180 181 181 182 -(% style="color:blue" %)**AT Command: AT+FDR ~/~/**(%%)Reset to factory default188 +(% style="color:blue" %)**AT Command: AT+FDR** 183 183 184 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %) 185 -|(% 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** 190 +(% border="1" style="background-color:#ffffcc; color:green; width:789px" %) 191 +|=(% colspan="3" style="width: 786px;" %)Reset to factory default 192 +|(% style="width:154px" %)**Command Example**|(% style="width:175px" %)**Function**|(% style="width:456px" %)**Response** 186 186 |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)((( 187 187 Device reset to factory default parameters and show booting info 188 188 ... ... @@ -214,10 +214,11 @@ 214 214 Feature: Show firmware version. No downlink command yet. 215 215 216 216 217 -(% style="color:blue" %)**AT Command: AT+VER ~/~/**(%%)Image Version and Frequency Band224 +(% style="color:blue" %)**AT Command: AT+VER** 218 218 219 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %) 220 -|(% 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** 226 +(% border="1" style="background-color:#ffffcc; color:green; width:542px" %) 227 +|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band 228 +|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response** 221 221 |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)((( 222 222 1.3 EU868 223 223 ... ... @@ -227,17 +227,17 @@ 227 227 (% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)** 228 228 229 229 ((( 230 -Format: CommandCode (0x26) followed by 1 byte.238 +Downlink Format: 0x26 231 231 ))) 232 232 233 233 ((( 234 - If the downlink payload=**2601, **Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes( FPort= 5 usually).242 +Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes 235 235 ))) 236 236 237 237 ((( 238 238 239 239 240 - (% style="color:#037691" %)**xx: Software Type:**248 +**xx: Software Type:** 241 241 ))) 242 242 243 243 * 0x00 01: LGT92 Version ... ... @@ -247,7 +247,7 @@ 247 247 ((( 248 248 249 249 250 - (% style="color:#037691" %)**yy: Frequency Band:**258 +**yy: Frequency Band:** 251 251 ))) 252 252 253 253 * 0x01: EU868 ... ... @@ -257,14 +257,14 @@ 257 257 * 0x05: KZ865 258 258 * 0x06: RU864 259 259 * 0x07: AS923 260 -* 0x08: AS923- 2261 -* 0x09: AS923- 3262 -* 0xa0: AS923- 4268 +* 0x08: AS923-1 269 +* 0x09: AS923-2 270 +* 0xa0: AS923-3 263 263 264 264 ((( 265 265 266 266 267 - (% style="color:#037691" %)**zz: Subband**275 +**zz: Subband** 268 268 ))) 269 269 270 270 firmware version: v1.1.0 ~-~-> 110 ... ... @@ -276,10 +276,11 @@ 276 276 Feature: Show All configure. No downlink command yet. 277 277 278 278 279 -(% style="color:blue" %)**AT Command: AT+CFG ~/~/**(%%)Print all configurations287 +(% style="color:blue" %)**AT Command: AT+CFG** 280 280 281 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %) 282 -|(% 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** 289 +(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %) 290 +|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations 291 +|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response** 283 283 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)((( 284 284 AT+DEUI = XX XX XX XX XX XX XX XX 285 285 AT+DADDR=XXXXXXXX ... ... @@ -291,50 +291,6 @@ 291 291 292 292 (% style="display:none" %) (%%) 293 293 294 -== 4.6 Get or Set time synchronization method == 295 - 296 - 297 -Feature: Set the system time synchronization. 298 - 299 -(% style="color:blue" %)**AT Command: AT+SYNCMOD** 300 - 301 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %) 302 -|(% 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** 303 -|(% style="width:165px" %)AT+SYNCMOD=?|(% style="width:227px" %)Show curren|(% style="width:329px" %)((( 304 -AT+SYNCMOD=? 305 - 306 -1,0 307 - 308 -((( 309 -OK 310 -))) 311 -))) 312 -|(% style="width:165px" %)AT+TDC=60000|(% style="width:227px" %)Set Transmit Interval|(% style="width:329px" %)OK((( 313 -Set transmit interval to 60000ms = 60 seconds 314 -))) 315 - 316 - AT+SYNCMOD=1,bb 317 - 318 -* ((( 319 -1: Set the system time synchronization 320 -))) 321 - 322 - bb: Set local time (24 zones): -12~~12 323 - 324 -* ((( 325 -Example: AT+SYNCMOD=1,8 ~/~/Set the time to UTC+8 time display. 326 -))) 327 -* ((( 328 -Downlink payload:28 01 xx 329 - 330 -Example: downlink 0x280108 ~-~-~-~-->AT+SYNCMOD=1,8 331 -))) 332 - 333 -Note: This command takes effect after the node is reset, or after downlink 0x2601(query device status). 334 - 335 - 336 - 337 - 338 338 = 5. Keys, IDs and EUIs management = 339 339 340 340 == 5.1 Application EUI == ... ... @@ -345,12 +345,13 @@ 345 345 346 346 (% style="color:blue" %)**AT Command: AT+APPEUI** 347 347 348 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %) 349 -|(% 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** 350 -|(% style="width:272px" %)AT+APPEUI=?|(% style="width:182px" %)Get the Application EUI|(% style="width:184px" %)00 b3 d5 00 00 00 00 00((( 313 +(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %) 314 +|=(% colspan="3" style="width: 683px;" %)AT+APPEUI 315 +|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response** 316 +|(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00((( 351 351 OK 352 352 ))) 353 -|(% style="width: 272px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:182px" %)Set the Application EUI|(% style="width:184px" %)OK319 +|(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK 354 354 355 355 (% style="display:none" %) (%%) 356 356 ... ... @@ -362,8 +362,9 @@ 362 362 363 363 (% style="color:blue" %)**AT Command: AT+APPKEY** 364 364 365 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %) 366 -|(% 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** 331 +(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %) 332 +|=(% colspan="3" style="width: 973px;" %)AT+APPKEY 333 +|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response** 367 367 |(% 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((( 368 368 OK 369 369 ))) ... ... @@ -379,8 +379,9 @@ 379 379 380 380 (% style="color:blue" %)**AT Command: AT+APPSKEY** 381 381 382 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %) 383 -|(% 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** 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** 384 384 |(% 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((( 385 385 OK 386 386 ))) ... ... @@ -398,8 +398,9 @@ 398 398 399 399 (% style="color:blue" %)**AT Command: AT+DADDR** 400 400 401 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %) 402 -|(% 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** 369 +(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %) 370 +|=(% colspan="3" style="width: 792px;" %)AT+DADDR 371 +|(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response** 403 403 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)((( 404 404 A8 40 41 FF 405 405 ... ... @@ -417,8 +417,9 @@ 417 417 418 418 (% style="color:blue" %)**AT Command: AT+DEUI** 419 419 420 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %) 421 -|(% 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** 389 +(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %) 390 +|=(% colspan="3" style="width: 1032px;" %)AT+DEUI 391 +|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response** 422 422 |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55((( 423 423 OK 424 424 ))) ... ... @@ -436,8 +436,9 @@ 436 436 437 437 (% style="color:blue" %)**AT Command: AT+NWKID** 438 438 439 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %) 440 -|(% 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 +(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %) 410 +|=(% colspan="3" style="width: 445px;" %)AT+NWKID 411 +|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response** 441 441 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff((( 442 442 OK 443 443 ))) ... ... @@ -453,8 +453,9 @@ 453 453 454 454 (% style="color:blue" %)**AT Command: AT+NWKSKEY** 455 455 456 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %) 457 -|(% 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** 427 +(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %) 428 +|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY 429 +|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response** 458 458 |(% 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((( 459 459 OK 460 460 ))) ... ... @@ -474,8 +474,9 @@ 474 474 475 475 (% style="color:blue" %)**AT Command: AT+CFM** 476 476 477 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 478 -|(% 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** 449 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 450 +|=(% colspan="3" style="width: 707px;" %)AT+CFM 451 +|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="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 ))) ... ... @@ -484,12 +484,11 @@ 484 484 485 485 (% style="color:blue" %)**Downlink Command: 0x05** 486 486 487 -Format: Command Code (0x05) followed by 1byte mode value.460 +Format: Command Code (0x05) followed by 2 bytes mode value. 488 488 489 489 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05. 490 490 491 491 * **Example 1:** Downlink Payload: 0501 ~/~/ Set AT+CFM=1 492 - 493 493 * **Example 2:** Downlink Payload: 0500 ~/~/ Set AT+CFM=0 494 494 495 495 (% style="display:none" %) (%%) ... ... @@ -499,13 +499,14 @@ 499 499 500 500 (% style="color:blue" %)**AT Command: AT+CFM** 501 501 502 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %) 503 -|(% 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** 474 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 475 +|=(% colspan="3" style="width: 707px;" %)AT+CFM 476 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 504 504 |(% style="width:160px" %)((( 505 505 AT+CFM=1,0,0 506 506 507 507 value1 508 -)))|(% style="width:198px" %)confirmed uplink|(% style="width: 100px" %)(((481 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)((( 509 509 1 510 510 511 511 OK ... ... @@ -514,7 +514,7 @@ 514 514 AT+CFM=0,?,0 515 515 516 516 value2 517 -)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width: 100px" %)(((490 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)((( 518 518 0~~7 519 519 520 520 OK ... ... @@ -523,7 +523,7 @@ 523 523 AT+CFM=0,0,1 524 524 525 525 value3 526 -)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width: 100px" %)(((499 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)((( 527 527 1 528 528 529 529 OK ... ... @@ -531,12 +531,11 @@ 531 531 532 532 (% style="color:blue" %)**Downlink Command: 0x05** 533 533 534 -Format: Command Code (0x05) followed by 3bytes mode value.507 +Format: Command Code (0x05) followed by 2 bytes mode value. 535 535 536 536 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05. 537 537 538 538 * **Example 1:** Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1 539 - 540 540 * **Example 2:** Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0 541 541 542 542 (% style="display:none" %) (%%) ... ... @@ -549,8 +549,9 @@ 549 549 550 550 (% style="color:blue" %)**AT Command: AT+CFS** 551 551 552 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %) 553 -|(% 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** 524 +(% border="1" style="background-color:#ffffcc; color:green; width:463px" %) 525 +|=(% colspan="3" style="width: 460px;" %)AT+CFS 526 +|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:107px" %)**Response** 554 554 |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0((( 555 555 OK 556 556 ))) ... ... @@ -565,8 +565,9 @@ 565 565 566 566 (% style="color:blue" %)**AT Command: AT+JOIN** 567 567 568 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %) 569 -|(% 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** 541 +(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %) 542 +|=(% colspan="3" style="width: 644px;" %)AT+JOIN 543 +|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response** 570 570 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network((( 571 571 OK 572 572 While Error in format, return AT_BUSY_ERROR ... ... @@ -582,8 +582,9 @@ 582 582 583 583 (% style="color:blue" %)**AT Command: AT+NJM** 584 584 585 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %) 586 -|(% 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** 559 +(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %) 560 +|=(% colspan="3" style="width: 750px;" %)AT+NJM 561 +|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response** 587 587 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1((( 588 588 OK 589 589 ))) ... ... @@ -597,7 +597,6 @@ 597 597 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20. 598 598 599 599 * **Example 1: **Downlink Payload: **2000 ** ~/~/ Set AT+NJM=0 600 - 601 601 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1 602 602 603 603 (% style="display:none" %) (%%) ... ... @@ -610,9 +610,10 @@ 610 610 611 611 (% style="color:blue" %)**AT Command: AT+NJS** 612 612 613 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %) 614 -|(% 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** 615 -|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:97px" %)0((( 587 +(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %) 588 +|=(% colspan="3" style="width: 495px;" %)AT+NJS 589 +|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response** 590 +|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0((( 616 616 OK 617 617 ))) 618 618 ... ... @@ -626,9 +626,10 @@ 626 626 627 627 (% style="color:blue" %)**AT Command: AT+RECV** 628 628 629 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %) 630 -|(% 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** 631 -|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:104px" %)0:((( 604 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 605 +|=(% colspan="3" style="width: 584px;" %)AT+RECV 606 +|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response** 607 +|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:((( 632 632 OK 633 633 ))) 634 634 ... ... @@ -642,8 +642,9 @@ 642 642 643 643 (% style="color:blue" %)**AT Command: AT+RECVB** 644 644 645 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %) 646 -|(% 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** 621 +(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %) 622 +|=(% colspan="3" style="width: 790px;" %)AT+RECVB 623 +|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response** 647 647 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010((( 648 648 OK 649 649 ))) ... ... @@ -650,7 +650,7 @@ 650 650 651 651 (% style="display:none" %) (%%) 652 652 653 -== 6.8 Send Text Data (Note:The format of this command of LA66 is subject to the manual)==630 +== 6.8 Send Text Data == 654 654 655 655 656 656 Feature: Send Text Data<port:data>. ... ... @@ -658,8 +658,9 @@ 658 658 659 659 (% style="color:blue" %)**AT Command: AT+SEND** 660 660 661 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %) 662 -|(% 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** 638 +(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %) 639 +|=(% colspan="3" style="width: 988px;" %)AT+SEND 640 +|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response** 663 663 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK((( 664 664 While Error in format, return 665 665 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED ... ... @@ -667,7 +667,7 @@ 667 667 668 668 (% style="display:none" %) (%%) 669 669 670 -== 6.9 Send Hexadecimal Data (Note:The format of this command of LA66 is subject to the manual)==648 +== 6.9 Send Hexadecimal Data == 671 671 672 672 673 673 Feature: Send hexadecimal data along with the application port. ... ... @@ -675,10 +675,11 @@ 675 675 676 676 (% style="color:blue" %)**AT Command: AT+SENDB** 677 677 678 -(% border="1" cellspacing="4" style="width:974px" %) 679 -|(% 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** 680 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK 681 -|(% 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((( 656 +(% border="1" style="background-color:#ffffcc; color:green; width:1101px" %) 657 +|=(% colspan="3" style="width: 1098px;" %)AT+SENDB 658 +|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response** 659 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK 660 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)While Error in format, return((( 682 682 AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED 683 683 ))) 684 684 ... ... @@ -694,13 +694,14 @@ 694 694 695 695 (% style="color:blue" %)**AT Command: AT+ADR** 696 696 697 -(% border="1" cellspacing="4" style="width:643px" %) 698 -|(% 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** 699 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1((( 676 +(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %) 677 +|=(% colspan="3" style="width: 680px;" %)AT+ADR 678 +|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response** 679 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1((( 700 700 OK 701 701 ))) 702 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:20 9px" %)OK703 -|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:20 9px" %)While Error in format, return(((682 +|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK 683 +|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return((( 704 704 AT_PARAM_ERROR 705 705 ))) 706 706 ... ... @@ -709,7 +709,6 @@ 709 709 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22. 710 710 711 711 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1. 712 - 713 713 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0. 714 714 715 715 (% style="display:none" %) (%%) ... ... @@ -722,12 +722,13 @@ 722 722 723 723 (% style="color:blue" %)**AT Command: AT+CLASS** 724 724 725 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %) 726 -|(% 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** 727 -|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:94px" %)A((( 704 +(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %) 705 +|=(% colspan="3" style="width: 504px;" %)AT+CLASS 706 +|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response** 707 +|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A((( 728 728 OK 729 729 ))) 730 -|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width: 94px" %)OK(((710 +|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK((( 731 731 732 732 ))) 733 733 ... ... @@ -741,13 +741,14 @@ 741 741 == 7.3 Duty Cycle Setting == 742 742 743 743 744 -Feature: Get or Set the ETSI Duty Cycle setting** :0**=disable, **1**=enable - Only for testing.724 +Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing. 745 745 746 746 747 747 (% style="color:blue" %)**AT Command: AT+DCS** 748 748 749 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %) 750 -|(% 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** 729 +(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %) 730 +|=(% colspan="3" style="width: 512px;" %)AT+DCS 731 +|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response** 751 751 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1((( 752 752 OK 753 753 ))) ... ... @@ -766,17 +766,17 @@ 766 766 **Notice:** 767 767 768 768 * 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. 769 - 770 770 * 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/]] 771 771 772 772 (% style="color:blue" %)**AT Command: AT+DR** 773 773 774 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %) 775 -|(% 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** 776 -|(% style="width:156px" %)AT+DR=?|(% style="width:147px" %)Get the Data Rate.|(% style="width:100px" %)5((( 754 +(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %) 755 +|=(% colspan="3" style="width: 463px;" %)AT+DR 756 +|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response** 757 +|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5((( 777 777 OK 778 778 ))) 779 -|(% style="width:156px" %)AT+DR=2|(% style="width:1 47px" %)Set the Data Rate.|(% style="width:100px" %)OK(((760 +|(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK((( 780 780 781 781 ))) 782 782 ... ... @@ -785,7 +785,6 @@ 785 785 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF. 786 786 787 787 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1. 788 - 789 789 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0. 790 790 791 791 (% style="display:none" %) (%%) ... ... @@ -798,8 +798,9 @@ 798 798 799 799 (% style="color:blue" %)**AT Command: AT+FCD** 800 800 801 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %) 802 -|(% 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** 781 +(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %) 782 +|=(% colspan="3" style="width: 690px;" %)AT+FCD 783 +|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response** 803 803 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0((( 804 804 OK 805 805 ))) ... ... @@ -816,8 +816,9 @@ 816 816 817 817 (% style="color:blue" %)**AT Command: AT+FCU** 818 818 819 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %) 820 -|(% 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** 800 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %) 801 +|=(% colspan="3" style="width: 531px;" %)AT+FCU 802 +|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response** 821 821 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0((( 822 822 OK 823 823 ))) ... ... @@ -835,8 +835,9 @@ 835 835 836 836 (% style="color:blue" %)**AT Command: AT+JN1DL** 837 837 838 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %) 839 -|(% 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** 820 +(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %) 821 +|=(% colspan="3" style="width: 534px;" %)AT+JN1DL 822 +|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response** 840 840 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000((( 841 841 OK 842 842 ))) ... ... @@ -854,8 +854,9 @@ 854 854 855 855 (% style="color:blue" %)**AT Command: AT+JN2DL** 856 856 857 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %) 858 -|(% 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** 840 +(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %) 841 +|=(% colspan="3" style="width: 535px;" %)AT+JN2DL 842 +|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response** 859 859 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000((( 860 860 OK 861 861 ))) ... ... @@ -875,8 +875,9 @@ 875 875 876 876 (% style="color:blue" %)**AT Command: AT+PNM** 877 877 878 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %) 879 -|(% 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** 862 +(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %) 863 +|=(% colspan="3" style="width: 664px;" %)AT+PNM 864 +|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response** 880 880 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1((( 881 881 OK 882 882 ))) ... ... @@ -901,8 +901,9 @@ 901 901 902 902 (% style="color:blue" %)**AT Command: AT+RX1DL** 903 903 904 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %) 905 -|(% 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** 889 +(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %) 890 +|=(% colspan="3" style="width: 405px;" %)AT+RX1DL 891 +|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response** 906 906 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000((( 907 907 OK 908 908 ))) ... ... @@ -920,8 +920,9 @@ 920 920 921 921 (% style="color:blue" %)**AT Command: AT+RX2DL** 922 922 923 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %) 924 -|(% 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** 909 +(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %) 910 +|=(% colspan="3" style="width: 478px;" %)AT+RX2DL 911 +|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response** 925 925 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000((( 926 926 OK 927 927 ))) ... ... @@ -939,8 +939,9 @@ 939 939 940 940 (% style="color:blue" %)**AT Command: AT+RX2DR** 941 941 942 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %) 943 -|(% 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** 929 +(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %) 930 +|=(% colspan="3" style="width: 522px;" %)AT+RX2DR 931 +|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response** 944 944 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2((( 945 945 OK 946 946 ))) ... ... @@ -958,8 +958,9 @@ 958 958 959 959 (% style="color:blue" %)**AT Command: AT+RX2FQ** 960 960 961 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %) 962 -|(% 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** 949 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %) 950 +|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ 951 +|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response** 963 963 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000((( 964 964 OK 965 965 ))) ... ... @@ -972,7 +972,7 @@ 972 972 == 7.14 Transmit Power == 973 973 974 974 975 -Feature: Get or Set the Transmit Power(0-5, MAX:0, MIN:5, according to LoRaWAN Spec, or 40=10dB m, 41 = 11dBm, …, 50 = 20dBmwhich is out of LoRaWAN spec. )964 +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. ) 976 976 977 977 (% 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** 978 978 ... ... @@ -979,8 +979,9 @@ 979 979 980 980 (% style="color:blue" %)**AT Command: AT+TXP** 981 981 982 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %) 983 -|(% 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** 971 +(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %) 972 +|=(% colspan="3" style="width: 462px;" %)AT+TXP 973 +|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response** 984 984 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0((( 985 985 OK 986 986 ))) ... ... @@ -993,7 +993,6 @@ 993 993 If the downlink payload=22000100, it means setting the TXP to 0. 994 994 995 995 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2. 996 - 997 997 * **Example 2**: Downlink Payload: **22000000** ~/~/ Set AT+TXP=0. 998 998 999 999 (% style="display:none" %) (%%) ... ... @@ -1006,8 +1006,9 @@ 1006 1006 1007 1007 (% style="color:blue" %)**AT Command:AT+RSSI** 1008 1008 1009 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %) 1010 -|(% 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** 998 +(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %) 999 +|=(% colspan="3" style="width: 554px;" %)AT+RSSI 1000 +|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response** 1011 1011 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0((( 1012 1012 OK 1013 1013 ))) ... ... @@ -1022,8 +1022,9 @@ 1022 1022 1023 1023 (% style="color:blue" %)**AT Command: AT+SNR** 1024 1024 1025 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %) 1026 -|(% 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** 1015 +(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %) 1016 +|=(% colspan="3" style="width: 568px;" %)AT+SNR 1017 +|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response** 1027 1027 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0((( 1028 1028 OK 1029 1029 ))) ... ... @@ -1038,12 +1038,13 @@ 1038 1038 1039 1039 (% style="color:blue" %)**AT Command: AT+PORT** 1040 1040 1041 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %) 1042 -|(% 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** 1043 -|(% style="width:157px" %)AT+PORT=?|(% style="width:193px" %)Get the application port|(% style="width:104px" %)21((( 1032 +(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %) 1033 +|=(% colspan="3" style="width: 497px;" %)AT+PORT 1034 +|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response** 1035 +|(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21((( 1044 1044 OK 1045 1045 ))) 1046 -|(% style="width:157px" %)AT+PORT=21|(% style="width: 193px" %)Set the application port|(% style="width:104px" %)OK1038 +|(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK 1047 1047 1048 1048 (% style="color:blue" %)**Downlink Command: 0x23** 1049 1049 ... ... @@ -1052,7 +1052,6 @@ 1052 1052 If the downlink payload=2301, it means set the application port to 1, while type code is 23. 1053 1053 1054 1054 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1 1055 - 1056 1056 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5 1057 1057 1058 1058 (% style="display:none" %) (%%) ... ... @@ -1065,12 +1065,13 @@ 1065 1065 1066 1066 (% style="color:blue" %)**AT Command: AT+CHS** 1067 1067 1068 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %) 1069 -|(% 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** 1070 -|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:101px" %)0((( 1059 +(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %) 1060 +|=(% colspan="3" style="width: 600px;" %)AT+CHS 1061 +|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response** 1062 +|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0((( 1071 1071 OK 1072 1072 ))) 1073 -|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:1 01px" %)OK1065 +|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK 1074 1074 1075 1075 (% style="display:none" %) (%%) 1076 1076 ... ... @@ -1082,8 +1082,9 @@ 1082 1082 1083 1083 (% style="color:blue" %)**AT Command: AT+CHE** 1084 1084 1085 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %) 1086 -|(% 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** 1077 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1078 +|=(% colspan="3" style="width: 707px;" %)AT+CHE 1079 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1087 1087 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1((( 1088 1088 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7 1089 1089 ... ... @@ -1098,7 +1098,6 @@ 1098 1098 If the downlink payload=2401, it means set channel mode to 1, while type code is 24. 1099 1099 1100 1100 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1 1101 - 1102 1102 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5 1103 1103 1104 1104 (% style="display:none" %) (%%) ... ... @@ -1111,8 +1111,9 @@ 1111 1111 1112 1112 (% style="color:blue" %)**AT Command: AT+RX1WTO** 1113 1113 1114 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %) 1115 -|(% 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** 1106 +(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %) 1107 +|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO 1108 +|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response** 1116 1116 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14((( 1117 1117 OK 1118 1118 ))) ... ... @@ -1130,22 +1130,7 @@ 1130 1130 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. 1131 1131 ))) 1132 1132 1133 -**Example:** 1134 -~1. Set AT+RX1WTO=0, AT+RX1DL=5000, the window opening time is: 53.699ms 1135 1135 1136 -[[image:image-20240906095336-1.png||height="404" width="759"]] 1137 - 1138 - 1139 -2. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 149.644ms 1140 - 1141 -[[image:image-20240906095433-2.png||height="403" width="756"]] 1142 - 1143 - 1144 -3. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 298.221ms 1145 - 1146 -[[image:image-20240906095527-3.png||height="400" width="749"]] 1147 - 1148 - 1149 1149 == 7.21 Get or Set RXwindows2 timeout == 1150 1150 1151 1151 ... ... @@ -1154,29 +1154,16 @@ 1154 1154 1155 1155 (% style="color:blue" %)**AT Command: AT+RX2WTO** 1156 1156 1157 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %) 1158 -|(% 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** 1159 -|(% style="width:162px" %)AT+RX2WTO=?|(% style="width:192px" %)Get RXwindows2 timeout|(% style="width:90px" %)7((( 1135 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1136 +|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO 1137 +|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response** 1138 +|(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7((( 1160 1160 OK 1161 1161 ))) 1162 -|(% style="width:1 62px" %)AT+RX2WTO=20|(% style="width:192px" %)Set RXwindows2 timeout|(% style="width:90px" %)OK1141 +|(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK 1163 1163 1164 -**Example:** 1165 -~1. Set AT+RX2WTO=0, AT+RX2DL=6000, the window opening time is: 48.435ms 1143 +(% style="display:none" %) (%%) 1166 1166 1167 -(% style="display:none" %) (%%) [[image:image-20240906095619-4.png||height="375" width="703"]] 1168 - 1169 - 1170 -2. Set AT+RX2WTO=128, AT+RX2DL=6000, the window opening time is: 3011ms 1171 - 1172 -[[image:image-20240906095726-5.png||height="381" width="714"]] 1173 - 1174 - 1175 -3. Set AT+RX2WTO=255, AT+RX2DL=6000, the window opening time is: 3009ms 1176 - 1177 -[[image:image-20240906095811-6.png||height="380" width="711"]] 1178 - 1179 - 1180 1180 == 7.22 Setting up uplinkdwelltime (as923, au915) == 1181 1181 1182 1182 ... ... @@ -1185,12 +1185,13 @@ 1185 1185 1186 1186 (% style="color:blue" %)**AT Command: AT+DWELLT** 1187 1187 1188 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %) 1189 -|(% 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** 1190 -|(% style="width:162px" %)AT+DWELLT=?|(% style="width:157px" %)Get uplinkdwelltime|(% style="width:95px" %)1((( 1153 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %) 1154 +|=(% colspan="3" style="width: 494px;" %)AT+DWELLT 1155 +|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response** 1156 +|(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1((( 1191 1191 OK 1192 1192 ))) 1193 -|(% style="width:1 62px" %)AT+DWELLT=0|(% style="width:157px" %)Set uplinkdwelltime|(% style="width:95px" %)OK1159 +|(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK 1194 1194 1195 1195 (% style="color:blue" %)**Downlink Command: 0x25** 1196 1196 ... ... @@ -1199,7 +1199,6 @@ 1199 1199 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25. 1200 1200 1201 1201 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1 1202 - 1203 1203 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0 1204 1204 1205 1205 (% style="display:none" %) (%%) ... ... @@ -1210,30 +1210,25 @@ 1210 1210 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. 1211 1211 1212 1212 1213 - (% style="color:blue" %)**RPL value:**1178 +**RPL value:** 1214 1214 1215 1215 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform. 1216 - 1217 1217 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00. 1218 - 1219 1219 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command. 1220 - 1221 1221 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command. 1222 - 1223 1223 * **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. 1224 1224 1225 - (% style="color:blue" %)**Case Analyes:**1186 +**Case Analyes:** 1226 1226 1227 1227 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software. 1228 - 1229 1229 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command. 1230 - 1231 1231 * 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. 1232 1232 1233 1233 (% style="color:blue" %)**AT Command: AT+RPL** 1234 1234 1235 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %) 1236 -|(% 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** 1194 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1195 +|=(% colspan="3" style="width: 533px;" %)AT+RPL 1196 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1237 1237 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1((( 1238 1238 OK 1239 1239 ))) ... ... @@ -1246,7 +1246,6 @@ 1246 1246 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21. 1247 1247 1248 1248 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1 1249 - 1250 1250 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2 1251 1251 1252 1252 (% style="display:none" %) (%%) ... ... @@ -1256,12 +1256,13 @@ 1256 1256 1257 1257 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS ** 1258 1258 1259 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %) 1260 -|(% 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** 1261 -|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1218 +(% border="1" style="background-color:#ffffcc; color:green; width:589px" %) 1219 +|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS** 1220 +|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response** 1221 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1((( 1262 1262 OK 1263 1263 ))) 1264 -|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)((( 1224 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)((( 1265 1265 value2: 0: uplink fcnt doesn't change for each NBTrans; 1266 1266 1267 1267 1: uplink fcnt increase by 1 for each NBTrans. ... ... @@ -1278,7 +1278,6 @@ 1278 1278 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33. 1279 1279 1280 1280 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0 1281 - 1282 1282 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1 1283 1283 1284 1284 (% style="display:none" %) (%%) ... ... @@ -1291,16 +1291,16 @@ 1291 1291 AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880) 1292 1292 1293 1293 * ACK_Timout_1: Unit: min 1294 - 1295 1295 * ACK_Timout_2: Unit: min 1296 1296 1297 -(% border="1" style="background-color:#f2f2f2; width:562px" %) 1298 -|(% 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** 1255 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %) 1256 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT** 1257 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response** 1299 1299 |(% style="width:160px" %)((( 1300 1300 AT+DDETECT=1,1440,2880 1301 1301 1302 1302 value1 1303 -)))|(% style="width: 272px" %)Enable online detect|(% style="width:89px" %)(((1262 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)((( 1304 1304 1 1305 1305 1306 1306 OK ... ... @@ -1309,7 +1309,7 @@ 1309 1309 AT+DDETECT=1,?,2880 1310 1310 1311 1311 value2 1312 -)))|(% style="width: 272px" %)Online detection packet sending time|(% style="width:89px" %)(((1271 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)((( 1313 1313 1314 1314 1315 1315 OK ... ... @@ -1318,7 +1318,7 @@ 1318 1318 AT+DDETECT=1,1440,? 1319 1319 1320 1320 value3 1321 -)))|(% style="width: 272px" %)Process rejoin|(% style="width:89px" %)(((1280 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)((( 1322 1322 1323 1323 1324 1324 OK ... ... @@ -1331,55 +1331,45 @@ 1331 1331 If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32. 1332 1332 1333 1333 * **Example 1:** Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880 1293 +** 0x01 : Flag 1294 +** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours) 1295 +** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours) 1296 +** **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. 1334 1334 1335 -* 1336 -** 0x01** : Flag** 1337 - 1338 - **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours) 1339 - 1340 - **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours) 1341 - 1342 -* **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. 1343 - 1344 1344 (% style="display:none" %) (%%) 1345 1345 1346 1346 == 7.26 Request the server to send an ACK == 1347 1347 1348 1348 1349 -Feature: Mode for sending data for which acknowledgment was not received. LoraWAN Network Server(eg. The Things NetWork/ChirpStack/AWS/...). 1350 - 1351 1351 (% style="color:blue" %)**AT Command: AT+PNACKMD** 1352 1352 1353 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %) 1354 -|(% 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** 1355 -|(% style="width:160px" %)AT+PNACKMD=1|(% style="width:627px" %)If the node uploads the ACK as confirm, it will request the LoraWAN Network Server to send an ACK. If the LoraWAN Network 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((( 1305 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %) 1306 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD** 1307 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response** 1308 +|(% 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((( 1356 1356 OK 1357 1357 ))) 1358 -|(% style="width:160px" %)AT+PNACKMD=0|(% style="width: 627px" %)off request theLoraWAN Network Server to send an ACK|(% style="width:100px" %)(((1311 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)((( 1359 1359 0 1360 1360 OK 1361 1361 ))) 1362 1362 1363 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34**1316 +(% style="display:none" %) (%%) 1364 1364 1365 -0X34 01 ~/~/Same As AT+PNACKMD=1 1366 - 1367 -0x34 00 ~/~/Same As AT+PNACKMD=0 1368 - 1369 - 1370 1370 == 7.27 Adjust network rejoining interval == 1371 1371 1372 1372 1373 1373 (% style="color:blue" %)**AT Command: AT+RJTDC** 1374 1374 1375 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %) 1376 -|(% 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** 1377 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:357px" %)Show the ReJoin data transmission interval in min|(% style="width:361px" %)30((( 1323 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %) 1324 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC 1325 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response** 1326 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30((( 1378 1378 OK 1379 1379 1380 1380 the interval is 30 min 1381 1381 ))) 1382 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width: 357px" %)Set the ReJoin data transmission interval in min|(% style="width:361px" %)OK(((1331 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK((( 1383 1383 Set the ReJoin data transmission interval to 60 min 1384 1384 ))) 1385 1385 ... ... @@ -1389,10 +1389,9 @@ 1389 1389 1390 1390 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26. 1391 1391 1392 -* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1341 +* **Example 1:** Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10 1342 +* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1393 1393 1394 -* **Example 2: **Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2 1395 - 1396 1396 (% style="display:none" %) (%%) 1397 1397 1398 1398 = 8. AT Commands Combination = ... ... @@ -1400,9 +1400,9 @@ 1400 1400 == 8.1 Set a fix RX2DR for downlink window == 1401 1401 1402 1402 1403 -* (% style="color:blue" %)**AT+ADR=0 **(%%) **~ /~/** Disable ADR first1351 +* (% style="color:blue" %)**AT+ADR=0 **(%%) **~-~->** Disable ADR first 1404 1404 1405 -* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~ /~/** Set xxxx to your wanted DataRate1353 +* (% style="color:blue" %)**AT+RX2DR=xxxx** (%%) **~-~->** Set xxxx to your wanted DataRate 1406 1406 1407 1407 (% style="display:none" %) (%%) 1408 1408
- image-20240906095336-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.kai - Size
-
... ... @@ -1,1 +1,0 @@ 1 -111.0 KB - Content
- image-20240906095433-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.kai - Size
-
... ... @@ -1,1 +1,0 @@ 1 -113.2 KB - Content
- image-20240906095527-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.kai - Size
-
... ... @@ -1,1 +1,0 @@ 1 -111.6 KB - Content
- image-20240906095619-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.kai - Size
-
... ... @@ -1,1 +1,0 @@ 1 -112.4 KB - Content
- image-20240906095726-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.kai - Size
-
... ... @@ -1,1 +1,0 @@ 1 -114.0 KB - Content
- image-20240906095811-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.kai - Size
-
... ... @@ -1,1 +1,0 @@ 1 -112.8 KB - Content