Version 50.18 by Xiaoling on 2022/07/13 13:49

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