Version 51.8 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
531
532 == 6.2 Confirm Status ==
533
534
535 Feature: Get confirmation status of the last AT+SEND (0-1).
536
537
538 (% style="color:blue" %)**AT Command: AT+CFS**
539
540 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
541 |=(% colspan="3" style="width: 531px;" %)AT+CFS
542 |(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
543 |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0(((
544 OK
545 )))
546
547
548
549 == 6.3 Join LoRa® Network ==
550
551
552 Feature: Join network.
553
554
555 (% style="color:blue" %)**AT Command: AT+JOIN**
556
557 (% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
558 |=(% colspan="3" style="width: 644px;" %)AT+JOIN
559 |(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
560 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
561 OK
562
563 While Error in format, return AT_BUSY_ERROR
564 )))
565
566 == 6.4 LoRa® Network Join Mode ==
567
568
569 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA).
570
571
572 (% style="color:blue" %)**AT Command: AT+NJM**
573
574 (% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
575 |=(% colspan="3" style="width: 750px;" %)AT+NJM
576 |(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
577 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
578 OK
579 )))
580 |(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK
581 |(% 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
582
583 (% style="color:blue" %)**Downlink Command: 0x20**
584
585 Format: Command Code (0x20) followed by 1 bytes mode value.
586
587 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
588
589 * **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0
590 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1
591
592
593 == 6.5 LoRa® Network Join Status ==
594
595
596 Feature: LoRa® Network Join Status.
597
598
599 (% style="color:blue" %)**AT Command: AT+NJS**
600
601 (% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
602 |=(% colspan="3" style="width: 495px;" %)AT+NJS
603 |(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
604 |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
605 OK
606 )))
607
608 == 6.6 Print Last Received Data in Raw Format ==
609
610
611 Feature: Print Last Received Data in Raw Format<port:data>.
612
613
614 (% style="color:blue" %)**AT Command: AT+RECV**
615
616 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
617 |=(% colspan="3" style="width: 584px;" %)AT+RECV
618 |(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
619 |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
620 OK
621 )))
622
623 == 6.7 Print Last Received Data in Binary Format ==
624
625
626 Feature: Print Last Received Data in Binary Format<port:data>.
627
628
629 (% style="color:blue" %)**AT Command: AT+RECVB**
630
631 (% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
632 |=(% colspan="3" style="width: 790px;" %)AT+RECVB
633 |(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
634 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
635 OK
636 )))
637
638 == 6.8 Send Text Data ==
639
640
641 Feature: Send Text Data<port:data>.
642
643
644 (% style="color:blue" %)**AT Command: AT+SEND**
645
646 (% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
647 |=(% colspan="3" style="width: 988px;" %)AT+SEND
648 |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
649 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
650 While Error in format, return
651
652 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
653
654
655 )))
656
657 == 6.9 Send Hexadecimal Data ==
658
659
660 Feature: Send hexadecimal data along with the application port.
661
662
663 (% style="color:blue" %)**AT Command: AT+SENDB**
664
665 (% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %)
666 |=(% colspan="3" style="width: 1117px;" %)AT+SENDB
667 |(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response**
668 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK
669 |(% 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(((
670 AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
671
672
673 )))
674
675 = 7. LoRaWAN network management =
676
677
678 == 7.1 Adaptive Data Rate ==
679
680
681 Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on).
682
683
684 (% style="color:blue" %)**AT Command: AT+ADR**
685
686 (% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
687 |=(% colspan="3" style="width: 680px;" %)AT+ADR
688 |(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
689 |(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
690 OK
691 )))
692 |(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
693 |(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
694 AT_PARAM_ERROR
695 )))
696
697 (% style="color:blue" %)**Downlink Command: 0x22**
698
699 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
700
701 * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
702 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0.
703
704
705 == 7.2 LoRa® Class ==
706
707
708 Feature: Get or Set the Device Class(Currently only support class A, class C).
709
710
711 (% style="color:blue" %)**AT Command:AT+CLASS**
712
713 (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
714 |=(% colspan="3" style="width: 504px;" %)AT+CLASS
715 |(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
716 |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
717 OK
718 )))
719 |(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
720
721 )))
722
723 == 7.3 Duty Cycle Setting ==
724
725
726 Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
727
728
729 (% style="color:blue" %)**AT Command:AT+DCS**
730
731 (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
732 |=(% colspan="3" style="width: 512px;" %)AT+DCS
733 |(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
734 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
735 OK
736 )))
737 |(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((
738
739 )))
740
741 == 7.4 Data Rate ==
742
743
744 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
745
746
747 (% style="color:blue" %)**AT Command: AT+DR**
748
749 (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
750 |=(% colspan="3" style="width: 463px;" %)AT+DR
751 |(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
752 |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
753 OK
754 )))
755 |(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
756
757 )))
758
759 (% style="color:blue" %)**Downlink Command: 0x2200aaFF**
760
761 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
762
763 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1.
764 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0.
765
766
767 == 7.5 Frame Counter Downlink ==
768
769
770 Feature: Get or Set the Frame Counter Downlink.
771
772
773 (% style="color:blue" %)**AT Command:AT+FCD**
774
775 (% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
776 |=(% colspan="3" style="width: 690px;" %)AT+FCD
777 |(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
778 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
779 OK
780 )))
781 |(% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)(((
782 OK
783 )))
784
785 == 7.6 Frame Counter Uplink ==
786
787 Feature: Get or Set the Frame Counter Uplink.
788
789
790 (% style="color:blue" %)**AT Command:AT+FCU**
791
792 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
793 |=(% colspan="3" style="width: 531px;" %)AT+FCU
794 |(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
795 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
796 OK
797 )))
798 |(% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK(((
799
800 )))
801
802 == 7.7 Join Accept Delay1 ==
803
804
805 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
806
807
808 (% style="color:blue" %)**AT Command:AT+JN1DL**
809
810 (% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
811 |=(% colspan="3" style="width: 534px;" %)AT+JN1DL
812 |(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
813 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
814 OK
815 )))
816 |(% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK(((
817
818 )))
819
820 == 7.8 Join Accept Delay2 ==
821
822 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
823
824
825 (% style="color:blue" %)**AT Command:AT+JN2DL**
826
827 (% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
828 |=(% colspan="3" style="width: 535px;" %)AT+JN2DL
829 |(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
830 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
831 OK
832 )))
833 |(% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK(((
834
835 )))
836
837 == 7.9 Public Network Mode ==
838
839
840 Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1
841
842 (% style="color:red" %)Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network
843
844
845 (% style="color:blue" %)**AT Command:AT+PNM**
846
847 (% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
848 |=(% colspan="3" style="width: 664px;" %)AT+PNM
849 |(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
850 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
851 OK
852 )))
853 |(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)(((
854 Set the public network mode.
855
856 Set syncword=0x34
857 )))|(% style="width:272px" %)(System will write new value to PNM)(((
858 OK
859
860
861 )))
862 |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
863
864 == 7.10 Receive Delay1 ==
865
866
867 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
868
869
870 (% style="color:blue" %)**AT Command:AT+RX1DL**
871
872 (% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
873 |=(% colspan="3" style="width: 405px;" %)AT+RX1DL
874 |(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
875 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
876 OK
877 )))
878 |(% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK(((
879
880 )))
881
882
883 == 7.11 Receive Delay2 ==
884
885
886 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
887
888
889 (% style="color:blue" %)**AT Command:AT+RX2DL**
890
891 (% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
892 |=(% colspan="3" style="width: 478px;" %)AT+RX2DL
893 |(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
894 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
895 OK
896 )))
897 |(% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK(((
898
899 )))
900
901
902 == 7.12 Rx2 Window Data Rate ==
903
904
905 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
906
907
908 (% style="color:blue" %)**AT Command:AT+RX2DR**
909
910 (% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
911 |=(% colspan="3" style="width: 522px;" %)AT+RX2DR
912 |(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
913 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
914 OK
915 )))
916 |(% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK(((
917
918 )))
919
920
921 == 7.13 Rx2 Window Frequency ==
922
923
924 Feature: Get or Set the Rx2 window frequency
925
926
927 (% style="color:blue" %)**AT Command:AT+RX2FQ**
928
929 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
930 |=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
931 |(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
932 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
933 OK
934 )))
935 |(% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK(((
936
937 )))
938
939
940 == 7.14 Transmit Power ==
941
942
943 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. )
944
945
946 (% style="color:blue" %)**AT Command:AT+TXP**
947
948 (% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
949 |=(% colspan="3" style="width: 462px;" %)AT+TXP
950 |(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
951 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
952 OK
953 )))
954 |(% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK(((
955
956 )))
957
958 Downlink Payload. The 4th byte of 0x22 downlink.
959
960 If the downlink payload=22000100, it means setting the TXP to 0.
961
962 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2.
963 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0.
964
965
966
967 == 7.15 RSSI of the Last Received Packet ==
968
969
970 Feature: Get or Set the Rx2 window frequency
971
972
973 (% style="color:blue" %)**AT Command:AT+RSSI**
974
975 (% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
976 |=(% colspan="3" style="width: 554px;" %)AT+RSSI
977 |(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
978 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
979 OK
980 )))
981
982
983 == 7.16 SNR of the Last Received Packet ==
984
985
986 Feature: Get the SNR of the last received packet
987
988
989 (% style="color:blue" %)**AT Command:AT+SNR**
990
991 (% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
992 |=(% colspan="3" style="width: 568px;" %)AT+SNR
993 |(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
994 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
995 OK
996 )))
997
998
999 == 7.17 Application Port ==
1000
1001
1002 Feature: Get or set the application port.
1003
1004
1005 (% style="color:blue" %)**AT Command: AT+PORT**
1006
1007 (% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
1008 |=(% colspan="3" style="width: 497px;" %)AT+PORT
1009 |(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
1010 |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
1011 OK
1012 )))
1013 |(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK
1014
1015 (% style="color:blue" %)**Downlink Command: 0x23**
1016
1017 Format: Command Code (0x23) followed by 1 bytes port value.
1018
1019 If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1020
1021 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1
1022 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5
1023
1024
1025
1026 == 7.18 Single Channel Mode ==
1027
1028
1029 Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode.
1030
1031
1032 (% style="color:blue" %)**AT Command: AT+CHS**
1033
1034 (% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1035 |=(% colspan="3" style="width: 600px;" %)AT+CHS
1036 |(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1037 |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
1038 OK
1039 )))
1040 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1041
1042
1043 == 7.19 Eight Channel Mode ==
1044
1045 Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
1046
1047
1048 (% style="color:blue" %)**AT Command: AT+CHE**
1049
1050 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1051 |=(% colspan="3" style="width: 707px;" %)AT+CHE
1052 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1053 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1054 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1055
1056 OK
1057 )))
1058 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
1059
1060 (% style="color:blue" %)**Downlink Command: 0x24**
1061
1062 Format: Command Code (0x24) followed by 1 bytes channel value.
1063
1064 If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1065
1066 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1
1067 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5
1068
1069
1070
1071 == 7.20 Get or Set RXwindows1 timeout ==
1072
1073
1074 Feature: Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
1075
1076
1077 (% style="color:blue" %)**AT Command: AT+RX1WTO**
1078
1079 (% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1080 |=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1081 |(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1082 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1083 OK
1084 )))
1085 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
1086
1087 (((
1088
1089
1090 **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.
1091
1092
1093 )))
1094
1095 [[image:image-20220526162535-1.png]]
1096
1097
1098 (((
1099 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.
1100
1101
1102 )))
1103
1104 == 7.21 Get or Set RXwindows2 timeout ==
1105
1106
1107 Feature: Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
1108
1109
1110 (% style="color:blue" %)**AT Command: AT+RX2WTO**
1111
1112 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1113 |=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1114 |(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1115 |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1116 OK
1117 )))
1118 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1119
1120
1121 == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1122
1123
1124 Feature: Get or Set uplinkdwelltime
1125
1126
1127 (% style="color:blue" %)**AT Command: AT+DWELLT**
1128
1129 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1130 |=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1131 |(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1132 |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1133 OK
1134 )))
1135 |(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
1136
1137 (% style="color:blue" %)**Downlink Command: 0x25**
1138
1139 Format: Command Code (0x25) followed by 1 bytes state value.
1140
1141 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1142
1143 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1
1144 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0
1145
1146
1147
1148 == 7.23 Set Packet Receiving Response Level ==
1149
1150
1151 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.
1152
1153
1154 RPL value:
1155
1156 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1157 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1158 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1159 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1160 * **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.
1161
1162
1163 Case Analyes:
1164
1165 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1166 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1167 * 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.
1168
1169
1170 (% style="color:blue" %)**AT Command: AT+RPL**
1171
1172 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1173 |=(% colspan="3" style="width: 533px;" %)AT+RPL
1174 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1175 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1176 OK
1177 )))
1178 |(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK
1179
1180 (% style="color:blue" %)**Downlink Command: 0x21**
1181
1182 Format: Command Code (0x21) followed by 1 bytes level value.
1183
1184 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1185
1186 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1
1187 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2
1188
1189
1190
1191 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1192
1193
1194 (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1195
1196 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1197 |=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS**
1198 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1199 |(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1(((
1200 OK
1201 )))
1202 |(% 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" %)(((
1203 1
1204
1205 OK
1206 )))
1207
1208 (% style="color:blue" %)**Downlink Command: 0x33**
1209
1210 Format: Command Code (0x33) followed by 2 bytes mode value.
1211
1212 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1213
1214 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0
1215 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1
1216
1217
1218
1219 == 7.25 Device offline rejoining (LWS007) ==
1220
1221
1222 (% style="color:blue" %)**AT Command: AT+DDETECT**
1223
1224 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1225 |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1226 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1227 |(% style="width:160px" %)(((
1228 AT+DDETECT=1,1440,2880
1229
1230 value1
1231 )))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1232 1
1233
1234 OK
1235 )))
1236 |(% style="width:160px" %)(((
1237 AT+DDETECT=1,?,2880
1238
1239 value2
1240 )))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1241
1242
1243 OK
1244 )))
1245 |(% style="width:160px" %)(((
1246 AT+DDETECT=1,1440,?
1247
1248 value3
1249 )))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1250
1251
1252 OK
1253 )))
1254
1255 (% style="color:blue" %)**Downlink Command: 0x33**
1256
1257 Format: Command Code (0x32) followed by 2 bytes mode value.
1258
1259 If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33.
1260
1261 * Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880
1262
1263
1264
1265 == 7.26 Request the server to send an ACK ==
1266
1267
1268 (% style="color:blue" %)**AT Command: AT+PNACKMD**
1269
1270 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1271 |=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1272 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1273 |(% 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(((
1274 OK
1275 )))
1276 |(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1277 0
1278
1279 OK
1280 )))
1281
1282
1283 == 7.27 Adjust network rejoining interval ==
1284
1285
1286 (% style="color:blue" %)**AT Command: AT+RJTDC**
1287
1288 (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1289 |=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1290 |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1291 |(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000(((
1292 OK
1293
1294 the interval is 30000ms = 30s
1295 )))
1296 |(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1297 Set the ReJoin data transmission interval to 60000ms = 60 seconds
1298 )))
1299
1300 (% style="color:blue" %)**Downlink Command: 0x26**
1301
1302 Format: Command Code (0x26) followed by 2 bytes mode value.
1303
1304 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1305
1306 * Example 1: Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10
1307 * Example 2: Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2
1308
1309
1310
1311 = 8. AT Commands Combination =
1312
1313
1314 == 8.1 Set a fix RX2DR for downlink window ==
1315
1316
1317 * **AT+ADR=0             ** **~-~->**  Disable ADR first
1318 * **AT+RX2DR=xxxx**  **~-~->**  Set xxxx to your wanted DataRate
1319
1320
1321
1322 == 8.2 Use Downlink Command to set a fix uplink DR ==
1323
1324
1325 (% style="color:blue" %)**Downlink Command: 0x22000500**
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"]]