<
From version < 21.1 >
edited by Xiaoling
on 2022/05/27 17:53
To version < 7.5 >
edited by Xiaoling
on 2022/05/11 10:13
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -1,4 +1,4 @@
1 - **Contents:**
1 +Contens
2 2  
3 3  {{toc/}}
4 4  
... ... @@ -10,95 +10,34 @@
10 10  * **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device.
11 11  * **Sensor Related Commands:** Only for special sensor, such as control relay, poll RS485 device.
12 12  
13 -(((
14 14  **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.**
15 15  
16 -)))
17 17  
18 18  = 2. How to use AT Commands or Downlink command =
19 19  
20 20  * 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/]]
21 21  * 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:
22 -** Use HEX format to send a downlink: [[TTN v3>>doc:Main.Notes for TTN.WebHome]]
23 -** Use Base64 format to send a downlink: [[Chirpstack>>doc:Main.Notes for ChirpStack.WebHome]].
24 -** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server)
20 +** Use HEX format to send a downlink: [[TTN v3>>url:https://wiki.dragino.com/index.php/Notes_for_TTN#Send_Downlink_message]]
21 +** Use Base64 format to send a downlink: [[Chirpstack>>url:https://wiki.dragino.com/index.php/Notes_for_ChirpStack#Downlink]].
22 +** See use note for more serves [[Servers Note>>url:https://wiki.dragino.com/index.php/Main_Page#Use_Note_for_Server]]
25 25  
26 -
27 27  = 3. Support End Node and firmware version =
28 28  
29 -(% border="1" style="background-color:#ffffcc; color:green; width:966px" %)
30 -|=(% colspan="3" style="width: 963px;" %)(((
31 -Dragino STM32 base hardware Firmware / LoRaWAN stack list
32 -)))
33 -|(% style="width:187px" %)(((
34 -**Model**
35 -)))|(% style="width:330px" %)(((
36 -**Description**
37 -)))|(% style="width:445px" %)(((
38 -**Firmware Version <~-~-> Stack Version**
39 -)))
40 -|(% style="width:187px" %)(((
41 -[[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]],
42 -)))|(% style="width:330px" %)(((
43 -Open Source Generic LoRaWAN Sensor Node
44 -)))|(% style="width:445px" %)(((
45 -(((
46 -LSN50 v1.6.0 <~-~-> DR-LWS-003;
47 -)))
48 -
49 -(((
50 -(((
26 +(% style="background-color:#ffffcc; color:green; width:995.222px" %)
27 +|=(% colspan="3" style="width: 992px;" %)Dragino STM32 base hardware Firmware / LoRaWAN stack list
28 +|(% style="width:187px" %)**Model**|(% style="width:349px" %)**Description**|(% style="width:453px" %)**Firmware Version <~-~-> Stack Version**
29 +|(% style="width:187px" %)[[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]],|(% style="width:349px" %)Open Source Generic LoRaWAN Sensor Node|(% style="width:453px" %)LSN50 v1.6.0 <~-~-> DR-LWS-003;(((
51 51  LSN50 v1.7.0 <~-~-> DR-LWS-005; ~-~-> Support since this version
52 52  )))
53 -)))
54 -)))
55 -|(% style="width:187px" %)(((
56 -[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]],
57 -)))|(% style="width:330px" %)(((
58 -LoRaWAN GPS Tracker
59 -)))|(% style="width:445px" %)(((
60 -(((
61 -LGT92 v1.6.3 <~-~-> DR-LWS-003;
62 -)))
63 -
64 -(((
65 -(((
32 +|(% style="width:187px" %)[[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]],|(% style="width:349px" %)LoRaWAN GPS Tracker|(% style="width:453px" %)LGT92 v1.6.3 <~-~-> DR-LWS-003;(((
66 66  LGT92 v1.6.4 <~-~-> DR-LWS-005;~-~-> Support since this version
67 67  )))
68 -)))
69 -)))
70 -|(% style="width:187px" %)(((
71 -[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]],
72 -)))|(% style="width:330px" %)(((
73 -LoRaWAN BLE Indoor Tracker
74 -)))|(% style="width:445px" %)(((
75 -LBT1 v1.0 <~-~-> DR-LWS-005;
76 -)))
77 -|(% style="width:187px" %)(((
78 -[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]],
79 -)))|(% style="width:330px" %)(((
80 -LoRaWAN RS485 Modbus Converter
81 -)))|(% style="width:445px" %)(((
82 -RS485-LN v1.3 <~-~-> DR-LWS-005;
83 -)))
84 -|(% style="width:187px" %)(((
85 -[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]],
86 -)))|(% style="width:330px" %)(((
87 -LoRaWAN Temperature & Humidity Sensor
88 -)))|(% style="width:445px" %)(((
89 -(((
90 -LHT65 v1.7 <~-~-> DR-LWS-003;
91 -)))
92 -
93 -(((
94 -(((
35 +|(% style="width:187px" %)[[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]],|(% style="width:349px" %)LoRaWAN BLE Indoor Tracker|(% style="width:453px" %)LBT1 v1.0 <~-~-> DR-LWS-005;
36 +|(% style="width:187px" %)[[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]],|(% style="width:349px" %)LoRaWAN RS485 Modbus Converter|(% style="width:453px" %)RS485-LN v1.3 <~-~-> DR-LWS-005;
37 +|(% style="width:187px" %)[[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]],|(% style="width:349px" %)LoRaWAN Temperature & Humidity Sensor|(% style="width:453px" %)LHT65 v1.7 <~-~-> DR-LWS-003;(((
95 95  LHT65 v1.8.0 <~-~-> DR-LWS-005;~-~-> Support since this version
96 96  )))
97 -)))
98 -)))
99 99  
100 -
101 -
102 102  = 4. System Management Commands =
103 103  
104 104  == 4.1 Change Uplink Interval ==
... ... @@ -110,7 +110,7 @@
110 110  **AT Command: AT+TDC**
111 111  )))
112 112  
113 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
52 +(% style="background-color:#ffffcc; color:green; width:727.222px" %)
114 114  |=(% colspan="3" style="width: 724px;" %)AT+TDC
115 115  |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
116 116  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
... ... @@ -126,18 +126,13 @@
126 126  **Downlink Command: 0x01**
127 127  {{/info}}
128 128  
129 -(((
130 130  Format: Command Code (0x01) followed by 3 bytes time value.
131 -)))
132 132  
133 -(((
134 134  If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01.
135 -)))
136 136  
137 137  * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds
138 138  * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds
139 139  
140 -
141 141  == 4.2 Reboot End Node ==
142 142  
143 143  Feature: Reboot End Node to perform a new OTAA or ABP Join.
... ... @@ -146,7 +146,7 @@
146 146  **AT Command: ATZ**
147 147  {{/info}}
148 148  
149 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
83 +(% border="0" style="background-color:#ffffcc; color:green; width:727.222px" %)
150 150  |=(% colspan="3" %)ATZ: Trig a reset of the MCU
151 151  |**Command Example**|**Function**|**Response**
152 152  |ATZ|Reset MCU|(((
... ... @@ -167,16 +167,10 @@
167 167  **Downlink Command: 0x04**
168 168  {{/info}}
169 169  
170 -(((
171 171  Format: Command Code (0x04) followed by FF.
172 -)))
173 173  
174 -(((
175 175  If the downlink payload=**04FF**, the end node will reboot.
176 176  
177 -
178 -)))
179 -
180 180  == 4.3 Reset to factory Default ==
181 181  
182 182  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.
... ... @@ -185,7 +185,7 @@
185 185  **AT Command: AT+FDR**
186 186  {{/info}}
187 187  
188 -(% border="1" style="background-color:#ffffcc; color:green; width:831.222px" %)
116 +(% style="background-color:#ffffcc; color:green; width:831.222px" %)
189 189  |=(% colspan="3" style="width: 828px;" %)Reset to factory default
190 190  |(% style="width:181px" %)**Command Example**|(% style="width:181px" %)**Function**|(% style="width:465px" %)**Response**
191 191  |(% style="width:181px" %)AT+FDR|(% style="width:181px" %)Reset to factory default|(% style="width:465px" %)(((
... ... @@ -206,13 +206,9 @@
206 206  **Downlink Command: 0x04**
207 207  {{/info}}
208 208  
209 -(((
210 210  Format: Command Code (0x04) followed by FE.
211 -)))
212 212  
213 -(((
214 214  If the downlink payload=**04FE**, Reset Parameters to Factory Default, Keys Reserve.
215 -)))
216 216  
217 217  
218 218  == 4.4 Show Firmware Version ==
... ... @@ -223,10 +223,10 @@
223 223  **AT Command: AT+VER**
224 224  {{/info}}
225 225  
226 -(% border="1" style="background-color:#ffffcc; color:green; width:586px" %)
227 -|=(% colspan="3" style="width: 583px;" %)AT+VER: Image Version and Frequency Band
228 -|(% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response**
229 -|(% style="width:170px" %)AT+VER=?|(% style="width:300px" %)Show Image version and Frequency Band|(% style="width:113px" %)(((
150 +(% style="background-color:#ffffcc; color:green" %)
151 +|=(% colspan="3" %)AT+VER: Image Version and Frequency Band
152 +|**Command Example**|**Function**|**Response**
153 +|AT+VER=?|Show Image version and Frequency Band|(((
230 230  1.3 EU868
231 231  
232 232  OK
... ... @@ -236,25 +236,17 @@
236 236  **Downlink Command: 0x26 (Valid in 006 stack)**
237 237  {{/info}}
238 238  
239 -(((
240 240  Downlink Format: 0x26
241 -)))
242 242  
243 -(((
244 244  Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes
245 -)))
246 246  
247 -(((
248 248  **xx: Software Type:**
249 -)))
250 250  
251 251  * 0x00 01: LGT92 Version
252 252  * 0x00 02: LBT1
253 253  * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01
254 254  
255 -(((
256 256  **yy: Frequency Band:**
257 -)))
258 258  
259 259  * 0x01: EU868
260 260  * 0x02: US915
... ... @@ -267,9 +267,7 @@
267 267  * 0x09: AS923-2
268 268  * 0xa0: AS923-3
269 269  
270 -(((
271 271  **zz: Subband**
272 -)))
273 273  
274 274  firmware version: v1.1.0 ~-~-> 110
275 275  
... ... @@ -282,7 +282,7 @@
282 282  **AT Command: AT+CFG**
283 283  {{/info}}
284 284  
285 -(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
199 +(% style="background-color:#ffffcc; color:green; width:599.222px" %)
286 286  |=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
287 287  |(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
288 288  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
... ... @@ -310,7 +310,7 @@
310 310  **AT Command: AT+APPEUI**
311 311  {{/info}}
312 312  
313 -(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
227 +(% style="background-color:#ffffcc; color:green; width:686.222px" %)
314 314  |=(% colspan="3" style="width: 683px;" %)AT+APPEUI
315 315  |(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
316 316  |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
... ... @@ -318,7 +318,6 @@
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 -
322 322  == 5.2 Application Key ==
323 323  
324 324  Feature: Get or Set the Application Key.
... ... @@ -327,7 +327,7 @@
327 327  **AT Command: AT+APPKEY**
328 328  {{/info}}
329 329  
330 -(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
243 +(% style="background-color:#ffffcc; color:green; width:976.222px" %)
331 331  |=(% colspan="3" style="width: 973px;" %)AT+APPKEY
332 332  |(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
333 333  |(% 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(((
... ... @@ -335,103 +335,77 @@
335 335  )))
336 336  |(% 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
337 337  
338 -
339 339  == 5.3 Application Session Key ==
340 340  
341 341  Feature: Get or Set the Application Session Key.
342 342  
343 -{{info}}
344 -**AT Command: AT+APPSKEY**
345 -{{/info}}
255 +AT Command: AT+APPSKEY
346 346  
347 -(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
348 -|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
349 -|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
350 -|(% 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(((
257 +|=(% colspan="3" %)AT+APPSKEY
258 +|**Command Example**|**Function**|**Response**
259 +|AT+APPSKEY=?|Get the Application Session Key|00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2(((
351 351  OK
352 352  )))
353 -|(% style="width:451px" %)AT+APPSKEY=00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2|(% style="width:231px" %)Set the Application Session Key|(% style="width:354px" %)(While Error in format, return AT_PARAM_ERROR)(((
262 +|AT+APPSKEY=00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2|Set the Application Session Key.|(While Error in format, return AT_PARAM_ERROR)(((
354 354  OK
355 355  )))
356 356  
357 -
358 -
359 359  == 5.4 Device Address ==
360 360  
361 361  Feature: Get or Set the Device Address.
362 362  
363 -{{info}}
364 -**AT Command: AT+DADDR**
365 -{{/info}}
270 +AT Command: AT+DADDR
366 366  
367 -(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %)
368 -|=(% colspan="3" style="width: 792px;" %)AT+DADDR
369 -|(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response**
370 -|(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
272 +|=(% colspan="3" %)AT+DADDR
273 +|**Command Example**|**Function**|**Response**
274 +|AT+DADDR=?|Get the Application Session Key.|(While Error in format, return AT_PARAM_ERROR)(((
371 371  A8 40 41 FF
372 372  
373 373  OK
374 374  )))
375 -|(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK
279 +|AT+DADDR=A8 40 41 FF|Set the Application Session Key.|OK
376 376  
377 -
378 -
379 379  == 5.5 Device EUI ==
380 380  
381 381  Feature: Get or Set the Device EUI.
382 382  
383 -{{info}}
384 -**AT Command: AT+DEUI**
385 -{{/info}}
285 +AT Command: AT+DEUI
386 386  
387 -(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
388 -|=(% colspan="3" style="width: 1032px;" %)AT+DEUI
389 -|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
390 -|(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
287 +|=(% colspan="3" %)AT+DEUI
288 +|**Command Example**|**Function**|**Response**
289 +|AT+DEUI=?|Get the Device EUI.|00 44 34 22 33 45 55 55(((
391 391  OK
392 392  )))
393 -|(% style="width:250px" %)AT+DEUI=A8 40 41 FF FF 12 34 56|(% style="width:147px" %)Set the Device EUI.|(% style="width:634px" %)(System will write new value to Device EUI,While Error in format, return AT_PARAM_ERROR)(((
292 +|AT+DEUI=A8 40 41 FF FF 12 34 56|Set the Device EUI.|(System will write new value to Device EUI,While Error in format, return AT_PARAM_ERROR)(((
394 394  OK
395 395  )))
396 396  
397 -
398 -
399 399  == 5.6 Network ID ==
400 400  
401 401  Feature: Get or Set the Network ID.(You can enter this command change only after successful network connection)
402 402  
403 -{{info}}
404 -**AT Command: AT+NWKID**
405 -{{/info}}
300 +AT Command: AT+NWKID
406 406  
407 -(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
408 -|=(% colspan="3" style="width: 445px;" %)AT+NWKID
409 -|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
410 -|(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
302 +|=(% colspan="3" %)AT+NWKID
303 +|**Command Example**|**Function**|**Response**
304 +|AT+NWKID=?|Get the Network ID.|a8 40 41 ff(((
411 411  OK
412 412  )))
413 -|(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK
307 +|AT+NWKID=A8 40 41 FF|Set the Network ID.|OK
414 414  
415 -
416 -
417 417  == 5.7 Network Session Key ==
418 418  
419 419  Feature: Get or Set the Network Session Key
420 420  
421 -{{info}}
422 -**AT Command: AT+NWKSKEY**
423 -{{/info}}
313 +AT Command: AT+NWKSKEY
424 424  
425 -(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
426 -|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
427 -|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
428 -|(% 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(((
315 +|=(% colspan="3" %)AT+NWKSKEY
316 +|**Command Example**|**Function**|**Response**
317 +|AT+NWKSKEY=?|Get the Network Session Key.|00 4f 19 25 52 ce 97 09 d7 fa 84 71 db 51 02 92(((
429 429  OK
430 430  )))
431 -|(% 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
320 +|AT+NWKSKEY=A8 40 41 FF FF 12 34 56 00 01 02 04 05 06 06 07|Set the Network Session Key.|OK
432 432  
433 -
434 -
435 435  = 6. Joining and sending date on LoRaWAN network =
436 436  
437 437  == 6.1 Confirm Mode ==
... ... @@ -438,18 +438,15 @@
438 438  
439 439  Feature: Get or Set the confirmation mode (0-1).
440 440  
441 -{{info}}
442 -**AT Command: AT+CFM**
443 -{{/info}}
328 +AT Command: AT+CFM
444 444  
445 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
446 -|=(% colspan="3" style="width: 707px;" %)AT+CFM
447 -|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
448 -|(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
330 +|=(% colspan="3" %)AT+CFM
331 +|**Command Example**|**Function**|**Response**
332 +|AT+CFM=?|Get the confirmation mode|0(((
449 449  OK
450 450  )))
451 -|(% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK
452 -|(% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR
335 +|AT+CFM=1|Set the confirmation mode|OK
336 +|AT+CFM=2|Set the confirmation mode|While Error in format, return AT_PARAM_ERROR
453 453  
454 454  Downlink Command: 0x05
455 455  
... ... @@ -460,137 +460,100 @@
460 460  * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1
461 461  * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0
462 462  
463 -
464 -
465 465  == 6.2 Confirm Status ==
466 466  
467 467  Feature: Get confirmation status of the last AT+SEND (0-1).
468 468  
469 -{{info}}
470 -**AT Command: AT+CFS**
471 -{{/info}}
351 +AT Command: AT+CFS
472 472  
473 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
474 -|=(% colspan="3" style="width: 531px;" %)AT+CFS
475 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
476 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0(((
353 +|=(% colspan="3" %)AT+CFS
354 +|**Command Example**|**Function**|**Response**
355 +|AT+CFS=?|Get confirmation status|0(((
477 477  OK
478 478  )))
479 479  
480 -
481 -
482 482  == 6.3 Join LoRa® Network ==
483 483  
484 484  Feature: Join network.
485 485  
486 -{{info}}
487 -**AT Command: AT+JOIN**
488 -{{/info}}
363 +AT Command: AT+JOIN
489 489  
490 -(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
491 -|=(% colspan="3" style="width: 644px;" %)AT+JOIN
492 -|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
493 -|(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
365 +|=(% colspan="3" %)AT+JOIN
366 +|**Command Example**|**Function**|**Response**
367 +|AT+JOIN ?|Get imformation.|AT+JOIN: Join network(((
494 494  OK
495 495  
496 496  While Error in format, return AT_BUSY_ERROR
497 497  )))
498 498  
499 -
500 -
501 501  == 6.4 LoRa® Network Join Mode ==
502 502  
503 503  Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA).
504 504  
505 -{{info}}
506 -**AT Command: AT+NJM**
507 -{{/info}}
377 +AT Command: AT+NJM
508 508  
509 -(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
510 -|=(% colspan="3" style="width: 750px;" %)AT+NJM
511 -|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
512 -|(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
379 +|=(% colspan="3" %)AT+NJM
380 +|**Command Example**|**Function**|**Response**
381 +|AT+NJM=?|Get the Network Join Mode|1(((
513 513  OK
514 514  )))
515 -|(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK
516 -|(% style="width:162px" %)AT+NJM=2|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)While Error in format, return AT_PARAM_ERROR
384 +|AT+NJM=0|Set the Network Join Mode|OK
385 +|AT+NJM=2|Set the Network Join Mode|While Error in format, return AT_PARAM_ERROR
517 517  
518 -{{info}}
519 -**Downlink Command: 0x20**
520 -{{/info}}
387 +Downlink Command: 0x20
521 521  
522 522  Format: Command Code (0x20) followed by 1 bytes mode value.
523 523  
524 524  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
525 525  
526 -* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=O
527 -* **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1
393 +* Example 1: Downlink Payload: 2000 ~/~/ Set AT+NJM=O
394 +* Example 2: Downlink Payload: 2001 ~/~/ Set AT+NJM=1
528 528  
529 -
530 -
531 531  == 6.5 LoRa® Network Join Status ==
532 532  
533 533  Feature: LoRa® Network Join Status.
534 534  
535 -{{info}}
536 -**AT Command: AT+NJS**
537 -{{/info}}
400 +AT Command: AT+NJS
538 538  
539 -(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
540 -|=(% colspan="3" style="width: 495px;" %)AT+NJS
541 -|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
542 -|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
402 +|=(% colspan="3" %)AT+NJS
403 +|**Command Example**|**Function**|**Response**
404 +|AT+NJS=?|Get the join status.|0(((
543 543  OK
544 544  )))
545 545  
546 -
547 -
548 548  == 6.6 Print Last Received Data in Raw Format ==
549 549  
550 550  Feature: Print Last Received Data in Raw Format<port:data>.
551 551  
552 -{{info}}
553 -**AT Command: AT+RECV**
554 -{{/info}}
412 +AT Command: AT+RECV
555 555  
556 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
557 -|=(% colspan="3" style="width: 584px;" %)AT+RECV
558 -|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
559 -|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
414 +|=(% colspan="3" %)AT+RECV
415 +|**Command Example**|**Function**|**Response**
416 +|AT+RECV=?|print last received data in raw format.|0:(((
560 560  OK
561 561  )))
562 562  
563 -
564 -
565 565  == 6.7 Print Last Received Data in Binary Format ==
566 566  
567 567  Feature: Print Last Received Data in Binary Format<port:data>.
568 568  
569 -{{info}}
570 -**AT Command: AT+RECVB**
571 -{{/info}}
424 +AT Command: AT+RECVB
572 572  
573 -(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
574 -|=(% colspan="3" style="width: 790px;" %)AT+RECVB
575 -|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
576 -|(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
426 +|=(% colspan="3" %)AT+RECVB
427 +|**Command Example**|**Function**|**Response**
428 +|AT+RECVB=?|print last received data in binary format (with hexadecimal values).|2: 0010(((
577 577  OK
578 578  )))
579 579  
580 -
581 -
582 582  == 6.8 Send Text Data ==
583 583  
584 584  Feature: Send Text Data<port:data>.
585 585  
586 -{{info}}
587 -**AT Command: AT+SEND**
588 -{{/info}}
436 +AT Command: AT+SEND
589 589  
590 -(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
591 -|=(% colspan="3" style="width: 988px;" %)AT+SEND
592 -|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
593 -|(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
438 +|=(% colspan="3" %)AT+SEND
439 +|**Command Example**|**Function**|**Response**
440 +|AT+SEND=12:hello world|Send text data along with the application port.|OK(((
594 594  While Error in format, return
595 595  
596 596  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
... ... @@ -598,28 +598,21 @@
598 598  
599 599  )))
600 600  
601 -
602 -
603 603  == 6.9 Send Hexadecimal Data ==
604 604  
605 605  Feature: Send hexadecimal data along with the application port.
606 606  
607 -{{info}}
608 -**AT Command: AT+SENDB**
609 -{{/info}}
452 +AT Command: AT+SENDB
610 610  
611 -(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %)
612 -|=(% colspan="3" style="width: 1117px;" %)AT+SENDB
613 -|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response**
614 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK
615 -|(% 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(((
454 +|=(% colspan="3" %)AT+SENDB
455 +|**Command Example**|**Function**|**Response**
456 +|AT+SENDB=12:abcdef0123456789|Send hexadecimal data along with the application port.|OK
457 +|AT+SENDB=abcdef0123456789|Send hexadecimal data along with the application port.|While Error in format, return(((
616 616  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
617 617  
618 618  
619 619  )))
620 620  
621 -
622 -
623 623  = 7. LoRaWAN network management =
624 624  
625 625  == 7.1 Adaptive Data Rate ==
... ... @@ -626,302 +626,231 @@
626 626  
627 627  Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on).
628 628  
629 -{{info}}
630 -**AT Command: AT+ADR**
631 -{{/info}}
632 632  
633 -(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
634 -|=(% colspan="3" style="width: 680px;" %)AT+ADR
635 -|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
636 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
470 +AT Command: AT+ADR
471 +
472 +|=(% colspan="3" %)AT+ADR
473 +|**Command Example**|**Function**|**Response**
474 +|AT+ADR=?|Get the Adaptive Data Rate setting.|1(((
637 637  OK
638 638  )))
639 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
640 -|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
477 +|AT+ADR=0|Set the Adaptive Data Rate setting.|OK
478 +|AT+ADR=2|Set the Adaptive Data Rate setting.|While Error in format, return(((
641 641  AT_PARAM_ERROR
642 642  )))
643 643  
644 -{{info}}
645 -**Downlink Command: 0x22**
646 -{{/info}}
482 +Downlink Command: 0x22
647 647  
648 648  
649 649  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
650 650  
651 -* **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1.
652 -* **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0.
487 +* Example 1: Downlink Payload: 2201 ~/~/ Set AT+ADR=1.
488 +* Example 2: Downlink Payload: 2200FFFF ~/~/ Set AT+ADR=0.
653 653  
654 -
655 -
656 656  == 7.2 LoRa® Class ==
657 657  
658 658  Feature: Get or Set the Device Class(Currently only support class A, class C).
659 659  
660 -{{info}}
661 -**AT Command:AT+CLASS**
662 -{{/info}}
494 +AT Command:AT+CLASS
663 663  
664 -(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
665 -|=(% colspan="3" style="width: 504px;" %)AT+CLASS
666 -|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
667 -|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
496 +|=(% colspan="3" %)AT+CLASS
497 +|**Command Example**|**Function**|**Response**
498 +|AT+CLASS=?|Get the Device Class.|A(((
668 668  OK
669 669  )))
670 -|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
501 +|AT+CLASS=C|Set the Device Class.|OK(((
671 671  
672 672  )))
673 673  
674 -
675 -
676 676  == 7.3 Duty Cycle Setting ==
677 677  
678 678  Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
679 679  
680 -{{info}}
681 -**AT Command:AT+DCS**
682 -{{/info}}
509 +AT Command:AT+DCS
683 683  
684 -(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
685 -|=(% colspan="3" style="width: 512px;" %)AT+DCS
686 -|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
687 -|(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
511 +|=(% colspan="3" %)AT+DCS
512 +|**Command Example**|**Function**|**Response**
513 +|AT+DCS=?|Get the ETSI Duty Cycle setting.|1(((
688 688  OK
689 689  )))
690 -|(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((
516 +|AT+DCS=1|Set the ETSI Duty Cycle setting.|OK(((
691 691  
692 692  )))
693 693  
694 -
695 -
696 696  == 7.4 Data Rate ==
697 697  
698 698  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
699 699  
700 -{{info}}
701 -**AT Command: AT+DR**
702 -{{/info}}
524 +AT Command: AT+DR
703 703  
704 -(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
705 -|=(% colspan="3" style="width: 463px;" %)AT+DR
706 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
707 -|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
526 +|=(% colspan="3" %)AT+DR
527 +|**Command Example**|**Function**|**Response**
528 +|AT+DR=?|Get the Data Rate.|5(((
708 708  OK
709 709  )))
710 -|(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
531 +|AT+DR=2|Set the Data Rate.|OK(((
711 711  
712 712  )))
713 713  
714 -{{info}}
715 -**Downlink Command: 0x2200aaFF**
716 -{{/info}}
535 +Downlink Command: 0x2200aaFF
717 717  
718 718  
719 719  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
720 720  
721 -* **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1.
722 -* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0.
540 +* Example 1: Downlink Payload: 220001FF ~/~/ Set AT+DR=1.
541 +* Example 2: Downlink Payload: 220000FF ~/~/ Set AT+DR=0.
723 723  
724 -
725 -
726 726  == 7.5 Frame Counter Downlink ==
727 727  
728 728  Feature: Get or Set the Frame Counter Downlink.
729 729  
730 -{{info}}
731 -**AT Command:AT+FCD**
732 -{{/info}}
547 +AT Command:AT+FCD
733 733  
734 -(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
735 -|=(% colspan="3" style="width: 690px;" %)AT+FCD
736 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
737 -|(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
549 +|=(% colspan="3" %)AT+FCD
550 +|**Command Example**|**Function**|**Response**
551 +|AT+FCD=?|Get the Frame Counter Downlink.|0(((
738 738  OK
739 739  )))
740 -|(% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)(((
554 +|AT+FCD=10|Set the Frame Counter Downlink.|(System will write new value to FCD)(((
741 741  OK
742 742  
743 743  
744 744  )))
745 745  
746 -
747 -
748 748  == 7.6 Frame Counter Uplink ==
749 749  
750 750  Feature: Get or Set the Frame Counter Uplink.
751 751  
752 -{{info}}
753 -**AT Command:AT+FCU**
754 -{{/info}}
564 +AT Command:AT+FCU
755 755  
756 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
757 -|=(% colspan="3" style="width: 531px;" %)AT+FCU
758 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
759 -|(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
566 +|=(% colspan="3" %)AT+FCU
567 +|**Command Example**|**Function**|**Response**
568 +|AT+FCU=?|Get the Frame Counter Uplink.|0(((
760 760  OK
761 761  )))
762 -|(% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK(((
571 +|AT+FCU=10|Set the Frame Counter Uplink.|OK(((
763 763  
764 764  )))
765 765  
766 -
767 -
768 768  == 7.7 Join Accept Delay1 ==
769 769  
770 770  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
771 771  
772 -{{info}}
773 -**AT Command:AT+JN1DL**
774 -{{/info}}
579 +AT Command:AT+JN1DL
775 775  
776 -(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
777 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL
778 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
779 -|(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
581 +|=(% colspan="3" %)AT+JN1DL
582 +|**Command Example**|**Function**|**Response**
583 +|AT+JN1DL=?|Get the Join Accept Delay.|5000(((
780 780  OK
781 781  )))
782 -|(% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK(((
586 +|AT+JN1DL=10000|Set the Join Accept Delay.|OK(((
783 783  
784 784  )))
785 785  
786 -
787 -
788 788  == 7.8 Join Accept Delay2 ==
789 789  
790 790  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
791 791  
792 -{{info}}
793 -**AT Command:AT+JN2DL**
794 -{{/info}}
594 +AT Command:AT+JN2DL
795 795  
796 -(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
797 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL
798 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
799 -|(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
596 +|=(% colspan="3" %)AT+JN2DL
597 +|**Command Example**|**Function**|**Response**
598 +|AT+JN2DL=?|Get the Join Accept Delay.|6000(((
800 800  OK
801 801  )))
802 -|(% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK(((
601 +|AT+JN2DL=20000|Set the Join Accept Delay.|OK(((
803 803  
804 804  )))
805 805  
806 -
807 -
808 808  == 7.9 Public Network Mode ==
809 809  
810 810  Feature: Get or Set the public network mode. (0: off, 1: on)
811 811  
812 -{{info}}
813 -**AT Command:AT+PNM**
814 -{{/info}}
609 +AT Command:AT+PNM
815 815  
816 -(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
817 -|=(% colspan="3" style="width: 664px;" %)AT+PNM
818 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
819 -|(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
611 +|=(% colspan="3" %)AT+PNM
612 +|**Command Example**|**Function**|**Response**
613 +|AT+PNM=?|Get the public network mode.|1(((
820 820  OK
821 821  )))
822 -|(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)Set the public network mode.|(% style="width:272px" %)(System will write new value to PNM)(((
616 +|AT+PNM=1|Set the public network mode.|(System will write new value to PNM)(((
823 823  OK
824 824  
825 825  
826 826  )))
827 827  
828 -
829 -
830 830  == 7.10 Receive Delay1 ==
831 831  
832 832  Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
833 833  
834 -{{info}}
835 -**AT Command:AT+RX1DL**
836 -{{/info}}
626 +AT Command:AT+RX1DL
837 837  
838 -(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
839 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL
840 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
841 -|(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
628 +|=(% colspan="3" %)AT+RX1DL
629 +|**Command Example**|**Function**|**Response**
630 +|AT+RX1DL=?|Get the delay.|1000(((
842 842  OK
843 843  )))
844 -|(% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK(((
633 +|AT+RX1DL=1500|Set the delay.|OK(((
845 845  
846 846  )))
847 847  
637 +== 7.11Receive Delay2 ==
848 848  
849 -
850 -== 7.11 Receive Delay2 ==
851 -
852 852  Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
853 853  
854 -{{info}}
855 -**AT Command:AT+RX2DL**
856 -{{/info}}
641 +AT Command:AT+RX2DL
857 857  
858 -(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
859 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL
860 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
861 -|(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
643 +|=(% colspan="3" %)AT+RX2DL
644 +|**Command Example**|**Function**|**Response**
645 +|AT+RX2DL=?|Get the delay.|2000(((
862 862  OK
863 863  )))
864 -|(% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK(((
648 +|AT+RX2DL=2500|Set the delay.|OK(((
865 865  
866 866  )))
867 867  
868 -
869 -
870 870  == 7.12 Rx2 Window Data Rate ==
871 871  
872 872  Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
873 873  
874 -{{info}}
875 -**AT Command:AT+RX2DR**
876 -{{/info}}
656 +AT Command:AT+RX2DR
877 877  
878 -(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
879 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR
880 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
881 -|(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
658 +|=(% colspan="3" %)AT+RX2DR
659 +|**Command Example**|**Function**|**Response**
660 +|AT+RX2DR=?|Get the Rx2 window data rate.|2(((
882 882  OK
883 883  )))
884 -|(% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK(((
663 +|AT+RX2DR=6|Set the Rx2 window data rate.|OK(((
885 885  
886 886  )))
887 887  
888 -
889 -
890 890  == 7.13 Rx2 Window Frequency ==
891 891  
892 892  Feature: Get or Set the Rx2 window frequency
893 893  
894 -{{info}}
895 -**AT Command:AT+RX2FQ**
896 -{{/info}}
671 +AT Command:AT+RX2FQ
897 897  
898 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
899 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
900 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
901 -|(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
673 +|=(% colspan="3" %)AT+RX2FQ
674 +|**Command Example**|**Function**|**Response**
675 +|AT+RX2FQ=?|Get the Rx2 window frequency.|434665000(((
902 902  OK
903 903  )))
904 -|(% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK(((
678 +|AT+RX2FQ=434665000|Set the Rx2 window frequency.|OK(((
905 905  
906 906  )))
907 907  
908 -
909 -
910 910  == 7.14 Transmit Power ==
911 911  
912 912  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. )
913 913  
914 -{{info}}
915 -**AT Command:AT+TXP**
916 -{{/info}}
686 +AT Command:AT+TXP
917 917  
918 -(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
919 -|=(% colspan="3" style="width: 462px;" %)AT+TXP
920 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
921 -|(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
688 +|=(% colspan="3" %)AT+TXP
689 +|**Command Example**|**Function**|**Response**
690 +|AT+TXP=?|Get the Transmit Power.|0(((
922 922  OK
923 923  )))
924 -|(% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK(((
693 +|AT+TXP=1|Set the Transmit Power.|OK(((
925 925  
926 926  )))
927 927  
... ... @@ -929,198 +929,146 @@
929 929  
930 930  If the downlink payload=22000100, it means setting the TXP to 0.
931 931  
932 -* **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2.
933 -* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0.
701 +* Example 1: Downlink Payload: 22000102 ~/~/ Set AT+TXP=2.
702 +* Example 2: Downlink Payload: 220000FF ~/~/ Set AT+TXP=0.
934 934  
935 -
936 -
937 937  == 7.15 RSSI of the Last Received Packet ==
938 938  
939 939  Feature: Get or Set the Rx2 window frequency
940 940  
941 -{{info}}
942 -**AT Command:AT+RSSI**
943 -{{/info}}
708 +AT Command:AT+RSSI
944 944  
945 -(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
946 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI
947 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
948 -|(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
710 +|=(% colspan="3" %)AT+RSSI
711 +|**Command Example**|**Function**|**Response**
712 +|AT+RSSI=?|Get the RSSI of the last received packet.|0(((
949 949  OK
950 950  )))
951 951  
952 -
953 -
954 954  == 7.16 SNR of the Last Received Packet ==
955 955  
956 956  Feature: Get the SNR of the last received packet
957 957  
958 -{{info}}
959 -**AT Command:AT+SNR**
960 -{{/info}}
720 +AT Command:AT+SNR
961 961  
962 -(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
963 -|=(% colspan="3" style="width: 568px;" %)AT+SNR
964 -|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
965 -|(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
722 +|=(% colspan="3" %)AT+SNR
723 +|**Command Example**|**Function**|**Response**
724 +|AT+SNR=?|Get the RSSI of the last received packet.|0(((
966 966  OK
967 967  )))
968 968  
969 -
970 -
971 971  == 7.17 Application Port ==
972 972  
973 973  Feature: Get or set the application port.
974 974  
975 -{{info}}
976 -**AT Command: AT+PORT**
977 -{{/info}}
732 +AT Command: AT+PORT
978 978  
979 -(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
980 -|=(% colspan="3" style="width: 497px;" %)AT+PORT
981 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
982 -|(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
734 +|=(% colspan="3" %)AT+PORT
735 +|**Command Example**|**Function**|**Response**
736 +|AT+PORT=?|Get the application port|21(((
983 983  OK
984 984  )))
985 -|(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK
739 +|AT+PORT=21|Set the application port|OK
986 986  
987 -{{info}}
988 -**Downlink Command: 0x23**
989 -{{/info}}
741 +Downlink Command: 0x23
990 990  
991 991  Format: Command Code (0x23) followed by 1 bytes port value.
992 992  
993 993  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
994 994  
995 -* **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1
996 -* **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5
747 +* Example 1: Downlink Payload: 2301 ~/~/ set the application port to 1
748 +* Example 2: Downlink Payload: 2305 ~/~/ set the application port to 5
997 997  
998 -
999 -
1000 1000  == 7.18 Single Channel Mode ==
1001 1001  
1002 1002  Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode.
1003 1003  
1004 -{{info}}
1005 -**AT Command: AT+CHS**
1006 -{{/info}}
754 +AT Command: AT+CHS
1007 1007  
1008 -(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1009 -|=(% colspan="3" style="width: 600px;" %)AT+CHS
1010 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1011 -|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
756 +|=(% colspan="3" %)AT+CHS
757 +|**Command Example**|**Function**|**Response**
758 +|AT+CHS=?|Get Frequency for Single Channel Mode|0(((
1012 1012  OK
1013 1013  )))
1014 -|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
761 +|AT+CHS=868100000|Set Frequency for Single Channel Mode|OK
1015 1015  
1016 -
1017 -
1018 1018  == 7.19 Eight Channel Mode ==
1019 1019  
1020 1020  Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
1021 1021  
1022 -{{info}}
1023 -**AT Command: AT+CHE**
1024 -{{/info}}
767 +AT Command: AT+CHE
1025 1025  
1026 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1027 -|=(% colspan="3" style="width: 707px;" %)AT+CHE
1028 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1029 -|(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
769 +|=(% colspan="3" %)AT+CHE
770 +|**Command Example**|**Function**|**Response**
771 +|AT+CHE=?|Get eight channels mode|1(((
1030 1030  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1031 1031  
1032 1032  OK
1033 1033  )))
1034 -|(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
776 +|AT+CHE=1|Set eight channels mode|OK
1035 1035  
1036 -{{info}}
1037 -**Downlink Command: 0x24**
1038 -{{/info}}
778 +Downlink Command: 0x24
1039 1039  
1040 1040  Format: Command Code (0x24) followed by 1 bytes channel value.
1041 1041  
1042 1042  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1043 1043  
1044 -* **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1
1045 -* **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5
784 +* Example 1: Downlink Payload: 2401 ~/~/ set channel mode to 1
785 +* Example 2: Downlink Payload: 2405 ~/~/ set channel mode to 5
1046 1046  
1047 -
1048 -
1049 1049  == 7.20 Get or Set RXwindows1 timeout ==
1050 1050  
1051 1051  Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
1052 1052  
1053 -{{info}}
1054 -**AT Command: AT+RX1WTO**
1055 -{{/info}}
791 +AT Command: AT+RX1WTO
1056 1056  
1057 -(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1058 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1059 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1060 -|(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
793 +|=(% colspan="3" %)AT+ RX1WTO
794 +|**Command Example**|**Function**|**Response**
795 +|AT+RX1WTO=?|Get RXwindows1 timeout|14(((
1061 1061  OK
1062 1062  )))
1063 -|(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
798 +|AT+RX1WTO=60|Set RXwindows1 timeout|OK
1064 1064  
1065 -(((
1066 -**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.
1067 -)))
800 +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.
1068 1068  
1069 -[[image:image-20220526162535-1.png]]
802 +[[~[~[image:https://wiki.dragino.com/images/thumb/5/51/RX1WTO.JPG/600px-RX1WTO.JPG~|~|alt="RX1WTO.JPG" height="239" width="600"~]~]>>url:https://wiki.dragino.com/index.php/File:RX1WTO.JPG]]
1070 1070  
1071 -(((
1072 1072  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.
1073 1073  
1074 -
1075 -)))
1076 -
1077 1077  == 7.21 Get or Set RXwindows2 timeout ==
1078 1078  
1079 1079  Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
1080 1080  
1081 -{{info}}
1082 -**AT Command: AT+RX2WTO**
1083 -{{/info}}
810 +AT Command: AT+RX2WTO
1084 1084  
1085 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1086 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1087 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1088 -|(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
812 +|=(% colspan="3" %)AT+ RX2WTO
813 +|**Command Example**|**Function**|**Response**
814 +|AT+RX2WTO=?|Get RXwindows2 timeout|7(((
1089 1089  OK
1090 1090  )))
1091 -|(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
817 +|AT+RX2WTO=20|Set RXwindows2 timeout|OK
1092 1092  
1093 -
1094 -
1095 1095  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1096 1096  
1097 1097  Feature: Get or Set uplinkdwelltime
1098 1098  
1099 -{{info}}
1100 -**AT Command: AT+DWELLT**
1101 -{{/info}}
823 +AT Command: AT+DWELLT
1102 1102  
1103 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1104 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1105 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1106 -|(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
825 +|=(% colspan="3" %)AT+DWELLT
826 +|**Command Example**|**Function**|**Response**
827 +|AT+DWELLT=?|Get uplinkdwelltime|1(((
1107 1107  OK
1108 1108  )))
1109 -|(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
830 +|AT+DWELLT=0|Set uplinkdwelltime|OK
1110 1110  
1111 -{{info}}
1112 -**Downlink Command: 0x25**
1113 -{{/info}}
832 +Downlink Command: 0x25
1114 1114  
1115 1115  Format: Command Code (0x25) followed by 1 bytes state value.
1116 1116  
1117 1117  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1118 1118  
1119 -* **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1
1120 -* **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0
838 +* Example 1: Downlink Payload: 2501 ~/~/ set uplinkdwelltime to 1
839 +* Example 2: Downlink Payload: 2500 ~/~/ set uplinkdwelltime to 0
1121 1121  
1122 -
1123 -
1124 1124  == 7.23 Set Packet Receiving Response Level ==
1125 1125  
1126 1126  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.
... ... @@ -1127,11 +1127,11 @@
1127 1127  
1128 1128  RPL value:
1129 1129  
1130 -* **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1131 -* **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1132 -* **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1133 -* **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1134 -* **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.
847 +* AT+RPL=0: Device won't immediately reply any downlink commands from platform.
848 +* AT+RPL=1: Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
849 +* AT+RPL=2: Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
850 +* AT+RPL=3: Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
851 +* 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.
1135 1135  
1136 1136  Case Analyes:
1137 1137  
... ... @@ -1139,48 +1139,37 @@
1139 1139  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1140 1140  * 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.
1141 1141  
1142 -{{info}}
1143 -**AT Command: AT+RPL**
1144 -{{/info}}
859 +AT Command: AT+RPL
1145 1145  
1146 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1147 -|=(% colspan="3" style="width: 533px;" %)AT+RPL
1148 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1149 -|(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
861 +|=(% colspan="3" %)AT+RPL
862 +|**Command Example**|**Function**|**Response**
863 +|AT+RPL=?|Get packet receiving response level|1(((
1150 1150  OK
1151 1151  )))
1152 -|(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK
866 +|AT+RPL=0|Set packet receiving response level|OK
1153 1153  
1154 -{{info}}
1155 -**Downlink Command: 0x21**
1156 -{{/info}}
868 +Downlink Command: 0x21
1157 1157  
1158 1158  Format: Command Code (0x21) followed by 1 bytes level value.
1159 1159  
1160 1160  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1161 1161  
1162 -* **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1
1163 -* **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2
874 +* Example 1: Downlink Payload: 2101 ~/~/ set packet receiving response level to 1
875 +* Example 2: Downlink Payload: 2102 ~/~/ set packet receiving response level to 2
1164 1164  
1165 -
1166 -
1167 1167  = 8. AT Commands Combination =
1168 1168  
1169 1169  == 8.1 Set a fix RX2DR for downlink window ==
1170 1170  
1171 -* **AT+ADR=0 **~-~-> Disable ADR first
1172 -* **AT+RX2DR=xxxx** ~-~-> Set xxxx to your wanted DataRate
881 +* AT+ADR=0 ~-~-> Disable ADR first
882 +* AT+RX2DR=xxxx ~-~-> Set xxxx to your wanted DataRate
1173 1173  
1174 -
1175 -
1176 1176  == 8.2 Use Downlink Command to set a fix uplink DR ==
1177 1177  
1178 -{{info}}
1179 -**Downlink Command: 0x22000500**
1180 -{{/info}}
886 +Downlink Command: 0x22000500
1181 1181  
1182 1182  Same as:
1183 1183  
1184 -* AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1185 -* AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1186 -* AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
890 +* AT+ADR=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Adaptive_Data_Rate]]
891 +* AT+DR=5 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Data_Rate]]
892 +* AT+TXP=0 [[Reference>>url:https://wiki.dragino.com/index.php/End_Device_Downlink_Command#Transmit_Power]]
image-20220511120050-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -136.3 KB
Content
image-20220526162535-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -149.4 KB
Content
Copyright ©2010-2022 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0