Version 58.3 by Xiaoling on 2022/12/02 13:51

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