Version 47.1 by Bei Jinggeng on 2022/06/13 14:45

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