Version 51.6 by Xiaoling on 2022/07/13 14:11

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