Version 50.11 by Xiaoling on 2022/07/13 13:37

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