Version 59.1 by Bei Jinggeng on 2023/01/10 11:43

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