Version 52.2 by Xiaoling on 2022/08/12 14:59

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