Version 52.12 by Xiaoling on 2022/09/19 15:25

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