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