Version 48.1 by Edwin Chen on 2022/06/15 14:38

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