Version 51.22 by Xiaoling on 2022/07/13 14:32

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