Version 38.132 by Xiaoling on 2022/06/01 11:59

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