Version 38.76 by Xiaoling on 2022/05/31 09:18

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