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