Version 52.5 by Xiaoling on 2022/08/12 16:24

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