Version 52.4 by Xiaoling on 2022/08/12 15:58

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