Version 59.2 by Xiaoling on 2023/01/29 11:16

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