Version 51.5 by Xiaoling on 2022/07/13 14:11

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