Version 50.15 by Xiaoling on 2022/07/13 13:41

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