Version 49.1 by Edwin Chen on 2022/06/15 14:43

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