Version 50.16 by Xiaoling on 2022/07/13 13:47

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