Version 38.98 by Xiaoling on 2022/05/31 09:22

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