Version 60.6 by Xiaoling on 2023/03/27 14:04

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