Version 50.13 by Xiaoling on 2022/07/13 13:39

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