Version 55.1 by Edwin Chen on 2022/10/16 07:43

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