Version 51.17 by Xiaoling on 2022/07/13 14:14

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