Version 51.3 by Xiaoling on 2022/07/13 14:09

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