Version 50.12 by Xiaoling on 2022/07/13 13:39

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