<
From version < 60.1 >
edited by Edwin Chen
on 2023/03/25 15:30
To version < 52.3 >
edited by Xiaoling
on 2022/08/12 15:48
>
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,11 +9,12 @@
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 19  )))
... ... @@ -21,13 +21,14 @@
21 21  = 2. How to use AT Commands or Downlink command =
22 22  
23 23  
24 -* **AT Command** See Devices User Manual for how to connect to device via USB TTL adapter and use. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]]
25 -* **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 +* 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/]]
26 +* 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:
26 26  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
27 -** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]], [[How to Convert>>http://wiki.dragino.com/xwiki/bin/view/Main/Notes%20for%20ChirpStack/#H4.1ConvertHEXtoBase64]]?
28 +** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]]
28 28  ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server)
29 29  
30 30  
32 +
31 31  = 3. Support End Node and firmware version =
32 32  
33 33  
... ... @@ -105,6 +105,7 @@
105 105  
106 106  = 4. System Management Commands =
107 107  
110 +
108 108  == 4.1 Change Uplink Interval ==
109 109  
110 110  
... ... @@ -134,7 +134,7 @@
134 134  )))
135 135  
136 136  (((
137 -If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
140 +If the downlink payload=0100003C, it means set the END Nodes Transmit Interval to 0x00003C=60(S), while type code is 01.
138 138  )))
139 139  
140 140  * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
... ... @@ -175,6 +175,7 @@
175 175  (((
176 176  If the downlink payload=**04FF**, the end node will reboot.
177 177  
181 +
178 178  
179 179  )))
180 180  
... ... @@ -214,6 +214,7 @@
214 214  )))
215 215  
216 216  
221 +
217 217  == 4.4 Show Firmware Version ==
218 218  
219 219  
... ... @@ -244,6 +244,7 @@
244 244  (((
245 245  
246 246  
252 +
247 247  **xx: Software Type:**
248 248  )))
249 249  
... ... @@ -277,6 +277,7 @@
277 277  firmware version: v1.1.0 ~-~-> 110
278 278  
279 279  
286 +
280 280  == 4.5 Show System Configure ==
281 281  
282 282  
... ... @@ -305,6 +305,7 @@
305 305  
306 306  = 5. Keys, IDs and EUIs management =
307 307  
315 +
308 308  == 5.1 Application EUI ==
309 309  
310 310  
... ... @@ -432,8 +432,10 @@
432 432  
433 433  = 6. Joining and sending date on LoRaWAN network =
434 434  
443 +
435 435  == 6.1 Confirm Mode ==
436 436  
446 +
437 437  === 6.1.1  AT+CFM command before DR-LWS007 software stack ===
438 438  
439 439  
... ... @@ -461,6 +461,7 @@
461 461  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
462 462  
463 463  
474 +
464 464  === 6.1.2  AT+CFM command since DR-LWS007 software stack ===
465 465  
466 466  
... ... @@ -507,6 +507,7 @@
507 507  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
508 508  
509 509  
521 +
510 510  == 6.2 Confirm Status ==
511 511  
512 512  
... ... @@ -515,10 +515,10 @@
515 515  
516 516  (% style="color:blue" %)**AT Command: AT+CFS**
517 517  
518 -(% border="1" style="background-color:#ffffcc; color:green; width:463px" %)
519 -|=(% colspan="3" style="width: 460px;" %)AT+CFS
520 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:107px" %)**Response**
521 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
530 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
531 +|=(% colspan="3" style="width: 531px;" %)AT+CFS
532 +|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
533 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0(((
522 522  OK
523 523  )))
524 524  
... ... @@ -568,6 +568,7 @@
568 568  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
569 569  
570 570  
583 +
571 571  == 6.5 LoRa® Network Join Status ==
572 572  
573 573  
... ... @@ -644,11 +644,11 @@
644 644  
645 645  (% style="color:blue" %)**AT Command: AT+SENDB**
646 646  
647 -(% border="1" style="background-color:#ffffcc; color:green; width:1101px" %)
648 -|=(% colspan="3" style="width: 1098px;" %)AT+SENDB
649 -|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response**
650 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK
651 -|(% 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(((
660 +(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %)
661 +|=(% colspan="3" style="width: 1117px;" %)AT+SENDB
662 +|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response**
663 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK
664 +|(% 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(((
652 652  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
653 653  
654 654  
... ... @@ -657,6 +657,7 @@
657 657  
658 658  = 7. LoRaWAN network management =
659 659  
673 +
660 660  == 7.1 Adaptive Data Rate ==
661 661  
662 662  
... ... @@ -690,7 +690,7 @@
690 690  Feature: Get or Set the Device Class(Currently only support class A, class C).
691 691  
692 692  
693 -(% style="color:blue" %)**AT Command:  AT+CLASS**
707 +(% style="color:blue" %)**AT Command:AT+CLASS**
694 694  
695 695  (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
696 696  |=(% colspan="3" style="width: 504px;" %)AT+CLASS
... ... @@ -706,10 +706,10 @@
706 706  == 7.3 Duty Cycle Setting ==
707 707  
708 708  
709 -Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing.
723 +Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
710 710  
711 711  
712 -(% style="color:blue" %)**AT Command:  AT+DCS**
726 +(% style="color:blue" %)**AT Command:AT+DCS**
713 713  
714 714  (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
715 715  |=(% colspan="3" style="width: 512px;" %)AT+DCS
... ... @@ -725,14 +725,9 @@
725 725  == 7.4 Data Rate ==
726 726  
727 727  
728 -Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) .
742 +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
729 729  
730 -(% style="color:red" %)
731 -**Notice:**
732 732  
733 -* 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.
734 -* 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/]]
735 -
736 736  (% style="color:blue" %)**AT Command: AT+DR**
737 737  
738 738  (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
... ... @@ -759,7 +759,7 @@
759 759  Feature: Get or Set the Frame Counter Downlink.
760 760  
761 761  
762 -(% style="color:blue" %)**AT Command:  AT+FCD**
771 +(% style="color:blue" %)**AT Command:AT+FCD**
763 763  
764 764  (% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
765 765  |=(% colspan="3" style="width: 690px;" %)AT+FCD
... ... @@ -777,7 +777,7 @@
777 777  Feature: Get or Set the Frame Counter Uplink.
778 778  
779 779  
780 -(% style="color:blue" %)**AT Command:  AT+FCU**
789 +(% style="color:blue" %)**AT Command:AT+FCU**
781 781  
782 782  (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
783 783  |=(% colspan="3" style="width: 531px;" %)AT+FCU
... ... @@ -796,7 +796,7 @@
796 796  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
797 797  
798 798  
799 -(% style="color:blue" %)**AT Command:  AT+JN1DL**
808 +(% style="color:blue" %)**AT Command:AT+JN1DL**
800 800  
801 801  (% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
802 802  |=(% colspan="3" style="width: 534px;" %)AT+JN1DL
... ... @@ -811,11 +811,10 @@
811 811  
812 812  == 7.8 Join Accept Delay2 ==
813 813  
814 -
815 815  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
816 816  
817 817  
818 -(% style="color:blue" %)**AT Command:  AT+JN2DL**
826 +(% style="color:blue" %)**AT Command:AT+JN2DL**
819 819  
820 820  (% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
821 821  |=(% colspan="3" style="width: 535px;" %)AT+JN2DL
... ... @@ -836,7 +836,7 @@
836 836  (% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.**
837 837  
838 838  
839 -(% style="color:blue" %)**AT Command:  AT+PNM**
847 +(% style="color:blue" %)**AT Command:AT+PNM**
840 840  
841 841  (% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
842 842  |=(% colspan="3" style="width: 664px;" %)AT+PNM
... ... @@ -862,7 +862,7 @@
862 862  Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
863 863  
864 864  
865 -(% style="color:blue" %)**AT Command: AT+RX1DL**
873 +(% style="color:blue" %)**AT Command:AT+RX1DL**
866 866  
867 867  (% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
868 868  |=(% colspan="3" style="width: 405px;" %)AT+RX1DL
... ... @@ -881,7 +881,7 @@
881 881  Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
882 882  
883 883  
884 -(% style="color:blue" %)**AT Command: AT+RX2DL**
892 +(% style="color:blue" %)**AT Command:AT+RX2DL**
885 885  
886 886  (% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
887 887  |=(% colspan="3" style="width: 478px;" %)AT+RX2DL
... ... @@ -900,7 +900,7 @@
900 900  Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
901 901  
902 902  
903 -(% style="color:blue" %)**AT Command:  AT+RX2DR**
911 +(% style="color:blue" %)**AT Command:AT+RX2DR**
904 904  
905 905  (% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
906 906  |=(% colspan="3" style="width: 522px;" %)AT+RX2DR
... ... @@ -919,7 +919,7 @@
919 919  Feature: Get or Set the Rx2 window frequency
920 920  
921 921  
922 -(% style="color:blue" %)**AT Command:  AT+RX2FQ**
930 +(% style="color:blue" %)**AT Command:AT+RX2FQ**
923 923  
924 924  (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
925 925  |=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
... ... @@ -937,10 +937,10 @@
937 937  
938 938  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. )
939 939  
940 -(% 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**
948 +Notice: Transmit Power might be changed by ADR from LoRaWAN server. So manually change TXP also remember to set AT+ADR=0 in sensor
941 941  
942 942  
943 -(% style="color:blue" %)**AT Command:  AT+TXP**
951 +(% style="color:blue" %)**AT Command:AT+TXP**
944 944  
945 945  (% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
946 946  |=(% colspan="3" style="width: 462px;" %)AT+TXP
... ... @@ -960,6 +960,7 @@
960 960  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+TXP=0.
961 961  
962 962  
971 +
963 963  == 7.15 RSSI of the Last Received Packet ==
964 964  
965 965  
... ... @@ -982,7 +982,7 @@
982 982  Feature: Get the SNR of the last received packet
983 983  
984 984  
985 -(% style="color:blue" %)**AT Command:  AT+SNR**
994 +(% style="color:blue" %)**AT Command:AT+SNR**
986 986  
987 987  (% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
988 988  |=(% colspan="3" style="width: 568px;" %)AT+SNR
... ... @@ -1018,6 +1018,7 @@
1018 1018  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1019 1019  
1020 1020  
1030 +
1021 1021  == 7.18 Single Channel Mode ==
1022 1022  
1023 1023  
... ... @@ -1053,7 +1053,7 @@
1053 1053  )))
1054 1054  |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
1055 1055  
1056 -(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)**
1066 +(% style="color:blue" %)**Downlink Command: 0x24**
1057 1057  
1058 1058  Format: Command Code (0x24) followed by 1 bytes channel value.
1059 1059  
... ... @@ -1063,6 +1063,7 @@
1063 1063  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1064 1064  
1065 1065  
1076 +
1066 1066  == 7.20 Get or Set RXwindows1 timeout ==
1067 1067  
1068 1068  
... ... @@ -1082,9 +1082,8 @@
1082 1082  (((
1083 1083  
1084 1084  
1096 +**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.
1085 1085  
1086 -(% 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.
1087 -
1088 1088  
1089 1089  )))
1090 1090  
... ... @@ -1140,6 +1140,7 @@
1140 1140  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1141 1141  
1142 1142  
1153 +
1143 1143  == 7.23 Set Packet Receiving Response Level ==
1144 1144  
1145 1145  
... ... @@ -1180,6 +1180,7 @@
1180 1180  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1181 1181  
1182 1182  
1194 +
1183 1183  == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1184 1184  
1185 1185  
... ... @@ -1211,16 +1211,12 @@
1211 1211  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1212 1212  
1213 1213  
1226 +
1214 1214  == 7.25 Device offline rejoining (LWS007) ==
1215 1215  
1216 1216  
1217 1217  (% style="color:blue" %)**AT Command: AT+DDETECT**
1218 1218  
1219 -AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1220 -
1221 -* ACK_Timout_1: Unit: min
1222 -* ACK_Timout_2: Unit: min
1223 -
1224 1224  (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1225 1225  |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1226 1226  |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
... ... @@ -1252,19 +1252,16 @@
1252 1252  OK
1253 1253  )))
1254 1254  
1255 -(% style="color:blue" %)**Downlink Command: 0x32**
1263 +(% style="color:blue" %)**Downlink Command: 0x33**
1256 1256  
1257 1257  Format: Command Code (0x32) followed by 2 bytes mode value.
1258 1258  
1259 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1267 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33.
1260 1260  
1261 -* **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1262 -** 0x01 : Flag
1263 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1264 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1265 -** **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.
1269 +* **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1266 1266  
1267 1267  
1272 +
1268 1268  == 7.26 Request the server to send an ACK ==
1269 1269  
1270 1270  
... ... @@ -1291,13 +1291,13 @@
1291 1291  (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1292 1292  |=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1293 1293  |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1294 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1299 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000(((
1295 1295  OK
1296 1296  
1297 -the interval is 30 min
1302 +the interval is 30000ms = 30s
1298 1298  )))
1299 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1300 -Set the ReJoin data transmission interval to 60 min
1304 +|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1305 +Set the ReJoin data transmission interval to 60000ms = 60 seconds
1301 1301  )))
1302 1302  
1303 1303  (% style="color:blue" %)**Downlink Command: 0x26**
... ... @@ -1310,15 +1310,18 @@
1310 1310  * **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1311 1311  
1312 1312  
1318 +
1313 1313  = 8. AT Commands Combination =
1314 1314  
1321 +
1315 1315  == 8.1 Set a fix RX2DR for downlink window ==
1316 1316  
1317 1317  
1318 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1319 -* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1325 +* **AT+ADR=0             ** **~-~->**  Disable ADR first
1326 +* **AT+RX2DR=xxxx**  **~-~->**  Set xxxx to your wanted DataRate
1320 1320  
1321 1321  
1329 +
1322 1322  == 8.2 Use Downlink Command to set a fix uplink DR ==
1323 1323  
1324 1324  
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0