Version 38.109 by Xiaoling on 2022/06/01 11:55

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