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

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