<
From version < 63.1 >
edited by Edwin Chen
on 2023/04/05 11:31
To version < 51.17 >
edited by Xiaoling
on 2022/07/13 14:14
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Edwin
1 +XWiki.Xiaoling
Content
... ... @@ -9,25 +9,26 @@
9 9  
10 10  Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands:
11 11  
12 -* (% style="color:blue" %)**Common Commands:** (%%) They should be available for each sensor, such as: change uplink interval, reset device.
13 -* (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device.
12 +* **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device.
13 +* **Sensor Related Commands:** Only for special sensor, such as control relay, poll RS485 device.
14 14  
15 15  (((
16 16  **This page shows the common commands since Dragino LoRaWAN stack DR-LWS-005. Make sure the end node support stack higher than DR-LWS-005 before checking this page.**
17 +
17 17  )))
18 18  
19 -
20 20  = 2. How to use AT Commands or Downlink command =
21 21  
22 22  
23 -* **AT Command** See Devices User Manual for how to connect to device via USB TTL adapter and use. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]]
24 -* **LoRaWAN Downlink Command**: The gateway transfer downlink command in HEX format. This page shows the Downlink Command In HEX format. Please note some LoRaWAN servers use base64 as downlink code so user need to convert HEX to Base64 and use. Below are references for how to use downlink command:
23 +* For AT Command , See Devices User Manual for Device. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]]
24 +* For LoRaWAN Downlink: The gateway transfer downlink command in HEX format. This page shows the HEX format downlink code for each command. but some servers use base64 as downlink code. Below are reference for how to use downlink command:
25 25  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
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]]?
26 +** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]]
27 27  ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server)
28 28  
29 -(% style="display:none" %) (%%)
30 30  
30 +
31 +
31 31  = 3. Support End Node and firmware version =
32 32  
33 33  
... ... @@ -102,10 +102,12 @@
102 102  )))
103 103  )))
104 104  
105 -(% style="display:none" %) (%%)
106 106  
107 +
108 +
107 107  = 4. System Management Commands =
108 108  
111 +
109 109  == 4.1 Change Uplink Interval ==
110 110  
111 111  
... ... @@ -135,14 +135,15 @@
135 135  )))
136 136  
137 137  (((
138 -If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
141 +If the downlink payload=0100003C, it means set the END Nodes Transmit Interval to 0x00003C=60(S), while type code is 01.
139 139  )))
140 140  
141 -* **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
142 -* **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
144 +* **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds
145 +* **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds
143 143  
144 -(% style="display:none" %) (%%)
145 145  
148 +
149 +
146 146  == 4.2 Reboot End Node ==
147 147  
148 148  
... ... @@ -151,10 +151,10 @@
151 151  
152 152  (% style="color:blue" %)**AT Command: ATZ**
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**
157 -|(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
158 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
159 +|=(% colspan="3" %)ATZ: Trig a reset of the MCU
160 +|**Command Example**|**Function**|**Response**
161 +|ATZ|Reset MCU|(((
158 158  Device reset and show booting info
159 159  
160 160  LSN50 Device/LoRa ST Module
... ... @@ -175,10 +175,11 @@
175 175  )))
176 176  
177 177  (((
178 -If the downlink payload=**04FF**, the end node will reboot.
182 +If the downlink payload=**04FF**, the end node will reboot.
183 +
184 +
179 179  )))
180 180  
181 -
182 182  == 4.3 Reset to factory Default ==
183 183  
184 184  
... ... @@ -187,10 +187,10 @@
187 187  
188 188  (% style="color:blue" %)**AT Command: AT+FDR**
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**
193 -|(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
195 +(% border="1" style="background-color:#ffffcc; color:green; width:831.222px" %)
196 +|=(% colspan="3" style="width: 828px;" %)Reset to factory default
197 +|(% style="width:181px" %)**Command Example**|(% style="width:181px" %)**Function**|(% style="width:465px" %)**Response**
198 +|(% style="width:181px" %)AT+FDR|(% style="width:181px" %)Reset to factory default|(% style="width:465px" %)(((
194 194  Device reset to factory default parameters and show booting info
195 195  
196 196  LSN50 Device/LoRa ST Module
... ... @@ -223,10 +223,10 @@
223 223  
224 224  (% style="color:blue" %)**AT Command: AT+VER**
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**
229 -|(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
231 +(% border="1" style="background-color:#ffffcc; color:green; width:586px" %)
232 +|=(% colspan="3" style="width: 583px;" %)AT+VER: Image Version and Frequency Band
233 +|(% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response**
234 +|(% style="width:170px" %)AT+VER=?|(% style="width:300px" %)Show Image version and Frequency Band|(% style="width:113px" %)(((
230 230  1.3 EU868
231 231  
232 232  OK
... ... @@ -245,6 +245,7 @@
245 245  (((
246 246  
247 247  
253 +
248 248  **xx: Software Type:**
249 249  )))
250 250  
... ... @@ -291,17 +291,23 @@
291 291  |(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="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
300 +
294 294  AT+DADDR=XXXXXXXX
302 +
295 295  ……….
304 +
296 296  AT+RX2WTO=X
306 +
297 297  AT+CHS=868100000
308 +
298 298  OK
299 299  )))
300 300  
301 -(% style="display:none" %) (%%)
302 302  
313 +
303 303  = 5. Keys, IDs and EUIs management =
304 304  
316 +
305 305  == 5.1 Application EUI ==
306 306  
307 307  
... ... @@ -318,8 +318,8 @@
318 318  )))
319 319  |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK
320 320  
321 -(% style="display:none" %) (%%)
322 322  
334 +
323 323  == 5.2 Application Key ==
324 324  
325 325  
... ... @@ -336,8 +336,8 @@
336 336  )))
337 337  |(% style="width:441px" %)AT+APPKEY=00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35|(% style="width:180px" %)Set the Application Key|(% style="width:350px" %)OK
338 338  
339 -(% style="display:none" %) (%%)
340 340  
352 +
341 341  == 5.3 Application Session Key ==
342 342  
343 343  
... ... @@ -356,8 +356,8 @@
356 356  OK
357 357  )))
358 358  
359 -(% style="display:none" %) (%%)
360 360  
372 +
361 361  == 5.4 Device Address ==
362 362  
363 363  
... ... @@ -376,8 +376,8 @@
376 376  )))
377 377  |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK
378 378  
379 -(% style="display:none" %) (%%)
380 380  
392 +
381 381  == 5.5 Device EUI ==
382 382  
383 383  
... ... @@ -396,8 +396,8 @@
396 396  OK
397 397  )))
398 398  
399 -(% style="display:none" %) (%%)
400 400  
412 +
401 401  == 5.6 Network ID ==
402 402  
403 403  
... ... @@ -414,8 +414,8 @@
414 414  )))
415 415  |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK
416 416  
417 -(% style="display:none" %) (%%)
418 418  
430 +
419 419  == 5.7 Network Session Key ==
420 420  
421 421  
... ... @@ -432,12 +432,14 @@
432 432  )))
433 433  |(% style="width:455px" %)AT+NWKSKEY=A8 40 41 FF FF 12 34 56 00 01 02 04 05 06 06 07|(% style="width:215px" %)Set the Network Session Key.|(% style="width:343px" %)OK
434 434  
435 -(% style="display:none" %) (%%)
436 436  
448 +
437 437  = 6. Joining and sending date on LoRaWAN network =
438 438  
451 +
439 439  == 6.1 Confirm Mode ==
440 440  
454 +
441 441  === 6.1.1  AT+CFM command before DR-LWS007 software stack ===
442 442  
443 443  
... ... @@ -461,11 +461,12 @@
461 461  
462 462  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
463 463  
464 -* **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
465 -* **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
478 +* Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1
479 +* Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0
466 466  
467 -(% style="display:none" %) (%%)
468 468  
482 +
483 +
469 469  === 6.1.2  AT+CFM command since DR-LWS007 software stack ===
470 470  
471 471  
... ... @@ -508,11 +508,12 @@
508 508  
509 509  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
510 510  
511 -* **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
512 -* **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
526 +* Example 1: Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1
527 +* Example 2: Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0
513 513  
514 -(% style="display:none" %) (%%)
515 515  
530 +
531 +
516 516  == 6.2 Confirm Status ==
517 517  
518 518  
... ... @@ -521,15 +521,15 @@
521 521  
522 522  (% style="color:blue" %)**AT Command: AT+CFS**
523 523  
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**
527 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
540 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
541 +|=(% colspan="3" style="width: 531px;" %)AT+CFS
542 +|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
543 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0(((
528 528  OK
529 529  )))
530 530  
531 -(% style="display:none" %) (%%)
532 532  
548 +
533 533  == 6.3 Join LoRa® Network ==
534 534  
535 535  
... ... @@ -543,11 +543,12 @@
543 543  |(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
544 544  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
545 545  OK
562 +
546 546  While Error in format, return AT_BUSY_ERROR
547 547  )))
548 548  
549 -(% style="display:none" %) (%%)
550 550  
567 +
551 551  == 6.4 LoRa® Network Join Mode ==
552 552  
553 553  
... ... @@ -571,11 +571,12 @@
571 571  
572 572  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
573 573  
574 -* **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
575 -* **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
591 +* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0
592 +* **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1
576 576  
577 -(% style="display:none" %) (%%)
578 578  
595 +
596 +
579 579  == 6.5 LoRa® Network Join Status ==
580 580  
581 581  
... ... @@ -591,8 +591,8 @@
591 591  OK
592 592  )))
593 593  
594 -(% style="display:none" %) (%%)
595 595  
613 +
596 596  == 6.6 Print Last Received Data in Raw Format ==
597 597  
598 598  
... ... @@ -608,8 +608,8 @@
608 608  OK
609 609  )))
610 610  
611 -(% style="display:none" %) (%%)
612 612  
630 +
613 613  == 6.7 Print Last Received Data in Binary Format ==
614 614  
615 615  
... ... @@ -625,8 +625,8 @@
625 625  OK
626 626  )))
627 627  
628 -(% style="display:none" %) (%%)
629 629  
647 +
630 630  == 6.8 Send Text Data ==
631 631  
632 632  
... ... @@ -640,11 +640,14 @@
640 640  |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="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
661 +
643 643  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
663 +
664 +
644 644  )))
645 645  
646 -(% style="display:none" %) (%%)
647 647  
668 +
648 648  == 6.9 Send Hexadecimal Data ==
649 649  
650 650  
... ... @@ -653,18 +653,21 @@
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(((
661 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
677 +(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %)
678 +|=(% colspan="3" style="width: 1117px;" %)AT+SENDB
679 +|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response**
680 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK
681 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)While Error in format, return(((
682 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
683 +
684 +
662 662  )))
663 663  
664 -(% style="display:none" %) (%%)
665 665  
688 +
666 666  = 7. LoRaWAN network management =
667 667  
691 +
668 668  == 7.1 Adaptive Data Rate ==
669 669  
670 670  
... ... @@ -684,15 +684,17 @@
684 684  AT_PARAM_ERROR
685 685  )))
686 686  
711 +
687 687  (% style="color:blue" %)**Downlink Command: 0x22**
688 688  
689 689  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
690 690  
691 -* **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
692 -* **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
716 +* **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
717 +* **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0.
693 693  
694 -(% style="display:none" %) (%%)
695 695  
720 +
721 +
696 696  == 7.2 LoRa® Class ==
697 697  
698 698  
... ... @@ -699,7 +699,7 @@
699 699  Feature: Get or Set the Device Class(Currently only support class A, class C).
700 700  
701 701  
702 -(% style="color:blue" %)**AT Command:  AT+CLASS**
728 +(% style="color:blue" %)**AT Command:AT+CLASS**
703 703  
704 704  (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
705 705  |=(% colspan="3" style="width: 504px;" %)AT+CLASS
... ... @@ -711,21 +711,15 @@
711 711  
712 712  )))
713 713  
714 -(% style="display:none" %)
715 715  
716 -(% style="color:red" %)**Notice:**
717 717  
718 -* Run AT+FDR before running AT+CLASS=C
719 -* 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.
720 -
721 -
722 722  == 7.3 Duty Cycle Setting ==
723 723  
724 724  
725 -Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing.
745 +Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
726 726  
727 727  
728 -(% style="color:blue" %)**AT Command:  AT+DCS**
748 +(% style="color:blue" %)**AT Command:AT+DCS**
729 729  
730 730  (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
731 731  |=(% colspan="3" style="width: 512px;" %)AT+DCS
... ... @@ -737,19 +737,14 @@
737 737  
738 738  )))
739 739  
740 -(% style="display:none" %) (%%)
741 741  
761 +
742 742  == 7.4 Data Rate ==
743 743  
744 744  
745 -Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) .
765 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . Note: while set Data Rate, please use set Adptive Data Rate, ADR=0 first. otherwise device will response to server's ADR command and change the DR to the setting from server
746 746  
747 -(% style="color:red" %)
748 -**Notice:**
749 749  
750 -* 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.
751 -* 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/]]
752 -
753 753  (% style="color:blue" %)**AT Command: AT+DR**
754 754  
755 755  (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
... ... @@ -762,15 +762,17 @@
762 762  
763 763  )))
764 764  
780 +
765 765  (% style="color:blue" %)**Downlink Command: 0x2200aaFF**
766 766  
767 767  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
768 768  
769 -* **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
770 -* **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
785 +* **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1.
786 +* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0.
771 771  
772 -(% style="display:none" %) (%%)
773 773  
789 +
790 +
774 774  == 7.5 Frame Counter Downlink ==
775 775  
776 776  
... ... @@ -777,7 +777,7 @@
777 777  Feature: Get or Set the Frame Counter Downlink.
778 778  
779 779  
780 -(% style="color:blue" %)**AT Command:  AT+FCD**
797 +(% style="color:blue" %)**AT Command:AT+FCD**
781 781  
782 782  (% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
783 783  |=(% colspan="3" style="width: 690px;" %)AT+FCD
... ... @@ -789,14 +789,14 @@
789 789  OK
790 790  )))
791 791  
792 -(% style="display:none" %) (%%)
793 793  
810 +
794 794  == 7.6 Frame Counter Uplink ==
795 795  
796 796  Feature: Get or Set the Frame Counter Uplink.
797 797  
798 798  
799 -(% style="color:blue" %)**AT Command:  AT+FCU**
816 +(% style="color:blue" %)**AT Command:AT+FCU**
800 800  
801 801  (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
802 802  |=(% colspan="3" style="width: 531px;" %)AT+FCU
... ... @@ -808,8 +808,8 @@
808 808  
809 809  )))
810 810  
811 -(% style="display:none" %) (%%)
812 812  
829 +
813 813  == 7.7 Join Accept Delay1 ==
814 814  
815 815  
... ... @@ -816,7 +816,7 @@
816 816  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
817 817  
818 818  
819 -(% style="color:blue" %)**AT Command:  AT+JN1DL**
836 +(% style="color:blue" %)**AT Command:AT+JN1DL**
820 820  
821 821  (% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
822 822  |=(% colspan="3" style="width: 534px;" %)AT+JN1DL
... ... @@ -828,15 +828,14 @@
828 828  
829 829  )))
830 830  
831 -(% style="display:none" %) (%%)
832 832  
849 +
833 833  == 7.8 Join Accept Delay2 ==
834 834  
835 -
836 836  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
837 837  
838 838  
839 -(% style="color:blue" %)**AT Command:  AT+JN2DL**
855 +(% style="color:blue" %)**AT Command:AT+JN2DL**
840 840  
841 841  (% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
842 842  |=(% colspan="3" style="width: 535px;" %)AT+JN2DL
... ... @@ -848,17 +848,15 @@
848 848  
849 849  )))
850 850  
851 -(% style="display:none" %) (%%)
852 -
853 853  == 7.9 Public Network Mode ==
854 854  
855 855  
856 856  Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1
857 857  
858 -(% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.**
872 +(% style="color:red" %)Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network
859 859  
860 860  
861 -(% style="color:blue" %)**AT Command:  AT+PNM**
875 +(% style="color:blue" %)**AT Command:AT+PNM**
862 862  
863 863  (% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
864 864  |=(% colspan="3" style="width: 664px;" %)AT+PNM
... ... @@ -877,8 +877,6 @@
877 877  )))
878 878  |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
879 879  
880 -(% style="display:none" %) (%%)
881 -
882 882  == 7.10 Receive Delay1 ==
883 883  
884 884  
... ... @@ -885,7 +885,7 @@
885 885  Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
886 886  
887 887  
888 -(% style="color:blue" %)**AT Command: AT+RX1DL**
900 +(% style="color:blue" %)**AT Command:AT+RX1DL**
889 889  
890 890  (% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
891 891  |=(% colspan="3" style="width: 405px;" %)AT+RX1DL
... ... @@ -897,7 +897,6 @@
897 897  
898 898  )))
899 899  
900 -(% style="display:none" %) (%%)
901 901  
902 902  == 7.11 Receive Delay2 ==
903 903  
... ... @@ -905,7 +905,7 @@
905 905  Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
906 906  
907 907  
908 -(% style="color:blue" %)**AT Command: AT+RX2DL**
919 +(% style="color:blue" %)**AT Command:AT+RX2DL**
909 909  
910 910  (% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
911 911  |=(% colspan="3" style="width: 478px;" %)AT+RX2DL
... ... @@ -917,7 +917,6 @@
917 917  
918 918  )))
919 919  
920 -(% style="display:none" %) (%%)
921 921  
922 922  == 7.12 Rx2 Window Data Rate ==
923 923  
... ... @@ -925,7 +925,7 @@
925 925  Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
926 926  
927 927  
928 -(% style="color:blue" %)**AT Command:  AT+RX2DR**
938 +(% style="color:blue" %)**AT Command:AT+RX2DR**
929 929  
930 930  (% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
931 931  |=(% colspan="3" style="width: 522px;" %)AT+RX2DR
... ... @@ -937,7 +937,6 @@
937 937  
938 938  )))
939 939  
940 -(% style="display:none" %) (%%)
941 941  
942 942  == 7.13 Rx2 Window Frequency ==
943 943  
... ... @@ -945,7 +945,7 @@
945 945  Feature: Get or Set the Rx2 window frequency
946 946  
947 947  
948 -(% style="color:blue" %)**AT Command:  AT+RX2FQ**
957 +(% style="color:blue" %)**AT Command:AT+RX2FQ**
949 949  
950 950  (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
951 951  |=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
... ... @@ -957,7 +957,6 @@
957 957  
958 958  )))
959 959  
960 -(% style="display:none" %) (%%)
961 961  
962 962  == 7.14 Transmit Power ==
963 963  
... ... @@ -964,11 +964,9 @@
964 964  
965 965  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. )
966 966  
967 -(% 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**
968 968  
976 +(% style="color:blue" %)**AT Command:AT+TXP**
969 969  
970 -(% style="color:blue" %)**AT Command:  AT+TXP**
971 -
972 972  (% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
973 973  |=(% colspan="3" style="width: 462px;" %)AT+TXP
974 974  |(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
... ... @@ -983,11 +983,11 @@
983 983  
984 984  If the downlink payload=22000100, it means setting the TXP to 0.
985 985  
986 -* **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
987 -* **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
992 +* **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2.
993 +* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0.
988 988  
989 -(% style="display:none" %) (%%)
990 990  
996 +
991 991  == 7.15 RSSI of the Last Received Packet ==
992 992  
993 993  
... ... @@ -1003,7 +1003,6 @@
1003 1003  OK
1004 1004  )))
1005 1005  
1006 -(% style="display:none" %) (%%)
1007 1007  
1008 1008  == 7.16 SNR of the Last Received Packet ==
1009 1009  
... ... @@ -1011,7 +1011,7 @@
1011 1011  Feature: Get the SNR of the last received packet
1012 1012  
1013 1013  
1014 -(% style="color:blue" %)**AT Command:  AT+SNR**
1019 +(% style="color:blue" %)**AT Command:AT+SNR**
1015 1015  
1016 1016  (% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
1017 1017  |=(% colspan="3" style="width: 568px;" %)AT+SNR
... ... @@ -1020,7 +1020,6 @@
1020 1020  OK
1021 1021  )))
1022 1022  
1023 -(% style="display:none" %) (%%)
1024 1024  
1025 1025  == 7.17 Application Port ==
1026 1026  
... ... @@ -1044,11 +1044,11 @@
1044 1044  
1045 1045  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1046 1046  
1047 -* **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1048 -* **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1051 +* **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1
1052 +* **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5
1049 1049  
1050 -(% style="display:none" %) (%%)
1051 1051  
1055 +
1052 1052  == 7.18 Single Channel Mode ==
1053 1053  
1054 1054  
... ... @@ -1065,11 +1065,9 @@
1065 1065  )))
1066 1066  |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1067 1067  
1068 -(% style="display:none" %) (%%)
1069 1069  
1070 1070  == 7.19 Eight Channel Mode ==
1071 1071  
1072 -
1073 1073  Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
1074 1074  
1075 1075  
... ... @@ -1085,17 +1085,17 @@
1085 1085  )))
1086 1086  |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
1087 1087  
1088 -(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)**
1090 +(% style="color:blue" %)**Downlink Command: 0x24**
1089 1089  
1090 1090  Format: Command Code (0x24) followed by 1 bytes channel value.
1091 1091  
1092 1092  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1093 1093  
1094 -* **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1095 -* **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1096 +* **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1
1097 +* **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5
1096 1096  
1097 -(% style="display:none" %) (%%)
1098 1098  
1100 +
1099 1099  == 7.20 Get or Set RXwindows1 timeout ==
1100 1100  
1101 1101  
... ... @@ -1112,19 +1112,23 @@
1112 1112  )))
1113 1113  |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
1114 1114  
1115 -(% style="display:none" %) (%%)
1116 -
1117 1117  (((
1118 -(% 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.
1118 +
1119 +
1120 +**AT+RX1TWO** is theRxSingle timeout value of receive window 1. If it is not set, then the queriedvalue is the default value. If it is set, then the queried value is the setvalue. AT+RX2TWO is thesame as above. The definitionof RxSingle timeout is as described in the following paragraph.
1121 +
1122 +
1119 1119  )))
1120 1120  
1121 1121  [[image:image-20220526162535-1.png]]
1122 1122  
1127 +
1123 1123  (((
1124 1124  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.
1130 +
1131 +
1125 1125  )))
1126 1126  
1127 -
1128 1128  == 7.21 Get or Set RXwindows2 timeout ==
1129 1129  
1130 1130  
... ... @@ -1141,7 +1141,6 @@
1141 1141  )))
1142 1142  |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1143 1143  
1144 -(% style="display:none" %) (%%)
1145 1145  
1146 1146  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1147 1147  
... ... @@ -1165,11 +1165,11 @@
1165 1165  
1166 1166  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1167 1167  
1168 -* **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1169 -* **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1173 +* **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1
1174 +* **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0
1170 1170  
1171 -(% style="display:none" %) (%%)
1172 1172  
1177 +
1173 1173  == 7.23 Set Packet Receiving Response Level ==
1174 1174  
1175 1175  
... ... @@ -1176,7 +1176,7 @@
1176 1176  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.
1177 1177  
1178 1178  
1179 -**RPL value:**
1184 +RPL value:
1180 1180  
1181 1181  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1182 1182  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
... ... @@ -1184,12 +1184,14 @@
1184 1184  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1185 1185  * **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.
1186 1186  
1187 -**Case Analyes:**
1188 1188  
1193 +Case Analyes:
1194 +
1189 1189  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1190 1190  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1191 1191  * 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.
1192 1192  
1199 +
1193 1193  (% style="color:blue" %)**AT Command: AT+RPL**
1194 1194  
1195 1195  (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
... ... @@ -1206,27 +1206,23 @@
1206 1206  
1207 1207  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1208 1208  
1209 -* **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1210 -* **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1216 +* **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1
1217 +* **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2
1211 1211  
1212 -(% style="display:none" %) (%%)
1213 1213  
1220 +
1214 1214  == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1215 1215  
1216 1216  
1217 1217  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1218 1218  
1219 -(% border="1" style="background-color:#ffffcc; color:green; width:589px" %)
1220 -|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS**
1221 -|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response**
1222 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1226 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1227 +|=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS**
1228 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1229 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1(((
1223 1223  OK
1224 1224  )))
1225 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1226 -value2: 0: uplink fcnt doesn't change for each NBTrans;
1227 -
1228 -1: uplink fcnt increase by 1 for each NBTrans.
1229 -)))|(% style="width:87px" %)(((
1232 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:263px" %)value2: 0: uplink fcnt doesn't change for each NBTrans; 1: uplink fcnt increase by 1 for each NBTrans.|(% style="width:109px" %)(((
1230 1230  1
1231 1231  
1232 1232  OK
... ... @@ -1238,21 +1238,16 @@
1238 1238  
1239 1239  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1240 1240  
1241 -* Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1242 -* Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1244 +* Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0
1245 +* Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1
1243 1243  
1244 -(% style="display:none" %) (%%)
1245 1245  
1248 +
1246 1246  == 7.25 Device offline rejoining (LWS007) ==
1247 1247  
1248 1248  
1249 1249  (% style="color:blue" %)**AT Command: AT+DDETECT**
1250 1250  
1251 -AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1252 -
1253 -* ACK_Timout_1: Unit: min
1254 -* ACK_Timout_2: Unit: min
1255 -
1256 1256  (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1257 1257  |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1258 1258  |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
... ... @@ -1284,20 +1284,16 @@
1284 1284  OK
1285 1285  )))
1286 1286  
1287 -(% style="color:blue" %)**Downlink Command: 0x32**
1285 +(% style="color:blue" %)**Downlink Command: 0x33**
1288 1288  
1289 1289  Format: Command Code (0x32) followed by 2 bytes mode value.
1290 1290  
1291 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1289 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33.
1292 1292  
1293 -* **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1294 -** 0x01 : Flag
1295 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1296 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1297 -** **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.
1291 +* Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880
1298 1298  
1299 -(% style="display:none" %) (%%)
1300 1300  
1294 +
1301 1301  == 7.26 Request the server to send an ACK ==
1302 1302  
1303 1303  
... ... @@ -1311,10 +1311,10 @@
1311 1311  )))
1312 1312  |(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1313 1313  0
1308 +
1314 1314  OK
1315 1315  )))
1316 1316  
1317 -(% style="display:none" %) (%%)
1318 1318  
1319 1319  == 7.27 Adjust network rejoining interval ==
1320 1320  
... ... @@ -1324,13 +1324,13 @@
1324 1324  (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1325 1325  |=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1326 1326  |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1327 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1321 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000(((
1328 1328  OK
1329 1329  
1330 -the interval is 30 min
1324 +the interval is 30000ms = 30s
1331 1331  )))
1332 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1333 -Set the ReJoin data transmission interval to 60 min
1326 +|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1327 +Set the ReJoin data transmission interval to 60000ms = 60 seconds
1334 1334  )))
1335 1335  
1336 1336  (% style="color:blue" %)**Downlink Command: 0x26**
... ... @@ -1339,21 +1339,21 @@
1339 1339  
1340 1340  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1341 1341  
1342 -* **Example 1:** Downlink Payload: 26000A  ~/~/ Set AT+RJTDC=10
1343 -* **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1336 +* Example 1: Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10
1337 +* Example 2: Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2
1344 1344  
1345 -(% style="display:none" %) (%%)
1346 1346  
1340 +
1347 1347  = 8. AT Commands Combination =
1348 1348  
1343 +
1349 1349  == 8.1 Set a fix RX2DR for downlink window ==
1350 1350  
1351 1351  
1352 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1347 +* **AT+ADR=0             ** **~-~->**  Disable ADR first
1348 +* **AT+RX2DR=xxxx**  **~-~->**  Set xxxx to your wanted DataRate
1353 1353  
1354 -* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1355 1355  
1356 -(% style="display:none" %) (%%)
1357 1357  
1358 1358  == 8.2 Use Downlink Command to set a fix uplink DR ==
1359 1359  
... ... @@ -1362,10 +1362,6 @@
1362 1362  
1363 1363  **Same as:**
1364 1364  
1365 -* AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1366 -
1367 -* AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1368 -
1369 -* AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1370 -
1371 -
1359 +* AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1360 +* AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1361 +* AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0