Version 52.1 by Edwin Chen on 2022/07/23 11:23

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