Version 38.28 by Xiaoling on 2022/05/31 09:09

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