<
From version < 60.4 >
edited by Xiaoling
on 2023/03/27 13:59
To version < 63.42 >
edited by Xiaoling
on 2023/05/29 14:57
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -10,6 +10,7 @@
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  (((
... ... @@ -21,6 +21,7 @@
21 21  
22 22  
23 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/]]
25 +
24 24  * **LoRaWAN Downlink Command**: The gateway transfer downlink command in HEX format. This page shows the Downlink Command In HEX format. Please note some LoRaWAN servers use base64 as downlink code so user need to convert HEX to Base64 and use. Below are references for how to use downlink command:
25 25  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
26 26  ** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]], [[How to Convert>>http://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H4.1ConvertHEXtoBase64]]?
... ... @@ -31,18 +31,11 @@
31 31  = 3. Support End Node and firmware version =
32 32  
33 33  
34 -(% border="1" style="background-color:#ffffcc; color:green; width:966px" %)
35 -|=(% colspan="3" style="width: 963px;" %)(((
36 36  Dragino STM32 base hardware Firmware / LoRaWAN stack list
37 -)))
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**
38 38  |(% style="width:187px" %)(((
39 -**Model**
40 -)))|(% style="width:330px" %)(((
41 -**Description**
42 -)))|(% style="width:445px" %)(((
43 -**Firmware Version <~-~-> Stack Version**
44 -)))
45 -|(% style="width:187px" %)(((
46 46  [[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]],
47 47  )))|(% style="width:330px" %)(((
48 48  Open Source Generic LoRaWAN Sensor Node
... ... @@ -114,9 +114,8 @@
114 114  
115 115  (% style="color:blue" %)**AT Command: AT+TDC**
116 116  
117 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
118 -|=(% colspan="3" style="width: 724px;" %)AT+TDC
119 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
112 +(% border="1" 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**
120 120  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
121 121  OK
122 122  
... ... @@ -127,8 +127,6 @@
127 127  )))
128 128  
129 129  (((
130 -
131 -
132 132  (% style="color:blue" %)**Downlink Command: 0x01**
133 133  
134 134  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -139,6 +139,7 @@
139 139  )))
140 140  
141 141  * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
134 +
142 142  * **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
143 143  
144 144  (% style="display:none" %) (%%)
... ... @@ -149,11 +149,10 @@
149 149  Feature: Reboot End Node to perform a new OTAA or ABP Join.
150 150  
151 151  
152 -(% style="color:blue" %)**AT Command: ATZ**
145 +(% style="color:blue" %)**AT Command: ATZ  ~/~/ **(%%)Trig a reset of the MCU
153 153  
154 -(% border="1" style="background-color:#ffffcc; color:green; width:546px" %)
155 -|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU
156 -|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response**
147 +(% border="1" 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**
157 157  |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
158 158  Device reset and show booting info
159 159  
... ... @@ -185,11 +185,10 @@
185 185  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.
186 186  
187 187  
188 -(% style="color:blue" %)**AT Command: AT+FDR**
180 +(% style="color:blue" %)**AT Command: AT+FDR  ~/~/  **(%%)Reset to factory default
189 189  
190 -(% border="1" style="background-color:#ffffcc; color:green; width:789px" %)
191 -|=(% colspan="3" style="width: 786px;" %)Reset to factory default
192 -|(% style="width:154px" %)**Command Example**|(% style="width:175px" %)**Function**|(% style="width:456px" %)**Response**
182 +(% border="1" 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**
193 193  |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
194 194  Device reset to factory default parameters and show booting info
195 195  
... ... @@ -221,11 +221,10 @@
221 221  Feature: Show firmware version. No downlink command yet.
222 222  
223 223  
224 -(% style="color:blue" %)**AT Command: AT+VER**
215 +(% style="color:blue" %)**AT Command: AT+VER  ~/~/   **(%%)Image Version and Frequency Band
225 225  
226 -(% border="1" style="background-color:#ffffcc; color:green; width:542px" %)
227 -|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band
228 -|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response**
217 +(% border="1" 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**
229 229  |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
230 230  1.3 EU868
231 231  
... ... @@ -245,7 +245,7 @@
245 245  (((
246 246  
247 247  
248 -**xx: Software Type:**
238 +(% style="color:#037691" %)**xx: Software Type:**
249 249  )))
250 250  
251 251  * 0x00 01: LGT92 Version
... ... @@ -255,7 +255,7 @@
255 255  (((
256 256  
257 257  
258 -**yy: Frequency Band:**
248 +(% style="color:#037691" %)**yy: Frequency Band:**
259 259  )))
260 260  
261 261  * 0x01: EU868
... ... @@ -272,7 +272,7 @@
272 272  (((
273 273  
274 274  
275 -**zz: Subband**
265 +(% style="color:#037691" %)**zz: Subband**
276 276  )))
277 277  
278 278  firmware version: v1.1.0 ~-~-> 110
... ... @@ -284,25 +284,21 @@
284 284  Feature: Show All configure. No downlink command yet.
285 285  
286 286  
287 -(% style="color:blue" %)**AT Command: AT+CFG**
277 +(% style="color:blue" %)**AT Command: AT+CFG  ~/~/ **(%%)Print all configurations
288 288  
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**
279 +(% border="1" 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**
292 292  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
293 293  AT+DEUI = XX XX XX XX XX XX XX XX
294 -
295 295  AT+DADDR=XXXXXXXX
296 -
297 297  ……….
298 -
299 299  AT+RX2WTO=X
300 -
301 301  AT+CHS=868100000
302 -
303 303  OK
304 304  )))
305 305  
290 +(% style="display:none" %) (%%)
291 +
306 306  = 5. Keys, IDs and EUIs management =
307 307  
308 308  == 5.1 Application EUI ==
... ... @@ -313,9 +313,8 @@
313 313  
314 314  (% style="color:blue" %)**AT Command: AT+APPEUI**
315 315  
316 -(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
317 -|=(% colspan="3" style="width: 683px;" %)AT+APPEUI
318 -|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
302 +(% border="1" style="background-color:#f2f2f2; width:686.222px" %)
303 +|(% style="background-color:#4f81bd; color:white; width:305px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:186px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:191px" %)**Response**
319 319  |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
320 320  OK
321 321  )))
... ... @@ -331,9 +331,8 @@
331 331  
332 332  (% style="color:blue" %)**AT Command: AT+APPKEY**
333 333  
334 -(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
335 -|=(% colspan="3" style="width: 973px;" %)AT+APPKEY
336 -|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
319 +(% border="1" 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**
337 337  |(% 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(((
338 338  OK
339 339  )))
... ... @@ -349,9 +349,8 @@
349 349  
350 350  (% style="color:blue" %)**AT Command: AT+APPSKEY**
351 351  
352 -(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
353 -|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
354 -|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
336 +(% border="1" 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**
355 355  |(% 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(((
356 356  OK
357 357  )))
... ... @@ -369,9 +369,8 @@
369 369  
370 370  (% style="color:blue" %)**AT Command: AT+DADDR**
371 371  
372 -(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %)
373 -|=(% colspan="3" style="width: 792px;" %)AT+DADDR
374 -|(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response**
355 +(% border="1" 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**
375 375  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
376 376  A8 40 41 FF
377 377  
... ... @@ -389,9 +389,8 @@
389 389  
390 390  (% style="color:blue" %)**AT Command: AT+DEUI**
391 391  
392 -(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
393 -|=(% colspan="3" style="width: 1032px;" %)AT+DEUI
394 -|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
374 +(% border="1" 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**
395 395  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
396 396  OK
397 397  )))
... ... @@ -409,9 +409,8 @@
409 409  
410 410  (% style="color:blue" %)**AT Command: AT+NWKID**
411 411  
412 -(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
413 -|=(% colspan="3" style="width: 445px;" %)AT+NWKID
414 -|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
393 +(% border="1" 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**
415 415  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
416 416  OK
417 417  )))
... ... @@ -427,9 +427,8 @@
427 427  
428 428  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
429 429  
430 -(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
431 -|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
432 -|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
410 +(% border="1" 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**
433 433  |(% 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(((
434 434  OK
435 435  )))
... ... @@ -449,9 +449,8 @@
449 449  
450 450  (% style="color:blue" %)**AT Command: AT+CFM**
451 451  
452 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
453 -|=(% colspan="3" style="width: 707px;" %)AT+CFM
454 -|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
431 +(% border="1" 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**
455 455  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
456 456  OK
457 457  )))
... ... @@ -465,6 +465,7 @@
465 465  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
466 466  
467 467  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
446 +
468 468  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
469 469  
470 470  (% style="display:none" %) (%%)
... ... @@ -474,9 +474,8 @@
474 474  
475 475  (% style="color:blue" %)**AT Command: AT+CFM**
476 476  
477 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
478 -|=(% colspan="3" style="width: 707px;" %)AT+CFM
479 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
456 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
457 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response**
480 480  |(% style="width:160px" %)(((
481 481  AT+CFM=1,0,0
482 482  
... ... @@ -512,6 +512,7 @@
512 512  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
513 513  
514 514  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
493 +
515 515  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
516 516  
517 517  (% style="display:none" %) (%%)
... ... @@ -524,13 +524,14 @@
524 524  
525 525  (% style="color:blue" %)**AT Command: AT+CFS**
526 526  
527 -(% border="1" style="background-color:#ffffcc; color:green; width:463px" %)
528 -|=(% colspan="3" style="width: 460px;" %)AT+CFS
529 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:107px" %)**Response**
506 +(% border="1" style="background-color:#f2f2f2; width:463px" %)
507 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:193px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:107px" %)**Response**
530 530  |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
531 531  OK
532 532  )))
533 533  
512 +(% style="display:none" %) (%%)
513 +
534 534  == 6.3 Join LoRa® Network ==
535 535  
536 536  
... ... @@ -539,15 +539,15 @@
539 539  
540 540  (% style="color:blue" %)**AT Command: AT+JOIN**
541 541  
542 -(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
543 -|=(% colspan="3" style="width: 644px;" %)AT+JOIN
544 -|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
522 +(% border="1" style="background-color:#f2f2f2; width:647.222px" %)
523 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:334px" %)**Response**
545 545  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
546 546  OK
547 -
548 548  While Error in format, return AT_BUSY_ERROR
549 549  )))
550 550  
529 +(% style="display:none" %) (%%)
530 +
551 551  == 6.4 LoRa® Network Join Mode ==
552 552  
553 553  
... ... @@ -556,9 +556,8 @@
556 556  
557 557  (% style="color:blue" %)**AT Command: AT+NJM**
558 558  
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**
539 +(% border="1" style="background-color:#f2f2f2; width:753.222px" %)
540 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:361px" %)**Response**
562 562  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
563 563  OK
564 564  )))
... ... @@ -572,6 +572,7 @@
572 572  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
573 573  
574 574  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
554 +
575 575  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
576 576  
577 577  (% style="display:none" %) (%%)
... ... @@ -584,9 +584,8 @@
584 584  
585 585  (% style="color:blue" %)**AT Command: AT+NJS**
586 586  
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**
567 +(% border="1" style="background-color:#f2f2f2; width:498.222px" %)
568 +|(% style="background-color:#4f81bd; color:white; width:169px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:164px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:161px" %)**Response**
590 590  |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
591 591  OK
592 592  )))
... ... @@ -601,9 +601,8 @@
601 601  
602 602  (% style="color:blue" %)**AT Command: AT+RECV**
603 603  
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**
583 +(% border="1" style="background-color:#f2f2f2; width:587.222px" %)
584 +|(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:150px" %)**Response**
607 607  |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
608 608  OK
609 609  )))
... ... @@ -618,9 +618,8 @@
618 618  
619 619  (% style="color:blue" %)**AT Command: AT+RECVB**
620 620  
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**
599 +(% border="1" style="background-color:#f2f2f2; width:793.222px" %)
600 +|(% style="background-color:#4f81bd; color:white; width:173px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:497px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:120px" %)**Response**
624 624  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
625 625  OK
626 626  )))
... ... @@ -635,9 +635,8 @@
635 635  
636 636  (% style="color:blue" %)**AT Command: AT+SEND**
637 637  
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**
615 +(% border="1" style="background-color:#f2f2f2; width:991.222px" %)
616 +|(% style="background-color:#4f81bd; color:white; width:201px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:340px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:446px" %)**Response**
641 641  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
642 642  While Error in format, return
643 643  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
... ... @@ -653,11 +653,10 @@
653 653  
654 654  (% style="color:blue" %)**AT Command: AT+SENDB**
655 655  
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(((
632 +(% border="1" style="width:974px" %)
633 +|(% style="background-color:#4f81bd; color:white; width:257px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:394px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:318px" %)**Response**
634 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
635 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)While Error in format, return(((
661 661  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
662 662  )))
663 663  
... ... @@ -673,14 +673,13 @@
673 673  
674 674  (% style="color:blue" %)**AT Command: AT+ADR**
675 675  
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(((
651 +(% border="1" style="width:643px" %)
652 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:266px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:209px" %)**Response**
653 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1(((
680 680  OK
681 681  )))
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(((
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(((
684 684  AT_PARAM_ERROR
685 685  )))
686 686  
... ... @@ -689,6 +689,7 @@
689 689  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
690 690  
691 691  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
666 +
692 692  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
693 693  
694 694  (% style="display:none" %) (%%)
... ... @@ -701,32 +701,37 @@
701 701  
702 702  (% style="color:blue" %)**AT Command:  AT+CLASS**
703 703  
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**
679 +(% border="1" style="background-color:#f2f2f2; width:507.222px" %)
680 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:166px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Response**
707 707  |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
708 708  OK
709 709  )))
710 710  |(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
685 +
711 711  )))
712 712  
713 -(% style="display:none" %) (%%)
688 +(% style="display:none" %)
714 714  
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 +
715 715  == 7.3 Duty Cycle Setting ==
716 716  
717 717  
718 -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.
719 719  
720 720  
721 721  (% style="color:blue" %)**AT Command:  AT+DCS**
722 722  
723 -(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
724 -|=(% colspan="3" style="width: 512px;" %)AT+DCS
725 -|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
703 +(% border="1" style="background-color:#f2f2f2; width:515.222px" %)
704 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:239px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:107px" %)**Response**
726 726  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
727 727  OK
728 728  )))
729 729  |(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((
709 +
730 730  )))
731 731  
732 732  (% style="display:none" %) (%%)
... ... @@ -740,13 +740,13 @@
740 740  **Notice:**
741 741  
742 742  * User need to set Adaptive Data Rate(ADR)=0 first. otherwise device will respond to server's ADR command and change the DR according to server auto-adjustment.
723 +
743 743  * Data Rate specifies Spreading Factor. The mapping varies in different frequency bands. User can check this link for detail. [[rp2-1.0.3-lorawan-regional-parameters.pdf>>https://lora-alliance.org/resource_hub/rp2-1-0-3-lorawan-regional-parameters/]]
744 744  
745 745  (% style="color:blue" %)**AT Command: AT+DR**
746 746  
747 -(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
748 -|=(% colspan="3" style="width: 463px;" %)AT+DR
749 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
728 +(% border="1" style="background-color:#f2f2f2; width:466.222px" %)
729 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:167px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:140px" %)**Response**
750 750  |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
751 751  OK
752 752  )))
... ... @@ -759,6 +759,7 @@
759 759  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
760 760  
761 761  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
742 +
762 762  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
763 763  
764 764  (% style="display:none" %) (%%)
... ... @@ -771,9 +771,8 @@
771 771  
772 772  (% style="color:blue" %)**AT Command:  AT+FCD**
773 773  
774 -(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
775 -|=(% colspan="3" style="width: 690px;" %)AT+FCD
776 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
755 +(% border="1" style="background-color:#f2f2f2; width:693.222px" %)
756 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:258px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:269px" %)**Response**
777 777  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
778 778  OK
779 779  )))
... ... @@ -781,6 +781,8 @@
781 781  OK
782 782  )))
783 783  
764 +(% style="display:none" %) (%%)
765 +
784 784  == 7.6 Frame Counter Uplink ==
785 785  
786 786  Feature: Get or Set the Frame Counter Uplink.
... ... @@ -788,9 +788,8 @@
788 788  
789 789  (% style="color:blue" %)**AT Command:  AT+FCU**
790 790  
791 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
792 -|=(% colspan="3" style="width: 531px;" %)AT+FCU
793 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
773 +(% border="1" style="background-color:#f2f2f2; width:534.222px" %)
774 +|(% style="background-color:#4f81bd; color:white; width:177px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:239px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:113px" %)**Response**
794 794  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
795 795  OK
796 796  )))
... ... @@ -798,6 +798,8 @@
798 798  
799 799  )))
800 800  
782 +(% style="display:none" %) (%%)
783 +
801 801  == 7.7 Join Accept Delay1 ==
802 802  
803 803  
... ... @@ -806,9 +806,8 @@
806 806  
807 807  (% style="color:blue" %)**AT Command:  AT+JN1DL**
808 808  
809 -(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
810 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL
811 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
792 +(% border="1" style="background-color:#f2f2f2; width:537.222px" %)
793 +|(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:229px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:140px" %)**Response**
812 812  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
813 813  OK
814 814  )))
... ... @@ -816,6 +816,8 @@
816 816  
817 817  )))
818 818  
801 +(% style="display:none" %) (%%)
802 +
819 819  == 7.8 Join Accept Delay2 ==
820 820  
821 821  
... ... @@ -824,9 +824,8 @@
824 824  
825 825  (% style="color:blue" %)**AT Command:  AT+JN2DL**
826 826  
827 -(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
828 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL
829 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
811 +(% border="1" style="background-color:#f2f2f2; width:538.222px" %)
812 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:228px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:146px" %)**Response**
830 830  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
831 831  OK
832 832  )))
... ... @@ -834,6 +834,8 @@
834 834  
835 835  )))
836 836  
820 +(% style="display:none" %) (%%)
821 +
837 837  == 7.9 Public Network Mode ==
838 838  
839 839  
... ... @@ -844,9 +844,8 @@
844 844  
845 845  (% style="color:blue" %)**AT Command:  AT+PNM**
846 846  
847 -(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
848 -|=(% colspan="3" style="width: 664px;" %)AT+PNM
849 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
832 +(% border="1" style="background-color:#f2f2f2; width:667.222px" %)
833 +|(% style="background-color:#4f81bd; color:white; width:166px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:225px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Response**
850 850  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
851 851  OK
852 852  )))
... ... @@ -861,6 +861,8 @@
861 861  )))
862 862  |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
863 863  
848 +(% style="display:none" %) (%%)
849 +
864 864  == 7.10 Receive Delay1 ==
865 865  
866 866  
... ... @@ -869,9 +869,8 @@
869 869  
870 870  (% style="color:blue" %)**AT Command: AT+RX1DL**
871 871  
872 -(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
873 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL
874 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
858 +(% border="1" style="background-color:#f2f2f2; width:408.222px" %)
859 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:122px" %)**Response**
875 875  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
876 876  OK
877 877  )))
... ... @@ -879,6 +879,8 @@
879 879  
880 880  )))
881 881  
867 +(% style="display:none" %) (%%)
868 +
882 882  == 7.11 Receive Delay2 ==
883 883  
884 884  
... ... @@ -887,9 +887,8 @@
887 887  
888 888  (% style="color:blue" %)**AT Command: AT+RX2DL**
889 889  
890 -(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
891 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL
892 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
877 +(% border="1" style="background-color:#f2f2f2; width:481.222px" %)
878 +|(% style="background-color:#4f81bd; color:white; width:175px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:152px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:150px" %)**Response**
893 893  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
894 894  OK
895 895  )))
... ... @@ -897,6 +897,8 @@
897 897  
898 898  )))
899 899  
886 +(% style="display:none" %) (%%)
887 +
900 900  == 7.12 Rx2 Window Data Rate ==
901 901  
902 902  
... ... @@ -905,9 +905,8 @@
905 905  
906 906  (% style="color:blue" %)**AT Command:  AT+RX2DR**
907 907  
908 -(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
909 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR
910 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
896 +(% border="1" style="background-color:#f2f2f2; width:525.222px" %)
897 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:232px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:130px" %)**Response**
911 911  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
912 912  OK
913 913  )))
... ... @@ -915,6 +915,8 @@
915 915  
916 916  )))
917 917  
905 +(% style="display:none" %) (%%)
906 +
918 918  == 7.13 Rx2 Window Frequency ==
919 919  
920 920  
... ... @@ -923,9 +923,8 @@
923 923  
924 924  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
925 925  
926 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
927 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
928 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
915 +(% border="1" style="background-color:#f2f2f2; width:587.222px" %)
916 +|(% style="background-color:#4f81bd; color:white; width:183px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:160px" %)**Response**
929 929  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
930 930  OK
931 931  )))
... ... @@ -933,6 +933,8 @@
933 933  
934 934  )))
935 935  
924 +(% style="display:none" %) (%%)
925 +
936 936  == 7.14 Transmit Power ==
937 937  
938 938  
... ... @@ -943,9 +943,8 @@
943 943  
944 944  (% style="color:blue" %)**AT Command:  AT+TXP**
945 945  
946 -(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
947 -|=(% colspan="3" style="width: 462px;" %)AT+TXP
948 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
936 +(% border="1" style="background-color:#f2f2f2; width:465.222px" %)
937 +|(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:189px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:112px" %)**Response**
949 949  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
950 950  OK
951 951  )))
... ... @@ -958,8 +958,11 @@
958 958  If the downlink payload=22000100, it means setting the TXP to 0.
959 959  
960 960  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
961 -* **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+TXP=0.
962 962  
951 +* **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
952 +
953 +(% style="display:none" %) (%%)
954 +
963 963  == 7.15 RSSI of the Last Received Packet ==
964 964  
965 965  
... ... @@ -968,13 +968,14 @@
968 968  
969 969  (% style="color:blue" %)**AT Command:AT+RSSI**
970 970  
971 -(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
972 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI
973 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
963 +(% border="1" style="background-color:#f2f2f2; width:557.222px" %)
964 +|(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:289px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response**
974 974  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
975 975  OK
976 976  )))
977 977  
969 +(% style="display:none" %) (%%)
970 +
978 978  == 7.16 SNR of the Last Received Packet ==
979 979  
980 980  
... ... @@ -983,13 +983,14 @@
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" 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" %) (%%)
986 +
993 993  == 7.17 Application Port ==
994 994  
995 995  
... ... @@ -998,9 +998,8 @@
998 998  
999 999  (% style="color:blue" %)**AT Command: AT+PORT**
1000 1000  
1001 -(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
1002 -|=(% colspan="3" style="width: 497px;" %)AT+PORT
1003 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
995 +(% border="1" style="background-color:#f2f2f2; width:500.222px" %)
996 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:204px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:135px" %)**Response**
1004 1004  |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
1005 1005  OK
1006 1006  )))
... ... @@ -1013,8 +1013,11 @@
1013 1013  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1014 1014  
1015 1015  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1009 +
1016 1016  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1017 1017  
1012 +(% style="display:none" %) (%%)
1013 +
1018 1018  == 7.18 Single Channel Mode ==
1019 1019  
1020 1020  
... ... @@ -1023,14 +1023,15 @@
1023 1023  
1024 1024  (% style="color:blue" %)**AT Command: AT+CHS**
1025 1025  
1026 -(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1027 -|=(% colspan="3" style="width: 600px;" %)AT+CHS
1028 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1022 +(% border="1" style="background-color:#f2f2f2; width:603.222px" %)
1023 +|(% style="background-color:#4f81bd; color:white; width:182px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:122px" %)**Response**
1029 1029  |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
1030 1030  OK
1031 1031  )))
1032 1032  |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1033 1033  
1029 +(% style="display:none" %) (%%)
1030 +
1034 1034  == 7.19 Eight Channel Mode ==
1035 1035  
1036 1036  
... ... @@ -1039,9 +1039,8 @@
1039 1039  
1040 1040  (% style="color:blue" %)**AT Command: AT+CHE**
1041 1041  
1042 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1043 -|=(% colspan="3" style="width: 707px;" %)AT+CHE
1044 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1039 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
1040 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response**
1045 1045  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1046 1046  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1047 1047  
... ... @@ -1056,8 +1056,11 @@
1056 1056  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1057 1057  
1058 1058  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1055 +
1059 1059  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1060 1060  
1058 +(% style="display:none" %) (%%)
1059 +
1061 1061  == 7.20 Get or Set RXwindows1 timeout ==
1062 1062  
1063 1063  
... ... @@ -1066,32 +1066,26 @@
1066 1066  
1067 1067  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1068 1068  
1069 -(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1070 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1071 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1068 +(% border="1" style="background-color:#f2f2f2; width:460.222px" %)
1069 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:201px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:93px" %)**Response**
1072 1072  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1073 1073  OK
1074 1074  )))
1075 1075  |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
1076 1076  
1077 -(((
1078 -
1075 +(% style="display:none" %) (%%)
1079 1079  
1080 -
1077 +(((
1081 1081  (% 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.
1082 -
1083 -
1084 1084  )))
1085 1085  
1086 1086  [[image:image-20220526162535-1.png]]
1087 1087  
1088 -
1089 1089  (((
1090 1090  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.
1091 -
1092 -
1093 1093  )))
1094 1094  
1087 +
1095 1095  == 7.21 Get or Set RXwindows2 timeout ==
1096 1096  
1097 1097  
... ... @@ -1100,14 +1100,15 @@
1100 1100  
1101 1101  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1102 1102  
1103 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1104 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1105 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1096 +(% border="1" style="background-color:#f2f2f2; width:497.222px" %)
1097 +|(% style="background-color:#4f81bd; color:white; width:190px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:199px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response**
1106 1106  |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1107 1107  OK
1108 1108  )))
1109 1109  |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1110 1110  
1103 +(% style="display:none" %) (%%)
1104 +
1111 1111  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1112 1112  
1113 1113  
... ... @@ -1116,9 +1116,8 @@
1116 1116  
1117 1117  (% style="color:blue" %)**AT Command: AT+DWELLT**
1118 1118  
1119 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1120 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1121 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1113 +(% border="1" style="background-color:#f2f2f2; width:497.222px" %)
1114 +|(% style="background-color:#4f81bd; color:white; width:183px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:179px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:131px" %)**Response**
1122 1122  |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1123 1123  OK
1124 1124  )))
... ... @@ -1131,8 +1131,11 @@
1131 1131  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1132 1132  
1133 1133  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1127 +
1134 1134  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1135 1135  
1130 +(% style="display:none" %) (%%)
1131 +
1136 1136  == 7.23 Set Packet Receiving Response Level ==
1137 1137  
1138 1138  
... ... @@ -1139,25 +1139,30 @@
1139 1139  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.
1140 1140  
1141 1141  
1142 -**RPL value:**
1138 +(% style="color:blue" %)**RPL value:**
1143 1143  
1144 1144  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1141 +
1145 1145  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1143 +
1146 1146  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1145 +
1147 1147  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1147 +
1148 1148  * **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.
1149 1149  
1150 -**Case Analyes:**
1150 +(% style="color:blue" %)**Case Analyes:**
1151 1151  
1152 1152  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1153 +
1153 1153  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1155 +
1154 1154  * 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.
1155 1155  
1156 1156  (% style="color:blue" %)**AT Command: AT+RPL**
1157 1157  
1158 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1159 -|=(% colspan="3" style="width: 533px;" %)AT+RPL
1160 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1160 +(% border="1" style="background-color:#f2f2f2; width:536.222px" %)
1161 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:263px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:109px" %)**Response**
1161 1161  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1162 1162  OK
1163 1163  )))
... ... @@ -1170,20 +1170,22 @@
1170 1170  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1171 1171  
1172 1172  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1174 +
1173 1173  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1174 1174  
1177 +(% style="display:none" %) (%%)
1178 +
1175 1175  == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1176 1176  
1177 1177  
1178 1178  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1179 1179  
1180 -(% border="1" style="background-color:#ffffcc; color:green; width:589px" %)
1181 -|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS**
1182 -|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response**
1183 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1184 +(% border="1" style="background-color:#f2f2f2; width:589px" %)
1185 +|(% style="background-color:#4f81bd; color:white; width:227px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:300px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:87px" %)**Response**
1186 +|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1184 1184  OK
1185 1185  )))
1186 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1189 +|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1187 1187  value2: 0: uplink fcnt doesn't change for each NBTrans;
1188 1188  
1189 1189  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1200,8 +1200,11 @@
1200 1200  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1201 1201  
1202 1202  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1206 +
1203 1203  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1204 1204  
1209 +(% style="display:none" %) (%%)
1210 +
1205 1205  == 7.25 Device offline rejoining (LWS007) ==
1206 1206  
1207 1207  
... ... @@ -1212,9 +1212,8 @@
1212 1212  * ACK_Timout_1: Unit: min
1213 1213  * ACK_Timout_2: Unit: min
1214 1214  
1215 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1216 -|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1217 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1221 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
1222 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response**
1218 1218  |(% style="width:160px" %)(((
1219 1219  AT+DDETECT=1,1440,2880
1220 1220  
... ... @@ -1250,36 +1250,38 @@
1250 1250  If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1251 1251  
1252 1252  * **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1258 +
1253 1253  ** 0x01 : Flag
1254 1254  ** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1255 1255  ** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1256 1256  ** **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.
1257 1257  
1264 +(% style="display:none" %) (%%)
1265 +
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(((
1271 +(% border="1" style="background-color:#f2f2f2; width:536.222px" %)
1272 +|(% 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**
1273 +|(% 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(((
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" %)(((
1276 +|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1270 1270  0
1271 -
1272 1272  OK
1273 1273  )))
1274 1274  
1281 +(% style="display:none" %) (%%)
1282 +
1275 1275  == 7.27 Adjust network rejoining interval ==
1276 1276  
1277 1277  
1278 1278  (% style="color:blue" %)**AT Command: AT+RJTDC**
1279 1279  
1280 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1281 -|=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1282 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1288 +(% border="1" style="background-color:#f2f2f2; width:727.222px" %)
1289 +|(% 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**
1283 1283  |(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1284 1284  OK
1285 1285  
... ... @@ -1295,17 +1295,23 @@
1295 1295  
1296 1296  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1297 1297  
1298 -* **Example 1:** Downlink Payload: 26000A  ~/~/ Set AT+RJTDC=10
1299 -* **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1305 +* **Example 1:** Downlink Payload: 26000A  ~/~/  Set AT+RJTDC=10
1300 1300  
1307 +* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1308 +
1309 +(% style="display:none" %) (%%)
1310 +
1301 1301  = 8. AT Commands Combination =
1302 1302  
1303 1303  == 8.1 Set a fix RX2DR for downlink window ==
1304 1304  
1305 1305  
1306 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1307 -* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1316 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1308 1308  
1318 +* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~/~/**  Set xxxx to your wanted DataRate
1319 +
1320 +(% style="display:none" %) (%%)
1321 +
1309 1309  == 8.2 Use Downlink Command to set a fix uplink DR ==
1310 1310  
1311 1311  
... ... @@ -1314,7 +1314,9 @@
1314 1314  **Same as:**
1315 1315  
1316 1316  * AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1330 +
1317 1317  * AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1332 +
1318 1318  * AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1319 1319  
1320 1320  
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0