Version 15.3 by Xiaoling on 2022/05/12 11:02

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