Version 38.79 by Xiaoling on 2022/05/31 09:19

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