Version 50.3 by Xiaoling on 2022/07/13 11:50

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 (% class="box infomessage" %)
115 (((
116 **AT Command: AT+TDC**
117 )))
118
119 (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
120 |=(% colspan="3" style="width: 724px;" %)AT+TDC
121 |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
122 |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
123 OK
124
125 the interval is 30000ms = 30s
126 )))
127 |(% style="width:165px" %)AT+TDC=60000|(% style="width:227px" %)Set Transmit Interval|(% style="width:329px" %)OK(((
128 Set transmit interval to 60000ms = 60 seconds
129 )))
130
131 {{info}}
132 **Downlink Command: 0x01**
133 {{/info}}
134
135 (((
136 Format: Command Code (0x01) followed by 3 bytes time value.
137 )))
138
139 (((
140 If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01.
141 )))
142
143 * **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds
144 * **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds
145
146
147
148 == 4.2 Reboot End Node ==
149
150 Feature: Reboot End Node to perform a new OTAA or ABP Join.
151
152 {{info}}
153 **AT Command: ATZ**
154 {{/info}}
155
156 (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
157 |=(% colspan="3" %)ATZ: Trig a reset of the MCU
158 |**Command Example**|**Function**|**Response**
159 |ATZ|Reset MCU|(((
160 Device reset and show booting info
161
162 LSN50 Device/LoRa ST Module
163
164 Image Version: XX
165
166 Frequency Band: XX
167
168 DevEui= XX XX XX XX XX XX XX XX
169
170 <followed by the Tx and Rx information>
171 )))
172
173 {{info}}
174 **Downlink Command: 0x04**
175 {{/info}}
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 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.
190
191 {{info}}
192 **AT Command: AT+FDR**
193 {{/info}}
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 {{info}}
213 **Downlink Command: 0x04**
214 {{/info}}
215
216 (((
217 Format: Command Code (0x04) followed by FE.
218 )))
219
220 (((
221 If the downlink payload=**04FE**, Reset Parameters to Factory Default, Keys Reserve.
222 )))
223
224
225 == 4.4 Show Firmware Version ==
226
227 Feature: Show firmware version. No downlink command yet.
228
229 {{info}}
230 **AT Command: AT+VER**
231 {{/info}}
232
233 (% border="1" style="background-color:#ffffcc; color:green; width:586px" %)
234 |=(% colspan="3" style="width: 583px;" %)AT+VER: Image Version and Frequency Band
235 |(% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response**
236 |(% style="width:170px" %)AT+VER=?|(% style="width:300px" %)Show Image version and Frequency Band|(% style="width:113px" %)(((
237 1.3 EU868
238
239 OK
240 )))
241
242 {{info}}
243 **Downlink Command: 0x26 (Valid in 006 stack)**
244 {{/info}}
245
246 (((
247 Downlink Format: 0x26
248 )))
249
250 (((
251 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
252 )))
253
254 (((
255 **xx: Software Type:**
256 )))
257
258 * 0x00 01: LGT92 Version
259 * 0x00 02: LBT1
260 * 0x00 03: LSE01/LDDS75/LDDS20/LSPH01/LLMS01/LSNPK01
261
262 (((
263 **yy: Frequency Band:**
264 )))
265
266 * 0x01: EU868
267 * 0x02: US915
268 * 0x03: IN865
269 * 0x04: AU915
270 * 0x05: KZ865
271 * 0x06: RU864
272 * 0x07: AS923
273 * 0x08: AS923-1
274 * 0x09: AS923-2
275 * 0xa0: AS923-3
276
277 (((
278 **zz: Subband**
279 )))
280
281 firmware version: v1.1.0 ~-~-> 110
282
283
284 == 4.5 Show System Configure ==
285
286 Feature: Show All configure. No downlink command yet.
287
288 {{info}}
289 **AT Command: AT+CFG**
290 {{/info}}
291
292 (% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
293 |=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
294 |(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
295 |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
296 AT+DEUI = XX XX XX XX XX XX XX XX
297
298 AT+DADDR=XXXXXXXX
299
300 ……….
301
302 AT+RX2WTO=X
303
304 AT+CHS=868100000
305
306 OK
307 )))
308
309 = 5. Keys, IDs and EUIs management =
310
311 == 5.1 Application EUI ==
312
313 Feature: Get or Set the Application EUI.
314
315 {{info}}
316 **AT Command: AT+APPEUI**
317 {{/info}}
318
319 (% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
320 |=(% colspan="3" style="width: 683px;" %)AT+APPEUI
321 |(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
322 |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
323 OK
324 )))
325 |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK
326
327 == 5.2 Application Key ==
328
329 Feature: Get or Set the Application Key.
330
331 {{info}}
332 **AT Command: AT+APPKEY**
333 {{/info}}
334
335 (% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
336 |=(% colspan="3" style="width: 973px;" %)AT+APPKEY
337 |(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
338 |(% 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(((
339 OK
340 )))
341 |(% 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
342
343 == 5.3 Application Session Key ==
344
345 Feature: Get or Set the Application Session Key.
346
347 {{info}}
348 **AT Command: AT+APPSKEY**
349 {{/info}}
350
351 (% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
352 |=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
353 |(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
354 |(% 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(((
355 OK
356 )))
357 |(% 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)(((
358 OK
359 )))
360
361 == 5.4 Device Address ==
362
363 Feature: Get or Set the Device Address.
364
365 {{info}}
366 **AT Command: AT+DADDR**
367 {{/info}}
368
369 (% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %)
370 |=(% colspan="3" style="width: 792px;" %)AT+DADDR
371 |(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response**
372 |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
373 A8 40 41 FF
374
375 OK
376 )))
377 |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK
378
379 == 5.5 Device EUI ==
380
381 Feature: Get or Set the Device EUI.
382
383 {{info}}
384 **AT Command: AT+DEUI**
385 {{/info}}
386
387 (% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
388 |=(% colspan="3" style="width: 1032px;" %)AT+DEUI
389 |(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
390 |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
391 OK
392 )))
393 |(% 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)(((
394 OK
395 )))
396
397 == 5.6 Network ID ==
398
399 Feature: Get or Set the Network ID.(You can enter this command change only after successful network connection)
400
401 {{info}}
402 **AT Command: AT+NWKID**
403 {{/info}}
404
405 (% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
406 |=(% colspan="3" style="width: 445px;" %)AT+NWKID
407 |(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
408 |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
409 OK
410 )))
411 |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK
412
413 == 5.7 Network Session Key ==
414
415 Feature: Get or Set the Network Session Key
416
417 {{info}}
418 **AT Command: AT+NWKSKEY**
419 {{/info}}
420
421 (% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
422 |=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
423 |(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
424 |(% 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(((
425 OK
426 )))
427 |(% 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
428
429 = 6. Joining and sending date on LoRaWAN network =
430
431 == 6.1 Confirm Mode ==
432
433 === AT+CFM command before DR-LWS007 software stack ===
434
435 Feature: Get or Set the confirmation mode (0-1).
436
437 {{info}}
438 **AT Command: AT+CFM**
439 {{/info}}
440
441 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
442 |=(% colspan="3" style="width: 707px;" %)AT+CFM
443 |(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
444 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
445 OK
446 )))
447 |(% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK
448 |(% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR
449
450 Downlink Command: 0x05
451
452 Format: Command Code (0x05) followed by 2 bytes mode value.
453
454 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
455
456 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1
457 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0
458
459 === AT+CFM command since DR-LWS007 software stack ===
460
461 {{info}}
462 **AT Command: AT+CFM**
463 {{/info}}
464
465 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
466 |=(% colspan="3" style="width: 707px;" %)AT+CFM
467 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
468 |(% style="width:160px" %)(((
469 AT+CFM=1,0,0
470
471 value1
472 )))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
473 1
474
475 OK
476 )))
477 |(% style="width:160px" %)(((
478 AT+CFM=0,?,0
479
480 value2
481 )))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)(((
482 0~~7
483
484 OK
485 )))
486 |(% style="width:160px" %)(((
487 AT+CFM=0,0,1
488
489 value3
490 )))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)(((
491 1
492
493 OK
494 )))
495
496 {{info}}
497 **Downlink Command: 0x05**
498 {{/info}}
499
500 Format: Command Code (0x05) followed by 2 bytes mode value.
501
502 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
503
504 * Example 1: Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1
505 * Example 2: Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0
506
507 == 6.2 Confirm Status ==
508
509 Feature: Get confirmation status of the last AT+SEND (0-1).
510
511 {{info}}
512 **AT Command: AT+CFS**
513 {{/info}}
514
515 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
516 |=(% colspan="3" style="width: 531px;" %)AT+CFS
517 |(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
518 |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0(((
519 OK
520 )))
521
522 == 6.3 Join LoRa® Network ==
523
524 Feature: Join network.
525
526 {{info}}
527 **AT Command: AT+JOIN**
528 {{/info}}
529
530 (% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
531 |=(% colspan="3" style="width: 644px;" %)AT+JOIN
532 |(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
533 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
534 OK
535
536 While Error in format, return AT_BUSY_ERROR
537 )))
538
539 == 6.4 LoRa® Network Join Mode ==
540
541 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA).
542
543 {{info}}
544 **AT Command: AT+NJM**
545 {{/info}}
546
547 (% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
548 |=(% colspan="3" style="width: 750px;" %)AT+NJM
549 |(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
550 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
551 OK
552 )))
553 |(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK
554 |(% 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
555
556 {{info}}
557 **Downlink Command: 0x20**
558 {{/info}}
559
560 Format: Command Code (0x20) followed by 1 bytes mode value.
561
562 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
563
564 * **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0
565 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1
566
567 == 6.5 LoRa® Network Join Status ==
568
569 Feature: LoRa® Network Join Status.
570
571 {{info}}
572 **AT Command: AT+NJS**
573 {{/info}}
574
575 (% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
576 |=(% colspan="3" style="width: 495px;" %)AT+NJS
577 |(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
578 |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
579 OK
580 )))
581
582 == 6.6 Print Last Received Data in Raw Format ==
583
584 Feature: Print Last Received Data in Raw Format<port:data>.
585
586 {{info}}
587 **AT Command: AT+RECV**
588 {{/info}}
589
590 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
591 |=(% colspan="3" style="width: 584px;" %)AT+RECV
592 |(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
593 |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
594 OK
595 )))
596
597 == 6.7 Print Last Received Data in Binary Format ==
598
599 Feature: Print Last Received Data in Binary Format<port:data>.
600
601 {{info}}
602 **AT Command: AT+RECVB**
603 {{/info}}
604
605 (% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
606 |=(% colspan="3" style="width: 790px;" %)AT+RECVB
607 |(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
608 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
609 OK
610 )))
611
612 == 6.8 Send Text Data ==
613
614 Feature: Send Text Data<port:data>.
615
616 {{info}}
617 **AT Command: AT+SEND**
618 {{/info}}
619
620 (% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
621 |=(% colspan="3" style="width: 988px;" %)AT+SEND
622 |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
623 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
624 While Error in format, return
625
626 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
627
628
629 )))
630
631 == 6.9 Send Hexadecimal Data ==
632
633 Feature: Send hexadecimal data along with the application port.
634
635 {{info}}
636 **AT Command: AT+SENDB**
637 {{/info}}
638
639 (% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %)
640 |=(% colspan="3" style="width: 1117px;" %)AT+SENDB
641 |(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response**
642 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK
643 |(% 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(((
644 AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
645
646
647 )))
648
649 = 7. LoRaWAN network management =
650
651 == 7.1 Adaptive Data Rate ==
652
653 Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on).
654
655 {{info}}
656 **AT Command: AT+ADR**
657 {{/info}}
658
659 (% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
660 |=(% colspan="3" style="width: 680px;" %)AT+ADR
661 |(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
662 |(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
663 OK
664 )))
665 |(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
666 |(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
667 AT_PARAM_ERROR
668 )))
669
670 {{info}}
671 **Downlink Command: 0x22**
672 {{/info}}
673
674
675 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
676
677 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1.
678 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0.
679
680 == 7.2 LoRa® Class ==
681
682 Feature: Get or Set the Device Class(Currently only support class A, class C).
683
684 {{info}}
685 **AT Command:AT+CLASS**
686 {{/info}}
687
688 (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
689 |=(% colspan="3" style="width: 504px;" %)AT+CLASS
690 |(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
691 |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
692 OK
693 )))
694 |(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
695
696 )))
697
698 == 7.3 Duty Cycle Setting ==
699
700 Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
701
702 {{info}}
703 **AT Command:AT+DCS**
704 {{/info}}
705
706 (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
707 |=(% colspan="3" style="width: 512px;" %)AT+DCS
708 |(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
709 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
710 OK
711 )))
712 |(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((
713
714 )))
715
716 == 7.4 Data Rate ==
717
718 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
719
720 {{info}}
721 **AT Command: AT+DR**
722 {{/info}}
723
724 (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
725 |=(% colspan="3" style="width: 463px;" %)AT+DR
726 |(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
727 |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
728 OK
729 )))
730 |(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
731
732 )))
733
734 {{info}}
735 **Downlink Command: 0x2200aaFF**
736 {{/info}}
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 {{info}}
749 **AT Command:AT+FCD**
750 {{/info}}
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 {{info}}
769 **AT Command:AT+FCU**
770 {{/info}}
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 {{info}}
787 **AT Command:AT+JN1DL**
788 {{/info}}
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 {{info}}
805 **AT Command:AT+JN2DL**
806 {{/info}}
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 {{info}}
825 **AT Command:AT+PNM**
826 {{/info}}
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 {{info}}
850 **AT Command:AT+RX1DL**
851 {{/info}}
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 {{info}}
868 **AT Command:AT+RX2DL**
869 {{/info}}
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 {{info}}
886 **AT Command:AT+RX2DR**
887 {{/info}}
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 {{info}}
904 **AT Command:AT+RX2FQ**
905 {{/info}}
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 {{info}}
922 **AT Command:AT+TXP**
923 {{/info}}
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 {{info}}
947 **AT Command:AT+RSSI**
948 {{/info}}
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 {{info}}
962 **AT Command:AT+SNR**
963 {{/info}}
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 {{info}}
977 **AT Command: AT+PORT**
978 {{/info}}
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 {{info}}
989 **Downlink Command: 0x23**
990 {{/info}}
991
992 Format: Command Code (0x23) followed by 1 bytes port value.
993
994 If the downlink payload=2301, it means set the application port to 1, while type code is 23.
995
996 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1
997 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5
998
999 == 7.18 Single Channel Mode ==
1000
1001 Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode.
1002
1003 {{info}}
1004 **AT Command: AT+CHS**
1005 {{/info}}
1006
1007 (% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1008 |=(% colspan="3" style="width: 600px;" %)AT+CHS
1009 |(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1010 |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
1011 OK
1012 )))
1013 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1014
1015 == 7.19 Eight Channel Mode ==
1016
1017 Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
1018
1019 {{info}}
1020 **AT Command: AT+CHE**
1021 {{/info}}
1022
1023 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1024 |=(% colspan="3" style="width: 707px;" %)AT+CHE
1025 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1026 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1027 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1028
1029 OK
1030 )))
1031 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
1032
1033 {{info}}
1034 **Downlink Command: 0x24**
1035 {{/info}}
1036
1037 Format: Command Code (0x24) followed by 1 bytes channel value.
1038
1039 If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1040
1041 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1
1042 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5
1043
1044 == 7.20 Get or Set RXwindows1 timeout ==
1045
1046 Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
1047
1048 {{info}}
1049 **AT Command: AT+RX1WTO**
1050 {{/info}}
1051
1052 (% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1053 |=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1054 |(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1055 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1056 OK
1057 )))
1058 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
1059
1060 (((
1061 **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.
1062 )))
1063
1064 [[image:image-20220526162535-1.png]]
1065
1066 (((
1067 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.
1068
1069
1070 )))
1071
1072 == 7.21 Get or Set RXwindows2 timeout ==
1073
1074 Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
1075
1076 {{info}}
1077 **AT Command: AT+RX2WTO**
1078 {{/info}}
1079
1080 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1081 |=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1082 |(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1083 |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1084 OK
1085 )))
1086 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1087
1088 == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1089
1090 Feature: Get or Set uplinkdwelltime
1091
1092 {{info}}
1093 **AT Command: AT+DWELLT**
1094 {{/info}}
1095
1096 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1097 |=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1098 |(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1099 |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1100 OK
1101 )))
1102 |(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
1103
1104 {{info}}
1105 **Downlink Command: 0x25**
1106 {{/info}}
1107
1108 Format: Command Code (0x25) followed by 1 bytes state value.
1109
1110 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1111
1112 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1
1113 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0
1114
1115 == 7.23 Set Packet Receiving Response Level ==
1116
1117 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.
1118
1119 RPL value:
1120
1121 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1122 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1123 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1124 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1125 * **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.
1126
1127 Case Analyes:
1128
1129 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1130 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1131 * 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.
1132
1133 {{info}}
1134 **AT Command: AT+RPL**
1135 {{/info}}
1136
1137 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1138 |=(% colspan="3" style="width: 533px;" %)AT+RPL
1139 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1140 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1141 OK
1142 )))
1143 |(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK
1144
1145 {{info}}
1146 **Downlink Command: 0x21**
1147 {{/info}}
1148
1149 Format: Command Code (0x21) followed by 1 bytes level value.
1150
1151 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1152
1153 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1
1154 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2
1155
1156 == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1157
1158 {{info}}
1159 **AT Command: AT+SETMAXNBTRANS **
1160 {{/info}}
1161
1162 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1163 |=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS**
1164 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1165 |(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1(((
1166 OK
1167 )))
1168 |(% 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" %)(((
1169 1
1170
1171 OK
1172 )))
1173
1174 {{info}}
1175 **Downlink Command: 0x33**
1176 {{/info}}
1177
1178 Format: Command Code (0x33) followed by 2 bytes mode value.
1179
1180 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1181
1182 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0
1183 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1
1184
1185 == 7.25 Device offline rejoining (LWS007) ==
1186
1187 {{info}}
1188 **AT Command: AT+DDETECT**
1189 {{/info}}
1190
1191 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1192 |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1193 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1194 |(% style="width:160px" %)(((
1195 AT+DDETECT=1,1440,2880
1196
1197 value1
1198 )))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1199 1
1200
1201 OK
1202 )))
1203 |(% style="width:160px" %)(((
1204 AT+DDETECT=1,?,2880
1205
1206 value2
1207 )))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1208
1209
1210 OK
1211 )))
1212 |(% style="width:160px" %)(((
1213 AT+DDETECT=1,1440,?
1214
1215 value3
1216 )))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1217
1218
1219 OK
1220 )))
1221
1222 {{info}}
1223 **Downlink Command: 0x33**
1224 {{/info}}
1225
1226 Format: Command Code (0x32) followed by 2 bytes mode value.
1227
1228 If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33.
1229
1230 * Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880
1231
1232 == 7.26 Request the server to send an ACK ==
1233
1234 {{info}}
1235 **AT Command: AT+PNACKMD**
1236 {{/info}}
1237
1238 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1239 |=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1240 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1241 |(% 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(((
1242 OK
1243 )))
1244 |(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1245 0
1246
1247 OK
1248 )))
1249
1250 == 7.27 Adjust network rejoining interval ==
1251
1252 {{info}}
1253 **AT Command: AT+RJTDC**
1254 {{/info}}
1255
1256 (% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1257 |=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1258 |(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1259 |(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000(((
1260 OK
1261
1262 the interval is 30000ms = 30s
1263 )))
1264 |(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1265 Set the ReJoin data transmission interval to 60000ms = 60 seconds
1266 )))
1267
1268 {{info}}
1269 **Downlink Command: 0x26**
1270 {{/info}}
1271
1272 Format: Command Code (0x26) followed by 2 bytes mode value.
1273
1274 If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1275
1276 * Example 1: Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10
1277 * Example 2: Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2
1278
1279 = 8. AT Commands Combination =
1280
1281 == 8.1 Set a fix RX2DR for downlink window ==
1282
1283 * **AT+ADR=0 **~-~-> Disable ADR first
1284 * **AT+RX2DR=xxxx** ~-~-> Set xxxx to your wanted DataRate
1285
1286 == 8.2 Use Downlink Command to set a fix uplink DR ==
1287
1288 {{info}}
1289 **Downlink Command: 0x22000500**
1290 {{/info}}
1291
1292 Same as:
1293
1294 * AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1295 * AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1296 * AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1297 ~)~)~)