Version 50.9 by Xiaoling on 2022/07/13 13:35

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