Version 51.7 by Xiaoling on 2022/07/13 14:12

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