Version 52.13 by Xiaoling on 2022/09/19 15:27

Show last authors
1 **Table of** **Contents:**
2
3 {{toc/}}
4
5
6
7 = 1. Introduction =
8
9
10 Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands:
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.
14
15 (((
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
18
19
20 )))
21
22 = 2. How to use AT Commands or Downlink command =
23
24
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:
27 ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
28 ** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]]
29 ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server)
30
31
32
33 = 3. Support End Node and firmware version =
34
35
36 (% border="1" style="background-color:#ffffcc; color:green; width:966px" %)
37 |=(% colspan="3" style="width: 963px;" %)(((
38 Dragino STM32 base hardware Firmware / LoRaWAN stack list
39 )))
40 |(% style="width:187px" %)(((
41 **Model**
42 )))|(% style="width:330px" %)(((
43 **Description**
44 )))|(% style="width:445px" %)(((
45 **Firmware Version <~-~-> Stack Version**
46 )))
47 |(% style="width:187px" %)(((
48 [[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]],
49 )))|(% style="width:330px" %)(((
50 Open Source Generic LoRaWAN Sensor Node
51 )))|(% style="width:445px" %)(((
52 (((
53 LSN50 v1.6.0 <~-~-> DR-LWS-003;
54 )))
55
56 (((
57 (((
58 LSN50 v1.7.0 <~-~-> DR-LWS-005; ~-~-> Support since this version
59 )))
60 )))
61 )))
62 |(% style="width:187px" %)(((
63 [[LGT92>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/142-lgt-92.html]],
64 )))|(% style="width:330px" %)(((
65 LoRaWAN GPS Tracker
66 )))|(% style="width:445px" %)(((
67 (((
68 LGT92 v1.6.3 <~-~-> DR-LWS-003;
69 )))
70
71 (((
72 (((
73 LGT92 v1.6.4 <~-~-> DR-LWS-005;~-~-> Support since this version
74 )))
75 )))
76 )))
77 |(% style="width:187px" %)(((
78 [[LBT1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/165-lbt1.html]],
79 )))|(% style="width:330px" %)(((
80 LoRaWAN BLE Indoor Tracker
81 )))|(% style="width:445px" %)(((
82 LBT1 v1.0 <~-~-> DR-LWS-005;
83 )))
84 |(% style="width:187px" %)(((
85 [[RS485-LN>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/154-rs485-ln.html]],
86 )))|(% style="width:330px" %)(((
87 LoRaWAN RS485 Modbus Converter
88 )))|(% style="width:445px" %)(((
89 RS485-LN v1.3 <~-~-> DR-LWS-005;
90 )))
91 |(% style="width:187px" %)(((
92 [[LHT65>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/151-lht65.html]],
93 )))|(% style="width:330px" %)(((
94 LoRaWAN Temperature & Humidity Sensor
95 )))|(% style="width:445px" %)(((
96 (((
97 LHT65 v1.7 <~-~-> DR-LWS-003;
98 )))
99
100 (((
101 (((
102 LHT65 v1.8.0 <~-~-> DR-LWS-005;~-~-> Support since this version
103 )))
104 )))
105 )))
106
107
108
109 = 4. System Management Commands =
110
111
112 == 4.1 Change Uplink Interval ==
113
114
115 Feature: Change LoRaWAN End Node Transmit Interval.
116
117
118 (% style="color:blue" %)**AT Command: AT+TDC**
119
120 (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
121 |=(% colspan="3" style="width: 724px;" %)AT+TDC
122 |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
123 |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
124 OK
125
126 the interval is 30000ms = 30s
127 )))
128 |(% style="width:165px" %)AT+TDC=60000|(% style="width:227px" %)Set Transmit Interval|(% style="width:329px" %)OK(((
129 Set transmit interval to 60000ms = 60 seconds
130 )))
131
132 (((
133
134
135 (% style="color:blue" %)**Downlink Command: 0x01**
136
137 Format: Command Code (0x01) followed by 3 bytes time value.
138 )))
139
140 (((
141 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
142 )))
143
144 * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
145 * **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
146
147
148
149 == 4.2 Reboot End Node ==
150
151
152 Feature: Reboot End Node to perform a new OTAA or ABP Join.
153
154
155 (% style="color:blue" %)**AT Command: ATZ**
156
157 (% border="1" style="background-color:#ffffcc; color:green; width:546px" %)
158 |=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU
159 |(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response**
160 |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
161 Device reset and show booting info
162
163 LSN50 Device/LoRa ST Module
164
165 Image Version: XX
166
167 Frequency Band: XX
168
169 DevEui= XX XX XX XX XX XX XX XX
170
171 <followed by the Tx and Rx information>
172 )))
173
174 (% style="color:blue" %)**Downlink Command: 0x04**
175
176 (((
177 Format: Command Code (0x04) followed by FF.
178 )))
179
180 (((
181 If the downlink payload=**04FF**, the end node will reboot.
182
183
184
185 )))
186
187 == 4.3 Reset to factory Default ==
188
189
190 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.
191
192
193 (% style="color:blue" %)**AT Command: AT+FDR**
194
195 (% border="1" style="background-color:#ffffcc; color:green; width:789px" %)
196 |=(% colspan="3" style="width: 786px;" %)Reset to factory default
197 |(% style="width:154px" %)**Command Example**|(% style="width:175px" %)**Function**|(% style="width:456px" %)**Response**
198 |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
199 Device reset to factory default parameters and show booting info
200
201 LSN50 Device/LoRa ST Module
202
203 Image Version: XX
204
205 Frequency Band: XX
206
207 DevEui= XX XX XX XX XX XX XX XX
208
209 Please set the parameters or reset Device to apply change
210 )))
211
212 (% style="color:blue" %)**Downlink Command: 0x04**
213
214 (((
215 Format: Command Code (0x04) followed by FE.
216 )))
217
218 (((
219 If the downlink payload=**04FE**, Reset Parameters to Factory Default, Keys Reserve.
220 )))
221
222
223
224 == 4.4 Show Firmware Version ==
225
226
227 Feature: Show firmware version. No downlink command yet.
228
229
230 (% style="color:blue" %)**AT Command: AT+VER**
231
232 (% border="1" style="background-color:#ffffcc; color:green; width:542px" %)
233 |=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band
234 |(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response**
235 |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
236 1.3 EU868
237
238 OK
239 )))
240
241 (% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)**
242
243 (((
244 Downlink Format: 0x26
245 )))
246
247 (((
248 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
249 )))
250
251 (((
252
253
254
255 **xx: Software Type:**
256 )))
257
258 * 0x00 01: LGT92 Version
259 * 0x00 02: LBT1
260 * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01
261
262 (((
263
264
265 **yy: Frequency Band:**
266 )))
267
268 * 0x01: EU868
269 * 0x02: US915
270 * 0x03: IN865
271 * 0x04: AU915
272 * 0x05: KZ865
273 * 0x06: RU864
274 * 0x07: AS923
275 * 0x08: AS923-1
276 * 0x09: AS923-2
277 * 0xa0: AS923-3
278
279 (((
280
281
282 **zz: Subband**
283 )))
284
285 firmware version: v1.1.0 ~-~-> 110
286
287
288
289 == 4.5 Show System Configure ==
290
291
292 Feature: Show All configure. No downlink command yet.
293
294
295 (% style="color:blue" %)**AT Command: AT+CFG**
296
297 (% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
298 |=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
299 |(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
300 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
301 AT+DEUI = XX XX XX XX XX XX XX XX
302
303 AT+DADDR=XXXXXXXX
304
305 ……….
306
307 AT+RX2WTO=X
308
309 AT+CHS=868100000
310
311 OK
312 )))
313
314
315
316 = 5. Keys, IDs and EUIs management =
317
318
319 == 5.1 Application EUI ==
320
321
322 Feature: Get or Set the Application EUI.
323
324
325 (% style="color:blue" %)**AT Command: AT+APPEUI**
326
327 (% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
328 |=(% colspan="3" style="width: 683px;" %)AT+APPEUI
329 |(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
330 |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
331 OK
332 )))
333 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK
334
335
336
337 == 5.2 Application Key ==
338
339
340 Feature: Get or Set the Application Key.
341
342
343 (% style="color:blue" %)**AT Command: AT+APPKEY**
344
345 (% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
346 |=(% colspan="3" style="width: 973px;" %)AT+APPKEY
347 |(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
348 |(% 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(((
349 OK
350 )))
351 |(% 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
352
353
354
355 == 5.3 Application Session Key ==
356
357
358 Feature: Get or Set the Application Session Key.
359
360
361 (% style="color:blue" %)**AT Command: AT+APPSKEY**
362
363 (% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
364 |=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
365 |(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
366 |(% 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(((
367 OK
368 )))
369 |(% 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)(((
370 OK
371 )))
372
373
374
375 == 5.4 Device Address ==
376
377
378 Feature: Get or Set the Device Address.
379
380
381 (% style="color:blue" %)**AT Command: AT+DADDR**
382
383 (% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %)
384 |=(% colspan="3" style="width: 792px;" %)AT+DADDR
385 |(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response**
386 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
387 A8 40 41 FF
388
389 OK
390 )))
391 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK
392
393
394
395 == 5.5 Device EUI ==
396
397
398 Feature: Get or Set the Device EUI.
399
400
401 (% style="color:blue" %)**AT Command: AT+DEUI**
402
403 (% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
404 |=(% colspan="3" style="width: 1032px;" %)AT+DEUI
405 |(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
406 |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
407 OK
408 )))
409 |(% 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)(((
410 OK
411 )))
412
413
414
415 == 5.6 Network ID ==
416
417
418 Feature: Get or Set the Network ID.(You can enter this command change only after successful network connection)
419
420
421 (% style="color:blue" %)**AT Command: AT+NWKID**
422
423 (% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
424 |=(% colspan="3" style="width: 445px;" %)AT+NWKID
425 |(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
426 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
427 OK
428 )))
429 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK
430
431
432
433 == 5.7 Network Session Key ==
434
435
436 Feature: Get or Set the Network Session Key
437
438
439 (% style="color:blue" %)**AT Command: AT+NWKSKEY**
440
441 (% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
442 |=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
443 |(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
444 |(% 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(((
445 OK
446 )))
447 |(% 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
448
449
450
451 = 6. Joining and sending date on LoRaWAN network =
452
453
454 == 6.1 Confirm Mode ==
455
456
457 === 6.1.1  AT+CFM command before DR-LWS007 software stack ===
458
459
460 Feature: Get or Set the confirmation mode (0-1).
461
462
463 (% style="color:blue" %)**AT Command: AT+CFM**
464
465 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
466 |=(% colspan="3" style="width: 707px;" %)AT+CFM
467 |(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
468 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
469 OK
470 )))
471 |(% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK
472 |(% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR
473
474 (% style="color:blue" %)**Downlink Command: 0x05**
475
476 Format: Command Code (0x05) followed by 2 bytes mode value.
477
478 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
479
480 * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
481 * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
482
483
484
485 === 6.1.2  AT+CFM command since DR-LWS007 software stack ===
486
487
488 (% style="color:blue" %)**AT Command: AT+CFM**
489
490 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
491 |=(% colspan="3" style="width: 707px;" %)AT+CFM
492 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
493 |(% style="width:160px" %)(((
494 AT+CFM=1,0,0
495
496 value1
497 )))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
498 1
499
500 OK
501 )))
502 |(% style="width:160px" %)(((
503 AT+CFM=0,?,0
504
505 value2
506 )))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)(((
507 0~~7
508
509 OK
510 )))
511 |(% style="width:160px" %)(((
512 AT+CFM=0,0,1
513
514 value3
515 )))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)(((
516 1
517
518 OK
519 )))
520
521 (% style="color:blue" %)**Downlink Command: 0x05**
522
523 Format: Command Code (0x05) followed by 2 bytes mode value.
524
525 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
526
527 * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
528 * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
529
530
531
532 == 6.2 Confirm Status ==
533
534
535 Feature: Get confirmation status of the last AT+SEND (0-1).
536
537
538 (% style="color:blue" %)**AT Command: AT+CFS**
539
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(((
544 OK
545 )))
546
547
548
549 == 6.3 Join LoRa® Network ==
550
551
552 Feature: Join network.
553
554
555 (% style="color:blue" %)**AT Command: AT+JOIN**
556
557 (% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
558 |=(% colspan="3" style="width: 644px;" %)AT+JOIN
559 |(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
560 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
561 OK
562
563 While Error in format, return AT_BUSY_ERROR
564 )))
565
566
567
568 == 6.4 LoRa® Network Join Mode ==
569
570
571 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA).
572
573
574 (% style="color:blue" %)**AT Command: AT+NJM**
575
576 (% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
577 |=(% colspan="3" style="width: 750px;" %)AT+NJM
578 |(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
579 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
580 OK
581 )))
582 |(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK
583 |(% 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
584
585 (% style="color:blue" %)**Downlink Command: 0x20**
586
587 Format: Command Code (0x20) followed by 1 bytes mode value.
588
589 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
590
591 * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
592 * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
593
594
595
596 == 6.5 LoRa® Network Join Status ==
597
598
599 Feature: LoRa® Network Join Status.
600
601
602 (% style="color:blue" %)**AT Command: AT+NJS**
603
604 (% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
605 |=(% colspan="3" style="width: 495px;" %)AT+NJS
606 |(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
607 |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
608 OK
609 )))
610
611
612
613 == 6.6 Print Last Received Data in Raw Format ==
614
615
616 Feature: Print Last Received Data in Raw Format<port:data>.
617
618
619 (% style="color:blue" %)**AT Command: AT+RECV**
620
621 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
622 |=(% colspan="3" style="width: 584px;" %)AT+RECV
623 |(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
624 |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
625 OK
626 )))
627
628
629
630 == 6.7 Print Last Received Data in Binary Format ==
631
632
633 Feature: Print Last Received Data in Binary Format<port:data>.
634
635
636 (% style="color:blue" %)**AT Command: AT+RECVB**
637
638 (% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
639 |=(% colspan="3" style="width: 790px;" %)AT+RECVB
640 |(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
641 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
642 OK
643 )))
644
645
646
647 == 6.8 Send Text Data ==
648
649
650 Feature: Send Text Data<port:data>.
651
652
653 (% style="color:blue" %)**AT Command: AT+SEND**
654
655 (% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
656 |=(% colspan="3" style="width: 988px;" %)AT+SEND
657 |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
658 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
659 While Error in format, return
660
661 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
662
663
664 )))
665
666
667
668 == 6.9 Send Hexadecimal Data ==
669
670
671 Feature: Send hexadecimal data along with the application port.
672
673
674 (% style="color:blue" %)**AT Command: AT+SENDB**
675
676 (% border="1" style="background-color:#ffffcc; color:green; width:1101px" %)
677 |=(% colspan="3" style="width: 1098px;" %)AT+SENDB
678 |(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response**
679 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK
680 |(% 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(((
681 AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
682
683
684 )))
685
686
687
688 = 7. LoRaWAN network management =
689
690
691 == 7.1 Adaptive Data Rate ==
692
693
694 Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on).
695
696
697 (% style="color:blue" %)**AT Command: AT+ADR**
698
699 (% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
700 |=(% colspan="3" style="width: 680px;" %)AT+ADR
701 |(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
702 |(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
703 OK
704 )))
705 |(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
706 |(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
707 AT_PARAM_ERROR
708 )))
709
710 (% style="color:blue" %)**Downlink Command: 0x22**
711
712 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
713
714 * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
715 * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
716
717
718
719 == 7.2 LoRa® Class ==
720
721
722 Feature: Get or Set the Device Class(Currently only support class A, class C).
723
724
725 (% style="color:blue" %)**AT Command:  AT+CLASS**
726
727 (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
728 |=(% colspan="3" style="width: 504px;" %)AT+CLASS
729 |(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
730 |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
731 OK
732 )))
733 |(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
734
735 )))
736
737
738
739 == 7.3 Duty Cycle Setting ==
740
741
742 Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing.
743
744
745 (% style="color:blue" %)**AT Command:  AT+DCS**
746
747 (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
748 |=(% colspan="3" style="width: 512px;" %)AT+DCS
749 |(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
750 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
751 OK
752 )))
753 |(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((
754
755 )))
756
757
758
759 == 7.4 Data Rate ==
760
761
762 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
763
764
765 (% style="color:blue" %)**AT Command: AT+DR**
766
767 (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
768 |=(% colspan="3" style="width: 463px;" %)AT+DR
769 |(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
770 |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
771 OK
772 )))
773 |(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
774
775 )))
776
777 (% style="color:blue" %)**Downlink Command: 0x2200aaFF**
778
779 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
780
781 * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
782 * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
783
784
785
786 == 7.5 Frame Counter Downlink ==
787
788
789 Feature: Get or Set the Frame Counter Downlink.
790
791
792 (% style="color:blue" %)**AT Command:  AT+FCD**
793
794 (% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
795 |=(% colspan="3" style="width: 690px;" %)AT+FCD
796 |(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
797 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
798 OK
799 )))
800 |(% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)(((
801 OK
802 )))
803
804
805
806 == 7.6 Frame Counter Uplink ==
807
808 Feature: Get or Set the Frame Counter Uplink.
809
810
811 (% style="color:blue" %)**AT Command:  AT+FCU**
812
813 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
814 |=(% colspan="3" style="width: 531px;" %)AT+FCU
815 |(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
816 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
817 OK
818 )))
819 |(% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK(((
820
821 )))
822
823
824
825 == 7.7 Join Accept Delay1 ==
826
827
828 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
829
830
831 (% style="color:blue" %)**AT Command:  AT+JN1DL**
832
833 (% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
834 |=(% colspan="3" style="width: 534px;" %)AT+JN1DL
835 |(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
836 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
837 OK
838 )))
839 |(% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK(((
840
841 )))
842
843
844
845 == 7.8 Join Accept Delay2 ==
846
847
848 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
849
850
851 (% style="color:blue" %)**AT Command:  AT+JN2DL**
852
853 (% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
854 |=(% colspan="3" style="width: 535px;" %)AT+JN2DL
855 |(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
856 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
857 OK
858 )))
859 |(% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK(((
860
861 )))
862
863
864
865 == 7.9 Public Network Mode ==
866
867
868 Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1
869
870 (% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.**
871
872
873 (% style="color:blue" %)**AT Command:  AT+PNM**
874
875 (% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
876 |=(% colspan="3" style="width: 664px;" %)AT+PNM
877 |(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
878 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
879 OK
880 )))
881 |(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)(((
882 Set the public network mode.
883
884 Set syncword=0x34
885 )))|(% style="width:272px" %)(System will write new value to PNM)(((
886 OK
887
888
889 )))
890 |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
891
892
893
894 == 7.10 Receive Delay1 ==
895
896
897 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
898
899
900 (% style="color:blue" %)**AT Command: AT+RX1DL**
901
902 (% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
903 |=(% colspan="3" style="width: 405px;" %)AT+RX1DL
904 |(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
905 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
906 OK
907 )))
908 |(% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK(((
909
910 )))
911
912
913
914 == 7.11 Receive Delay2 ==
915
916
917 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
918
919
920 (% style="color:blue" %)**AT Command: AT+RX2DL**
921
922 (% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
923 |=(% colspan="3" style="width: 478px;" %)AT+RX2DL
924 |(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
925 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
926 OK
927 )))
928 |(% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK(((
929
930 )))
931
932
933
934 == 7.12 Rx2 Window Data Rate ==
935
936
937 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
938
939
940 (% style="color:blue" %)**AT Command:  AT+RX2DR**
941
942 (% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
943 |=(% colspan="3" style="width: 522px;" %)AT+RX2DR
944 |(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
945 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
946 OK
947 )))
948 |(% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK(((
949
950 )))
951
952
953
954 == 7.13 Rx2 Window Frequency ==
955
956
957 Feature: Get or Set the Rx2 window frequency
958
959
960 (% style="color:blue" %)**AT Command:  AT+RX2FQ**
961
962 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
963 |=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
964 |(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
965 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
966 OK
967 )))
968 |(% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK(((
969
970 )))
971
972
973
974 == 7.14 Transmit Power ==
975
976
977 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. )
978
979 (% 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**
980
981
982 (% style="color:blue" %)**AT Command:  AT+TXP**
983
984 (% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
985 |=(% colspan="3" style="width: 462px;" %)AT+TXP
986 |(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
987 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
988 OK
989 )))
990 |(% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK(((
991
992 )))
993
994 Downlink Payload. The 4th byte of 0x22 downlink.
995
996 If the downlink payload=22000100, it means setting the TXP to 0.
997
998 * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
999 * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+TXP=0.
1000
1001
1002
1003 == 7.15 RSSI of the Last Received Packet ==
1004
1005
1006 Feature: Get or Set the Rx2 window frequency
1007
1008
1009 (% style="color:blue" %)**AT Command:AT+RSSI**
1010
1011 (% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
1012 |=(% colspan="3" style="width: 554px;" %)AT+RSSI
1013 |(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
1014 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
1015 OK
1016 )))
1017
1018
1019
1020 == 7.16 SNR of the Last Received Packet ==
1021
1022
1023 Feature: Get the SNR of the last received packet
1024
1025
1026 (% style="color:blue" %)**AT Command:  AT+SNR**
1027
1028 (% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
1029 |=(% colspan="3" style="width: 568px;" %)AT+SNR
1030 |(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
1031 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
1032 OK
1033 )))
1034
1035
1036
1037 == 7.17 Application Port ==
1038
1039
1040 Feature: Get or set the application port.
1041
1042
1043 (% style="color:blue" %)**AT Command: AT+PORT**
1044
1045 (% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
1046 |=(% colspan="3" style="width: 497px;" %)AT+PORT
1047 |(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
1048 |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
1049 OK
1050 )))
1051 |(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK
1052
1053 (% style="color:blue" %)**Downlink Command: 0x23**
1054
1055 Format: Command Code (0x23) followed by 1 bytes port value.
1056
1057 If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1058
1059 * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1060 * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1061
1062
1063
1064 == 7.18 Single Channel Mode ==
1065
1066
1067 Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode.
1068
1069
1070 (% style="color:blue" %)**AT Command: AT+CHS**
1071
1072 (% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1073 |=(% colspan="3" style="width: 600px;" %)AT+CHS
1074 |(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1075 |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
1076 OK
1077 )))
1078 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1079
1080
1081
1082 == 7.19 Eight Channel Mode ==
1083
1084
1085 Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
1086
1087
1088 (% style="color:blue" %)**AT Command: AT+CHE**
1089
1090 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1091 |=(% colspan="3" style="width: 707px;" %)AT+CHE
1092 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1093 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1094 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1095
1096 OK
1097 )))
1098 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
1099
1100 (% style="color:blue" %)**Downlink Command: 0x24**
1101
1102 Format: Command Code (0x24) followed by 1 bytes channel value.
1103
1104 If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1105
1106 * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1107 * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1108
1109
1110
1111 == 7.20 Get or Set RXwindows1 timeout ==
1112
1113
1114 Feature: Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
1115
1116
1117 (% style="color:blue" %)**AT Command: AT+RX1WTO**
1118
1119 (% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1120 |=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1121 |(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1122 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1123 OK
1124 )))
1125 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
1126
1127 (((
1128
1129
1130
1131 (% 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.
1132
1133
1134 )))
1135
1136 [[image:image-20220526162535-1.png]]
1137
1138
1139 (((
1140 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.
1141
1142
1143
1144 )))
1145
1146 == 7.21 Get or Set RXwindows2 timeout ==
1147
1148
1149 Feature: Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
1150
1151
1152 (% style="color:blue" %)**AT Command: AT+RX2WTO**
1153
1154 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1155 |=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1156 |(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1157 |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1158 OK
1159 )))
1160 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1161
1162
1163
1164 == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1165
1166
1167 Feature: Get or Set uplinkdwelltime
1168
1169
1170 (% style="color:blue" %)**AT Command: AT+DWELLT**
1171
1172 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1173 |=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1174 |(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1175 |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1176 OK
1177 )))
1178 |(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
1179
1180 (% style="color:blue" %)**Downlink Command: 0x25**
1181
1182 Format: Command Code (0x25) followed by 1 bytes state value.
1183
1184 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1185
1186 * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1187 * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1188
1189
1190
1191 == 7.23 Set Packet Receiving Response Level ==
1192
1193
1194 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.
1195
1196
1197 **RPL value:**
1198
1199 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1200 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1201 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1202 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1203 * **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.
1204
1205 **Case Analyes:**
1206
1207 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1208 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1209 * 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.
1210
1211
1212 (% style="color:blue" %)**AT Command: AT+RPL**
1213
1214 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1215 |=(% colspan="3" style="width: 533px;" %)AT+RPL
1216 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1217 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1218 OK
1219 )))
1220 |(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK
1221
1222 (% style="color:blue" %)**Downlink Command: 0x21**
1223
1224 Format: Command Code (0x21) followed by 1 bytes level value.
1225
1226 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1227
1228 * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1229 * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1230
1231
1232
1233 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1234
1235
1236 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1237
1238 (% border="1" style="background-color:#ffffcc; color:green; width:589px" %)
1239 |=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS**
1240 |(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response**
1241 |(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1242 OK
1243 )))
1244 |(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1245 value2: 0: uplink fcnt doesn't change for each NBTrans;
1246
1247 1: uplink fcnt increase by 1 for each NBTrans.
1248 )))|(% style="width:87px" %)(((
1249 1
1250
1251 OK
1252 )))
1253
1254 (% style="color:blue" %)**Downlink Command: 0x33**
1255
1256 Format: Command Code (0x33) followed by 2 bytes mode value.
1257
1258 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1259
1260 * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1261 * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1262
1263
1264
1265 == 7.25 Device offline rejoining (LWS007) ==
1266
1267
1268 (% style="color:blue" %)**AT Command: AT+DDETECT**
1269
1270 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1271 |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1272 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1273 |(% style="width:160px" %)(((
1274 AT+DDETECT=1,1440,2880
1275
1276 value1
1277 )))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1278 1
1279
1280 OK
1281 )))
1282 |(% style="width:160px" %)(((
1283 AT+DDETECT=1,?,2880
1284
1285 value2
1286 )))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1287
1288
1289 OK
1290 )))
1291 |(% style="width:160px" %)(((
1292 AT+DDETECT=1,1440,?
1293
1294 value3
1295 )))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1296
1297
1298 OK
1299 )))
1300
1301 (% style="color:blue" %)**Downlink Command: 0x33**
1302
1303 Format: Command Code (0x32) followed by 2 bytes mode value.
1304
1305 If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33.
1306
1307 * **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1308
1309
1310
1311 == 7.26 Request the server to send an ACK ==
1312
1313
1314 (% style="color:blue" %)**AT Command: AT+PNACKMD**
1315
1316 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1317 |=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1318 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1319 |(% style="width:160px" %)**AT+PNACKMD=1**|(% style="width:263px" %)If the node uploads the ACK as confirm, it will request the server to send an ACK. If the server ack is not received, the node will upload the packets that have not received the ACK the next time it receives the ACK|(% style="width:109px" %)1(((
1320 OK
1321 )))
1322 |(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1323 0
1324
1325 OK
1326 )))
1327
1328
1329
1330
1331 == 7.27 Adjust network rejoining interval ==
1332
1333
1334 (% style="color:blue" %)**AT Command: AT+RJTDC**
1335
1336 (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1337 |=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1338 |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1339 |(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000(((
1340 OK
1341
1342 the interval is 30000ms = 30s
1343 )))
1344 |(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1345 Set the ReJoin data transmission interval to 60000ms = 60 seconds
1346 )))
1347
1348 (% style="color:blue" %)**Downlink Command: 0x26**
1349
1350 Format: Command Code (0x26) followed by 2 bytes mode value.
1351
1352 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1353
1354 * **Example 1:** Downlink Payload: 26000A  ~/~/ Set AT+RJTDC=10
1355 * **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1356
1357
1358
1359 = 8. AT Commands Combination =
1360
1361
1362 == 8.1 Set a fix RX2DR for downlink window ==
1363
1364
1365 * (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1366 * (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1367
1368
1369
1370 == 8.2 Use Downlink Command to set a fix uplink DR ==
1371
1372
1373 (% style="color:blue" %)**Downlink Command: 0x22000500**
1374
1375 **Same as:**
1376
1377 * AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1378 * AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1379 * AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1380
1381