Version 22.1 by Xiaoling on 2022/05/27 17:54

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