Version 53.2 by Xiaoling on 2022/10/15 16:48

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