Version 45.1 by Bei Jinggeng on 2022/06/10 15:11

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 Feature: Get or Set the confirmation mode (0-1).
424
425 {{info}}
426 **AT Command: AT+CFM**
427 {{/info}}
428
429 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
430 |=(% colspan="3" style="width: 707px;" %)AT+CFM
431 |(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
432 |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
433 OK
434 )))
435 |(% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK
436 |(% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR
437
438 Downlink Command: 0x05
439
440 Format: Command Code (0x05) followed by 2 bytes mode value.
441
442 If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
443
444 * Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1
445 * Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0
446
447 == 6.2 Confirm Status ==
448
449 Feature: Get confirmation status of the last AT+SEND (0-1).
450
451 {{info}}
452 **AT Command: AT+CFS**
453 {{/info}}
454
455 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
456 |=(% colspan="3" style="width: 531px;" %)AT+CFS
457 |(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
458 |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0(((
459 OK
460 )))
461
462 == 6.3 Join LoRa® Network ==
463
464 Feature: Join network.
465
466 {{info}}
467 **AT Command: AT+JOIN**
468 {{/info}}
469
470 (% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
471 |=(% colspan="3" style="width: 644px;" %)AT+JOIN
472 |(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
473 |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
474 OK
475
476 While Error in format, return AT_BUSY_ERROR
477 )))
478
479 == 6.4 LoRa® Network Join Mode ==
480
481 Feature: Get or Set the Network Join Mode. (0: ABP, 1: OTAA).
482
483 {{info}}
484 **AT Command: AT+NJM**
485 {{/info}}
486
487 (% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
488 |=(% colspan="3" style="width: 750px;" %)AT+NJM
489 |(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
490 |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
491 OK
492 )))
493 |(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK
494 |(% 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
495
496 {{info}}
497 **Downlink Command: 0x20**
498 {{/info}}
499
500 Format: Command Code (0x20) followed by 1 bytes mode value.
501
502 If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
503
504 * **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=O
505 * **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1
506
507 == 6.5 LoRa® Network Join Status ==
508
509 Feature: LoRa® Network Join Status.
510
511 {{info}}
512 **AT Command: AT+NJS**
513 {{/info}}
514
515 (% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
516 |=(% colspan="3" style="width: 495px;" %)AT+NJS
517 |(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
518 |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
519 OK
520 )))
521
522 == 6.6 Print Last Received Data in Raw Format ==
523
524 Feature: Print Last Received Data in Raw Format<port:data>.
525
526 {{info}}
527 **AT Command: AT+RECV**
528 {{/info}}
529
530 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
531 |=(% colspan="3" style="width: 584px;" %)AT+RECV
532 |(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
533 |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
534 OK
535 )))
536
537 == 6.7 Print Last Received Data in Binary Format ==
538
539 Feature: Print Last Received Data in Binary Format<port:data>.
540
541 {{info}}
542 **AT Command: AT+RECVB**
543 {{/info}}
544
545 (% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
546 |=(% colspan="3" style="width: 790px;" %)AT+RECVB
547 |(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
548 |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
549 OK
550 )))
551
552 == 6.8 Send Text Data ==
553
554 Feature: Send Text Data<port:data>.
555
556 {{info}}
557 **AT Command: AT+SEND**
558 {{/info}}
559
560 (% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
561 |=(% colspan="3" style="width: 988px;" %)AT+SEND
562 |(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
563 |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
564 While Error in format, return
565
566 AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
567
568
569 )))
570
571 == 6.9 Send Hexadecimal Data ==
572
573 Feature: Send hexadecimal data along with the application port.
574
575 {{info}}
576 **AT Command: AT+SENDB**
577 {{/info}}
578
579 (% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %)
580 |=(% colspan="3" style="width: 1117px;" %)AT+SENDB
581 |(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response**
582 |(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK
583 |(% 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(((
584 AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
585
586
587 )))
588
589 = 7. LoRaWAN network management =
590
591 == 7.1 Adaptive Data Rate ==
592
593 Feature: Get or Set the Adaptive Data Rate setting. (0: off, 1: on).
594
595 {{info}}
596 **AT Command: AT+ADR**
597 {{/info}}
598
599 (% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
600 |=(% colspan="3" style="width: 680px;" %)AT+ADR
601 |(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
602 |(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
603 OK
604 )))
605 |(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
606 |(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
607 AT_PARAM_ERROR
608 )))
609
610 {{info}}
611 **Downlink Command: 0x22**
612 {{/info}}
613
614
615 If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
616
617 * **Example 1**: Downlink Payload: **2201** ~/~/ Set AT+ADR=1.
618 * **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0.
619
620 == 7.2 LoRa® Class ==
621
622 Feature: Get or Set the Device Class(Currently only support class A, class C).
623
624 {{info}}
625 **AT Command:AT+CLASS**
626 {{/info}}
627
628 (% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
629 |=(% colspan="3" style="width: 504px;" %)AT+CLASS
630 |(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
631 |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
632 OK
633 )))
634 |(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
635
636 )))
637
638 == 7.3 Duty Cycle Setting ==
639
640 Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
641
642 {{info}}
643 **AT Command:AT+DCS**
644 {{/info}}
645
646 (% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
647 |=(% colspan="3" style="width: 512px;" %)AT+DCS
648 |(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
649 |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
650 OK
651 )))
652 |(% style="width:165px" %)AT+DCS=1|(% style="width:239px" %)Set the ETSI Duty Cycle setting.|(% style="width:107px" %)OK(((
653
654 )))
655
656 == 7.4 Data Rate ==
657
658 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
659
660 {{info}}
661 **AT Command: AT+DR**
662 {{/info}}
663
664 (% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
665 |=(% colspan="3" style="width: 463px;" %)AT+DR
666 |(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
667 |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
668 OK
669 )))
670 |(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
671
672 )))
673
674 {{info}}
675 **Downlink Command: 0x2200aaFF**
676 {{/info}}
677
678
679 If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
680
681 * **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1.
682 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0.
683
684 == 7.5 Frame Counter Downlink ==
685
686 Feature: Get or Set the Frame Counter Downlink.
687
688 {{info}}
689 **AT Command:AT+FCD**
690 {{/info}}
691
692 (% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
693 |=(% colspan="3" style="width: 690px;" %)AT+FCD
694 |(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
695 |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
696 OK
697 )))
698 |(% style="width:162px" %)AT+FCD=10|(% style="width:258px" %)Set the Frame Counter Downlink.|(% style="width:269px" %)(System will write new value to FCD)(((
699 OK
700
701
702 )))
703
704 == 7.6 Frame Counter Uplink ==
705
706 Feature: Get or Set the Frame Counter Uplink.
707
708 {{info}}
709 **AT Command:AT+FCU**
710 {{/info}}
711
712 (% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
713 |=(% colspan="3" style="width: 531px;" %)AT+FCU
714 |(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
715 |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
716 OK
717 )))
718 |(% style="width:177px" %)AT+FCU=10|(% style="width:239px" %)Set the Frame Counter Uplink.|(% style="width:113px" %)OK(((
719
720 )))
721
722 == 7.7 Join Accept Delay1 ==
723
724 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
725
726 {{info}}
727 **AT Command:AT+JN1DL**
728 {{/info}}
729
730 (% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
731 |=(% colspan="3" style="width: 534px;" %)AT+JN1DL
732 |(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
733 |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
734 OK
735 )))
736 |(% style="width:164px" %)AT+JN1DL=10000|(% style="width:229px" %)Set the Join Accept Delay.|(% style="width:140px" %)OK(((
737
738 )))
739
740 == 7.8 Join Accept Delay2 ==
741
742 Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
743
744 {{info}}
745 **AT Command:AT+JN2DL**
746 {{/info}}
747
748 (% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
749 |=(% colspan="3" style="width: 535px;" %)AT+JN2DL
750 |(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
751 |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
752 OK
753 )))
754 |(% style="width:160px" %)AT+JN2DL=20000|(% style="width:228px" %)Set the Join Accept Delay.|(% style="width:146px" %)OK(((
755
756 )))
757
758 == 7.9 Public Network Mode ==
759
760 Feature: Get or Set the public network mode. (0: off, 1: on)
761
762 {{info}}
763 **AT Command:AT+PNM**
764 {{/info}}
765
766 (% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
767 |=(% colspan="3" style="width: 664px;" %)AT+PNM
768 |(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
769 |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
770 OK
771 )))
772 |(% style="width:166px" %)AT+PNM=1|(% style="width:225px" %)Set the public network mode.|(% style="width:272px" %)(System will write new value to PNM)(((
773 OK
774
775
776 )))
777
778 == 7.10 Receive Delay1 ==
779
780 Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
781
782 {{info}}
783 **AT Command:AT+RX1DL**
784 {{/info}}
785
786 (% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
787 |=(% colspan="3" style="width: 405px;" %)AT+RX1DL
788 |(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
789 |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
790 OK
791 )))
792 |(% style="width:155px" %)AT+RX1DL=1500|(% style="width:128px" %)Set the delay.|(% style="width:122px" %)OK(((
793
794 )))
795
796 == 7.11 Receive Delay2 ==
797
798 Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
799
800 {{info}}
801 **AT Command:AT+RX2DL**
802 {{/info}}
803
804 (% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
805 |=(% colspan="3" style="width: 478px;" %)AT+RX2DL
806 |(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
807 |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
808 OK
809 )))
810 |(% style="width:175px" %)AT+RX2DL=2500|(% style="width:152px" %)Set the delay.|(% style="width:150px" %)OK(((
811
812 )))
813
814 == 7.12 Rx2 Window Data Rate ==
815
816 Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
817
818 {{info}}
819 **AT Command:AT+RX2DR**
820 {{/info}}
821
822 (% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
823 |=(% colspan="3" style="width: 522px;" %)AT+RX2DR
824 |(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
825 |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
826 OK
827 )))
828 |(% style="width:160px" %)AT+RX2DR=6|(% style="width:232px" %)Set the Rx2 window data rate.|(% style="width:130px" %)OK(((
829
830 )))
831
832 == 7.13 Rx2 Window Frequency ==
833
834 Feature: Get or Set the Rx2 window frequency
835
836 {{info}}
837 **AT Command:AT+RX2FQ**
838 {{/info}}
839
840 (% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
841 |=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
842 |(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
843 |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
844 OK
845 )))
846 |(% style="width:183px" %)AT+RX2FQ=434665000|(% style="width:240px" %)Set the Rx2 window frequency.|(% style="width:160px" %)OK(((
847
848 )))
849
850 == 7.14 Transmit Power ==
851
852 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. )
853
854 {{info}}
855 **AT Command:AT+TXP**
856 {{/info}}
857
858 (% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
859 |=(% colspan="3" style="width: 462px;" %)AT+TXP
860 |(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
861 |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
862 OK
863 )))
864 |(% style="width:161px" %)AT+TXP=1|(% style="width:189px" %)Set the Transmit Power.|(% style="width:112px" %)OK(((
865
866 )))
867
868 Downlink Payload. The 4th byte of 0x22 downlink.
869
870 If the downlink payload=22000100, it means setting the TXP to 0.
871
872 * **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2.
873 * **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0.
874
875 == 7.15 RSSI of the Last Received Packet ==
876
877 Feature: Get or Set the Rx2 window frequency
878
879 {{info}}
880 **AT Command:AT+RSSI**
881 {{/info}}
882
883 (% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
884 |=(% colspan="3" style="width: 554px;" %)AT+RSSI
885 |(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
886 |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
887 OK
888 )))
889
890 == 7.16 SNR of the Last Received Packet ==
891
892 Feature: Get the SNR of the last received packet
893
894 {{info}}
895 **AT Command:AT+SNR**
896 {{/info}}
897
898 (% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
899 |=(% colspan="3" style="width: 568px;" %)AT+SNR
900 |(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
901 |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
902 OK
903 )))
904
905 == 7.17 Application Port ==
906
907 Feature: Get or set the application port.
908
909 {{info}}
910 **AT Command: AT+PORT**
911 {{/info}}
912
913 (% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
914 |=(% colspan="3" style="width: 497px;" %)AT+PORT
915 |(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
916 |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
917 OK
918 )))
919 |(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK
920
921 {{info}}
922 **Downlink Command: 0x23**
923 {{/info}}
924
925 Format: Command Code (0x23) followed by 1 bytes port value.
926
927 If the downlink payload=2301, it means set the application port to 1, while type code is 23.
928
929 * **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1
930 * **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5
931
932 == 7.18 Single Channel Mode ==
933
934 Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode.
935
936 {{info}}
937 **AT Command: AT+CHS**
938 {{/info}}
939
940 (% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
941 |=(% colspan="3" style="width: 600px;" %)AT+CHS
942 |(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
943 |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
944 OK
945 )))
946 |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
947
948 == 7.19 Eight Channel Mode ==
949
950 Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
951
952 {{info}}
953 **AT Command: AT+CHE**
954 {{/info}}
955
956 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
957 |=(% colspan="3" style="width: 707px;" %)AT+CHE
958 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
959 |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
960 902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
961
962 OK
963 )))
964 |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
965
966 {{info}}
967 **Downlink Command: 0x24**
968 {{/info}}
969
970 Format: Command Code (0x24) followed by 1 bytes channel value.
971
972 If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
973
974 * **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1
975 * **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5
976
977 == 7.20 Get or Set RXwindows1 timeout ==
978
979 Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
980
981 {{info}}
982 **AT Command: AT+RX1WTO**
983 {{/info}}
984
985 (% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
986 |=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
987 |(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
988 |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
989 OK
990 )))
991 |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
992
993 (((
994 **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.
995 )))
996
997 [[image:image-20220526162535-1.png]]
998
999 (((
1000 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.
1001
1002
1003 )))
1004
1005 == 7.21 Get or Set RXwindows2 timeout ==
1006
1007 Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
1008
1009 {{info}}
1010 **AT Command: AT+RX2WTO**
1011 {{/info}}
1012
1013 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1014 |=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1015 |(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1016 |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1017 OK
1018 )))
1019 |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1020
1021 == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1022
1023 Feature: Get or Set uplinkdwelltime
1024
1025 {{info}}
1026 **AT Command: AT+DWELLT**
1027 {{/info}}
1028
1029 (% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1030 |=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1031 |(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1032 |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1033 OK
1034 )))
1035 |(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
1036
1037 {{info}}
1038 **Downlink Command: 0x25**
1039 {{/info}}
1040
1041 Format: Command Code (0x25) followed by 1 bytes state value.
1042
1043 If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1044
1045 * **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1
1046 * **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0
1047
1048 == 7.23 Set Packet Receiving Response Level ==
1049
1050 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.
1051
1052 RPL value:
1053
1054 * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1055 * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1056 * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1057 * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1058 * **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.
1059
1060 Case Analyes:
1061
1062 * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1063 * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1064 * 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.
1065
1066 {{info}}
1067 **AT Command: AT+RPL**
1068 {{/info}}
1069
1070 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1071 |=(% colspan="3" style="width: 533px;" %)AT+RPL
1072 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1073 |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1074 OK
1075 )))
1076 |(% style="width:160px" %)AT+RPL=0|(% style="width:263px" %)Set packet receiving response level|(% style="width:109px" %)OK
1077
1078 {{info}}
1079 **Downlink Command: 0x21**
1080 {{/info}}
1081
1082 Format: Command Code (0x21) followed by 1 bytes level value.
1083
1084 If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1085
1086 * **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1
1087 * **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2
1088
1089 == 7.24 Uplink fcnt settings(LWS007) ==
1090
1091 {{info}}
1092 **AT Command: AT+CFM**
1093 {{/info}}
1094
1095 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1096 |=(% colspan="3" style="width: 707px;" %)AT+CFM
1097 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1098 |(% style="width:160px" %)(((
1099 AT+CFM=1,0,0
1100
1101 value1
1102 )))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
1103 1
1104
1105 OK
1106 )))
1107 |(% style="width:160px" %)(((
1108 AT+CFM=0,?,0
1109
1110 value2
1111 )))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)(((
1112 0~~7
1113
1114 OK
1115 )))
1116 |(% style="width:160px" %)(((
1117 AT+CFM=0,0,1
1118
1119 value3
1120 )))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)(((
1121 1
1122
1123 OK
1124 )))
1125
1126 {{info}}
1127 **Downlink Command: 0x05**
1128 {{/info}}
1129
1130 Format: Command Code (0x05) followed by 2 bytes mode value.
1131
1132 If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
1133
1134 * Example 1: Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1
1135 * Example 2: Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0
1136
1137 == 7.25 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1138
1139 {{info}}
1140 **AT Command: AT+SETMAXNBTRANS **
1141 {{/info}}
1142
1143 (% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1144 |=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS**
1145 |(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1146 |(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1(((
1147 OK
1148 )))
1149 |(% 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" %)(((
1150 1
1151
1152 OK
1153 )))
1154
1155 {{info}}
1156 **Downlink Command: 0x33**
1157 {{/info}}
1158
1159 Format: Command Code (0x33) followed by 2 bytes mode value.
1160
1161 If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1162
1163 * Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0
1164 * Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1
1165
1166 == 7.26 Device offline rejoining (LWS007) ==
1167
1168 {{info}}
1169 **AT Command: AT+DDETECT**
1170 {{/info}}
1171
1172 (% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1173 |=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1174 |(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1175 |(% style="width:160px" %)(((
1176 AT+DDETECT=1,1440,2880
1177
1178 value1
1179 )))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1180 1
1181
1182 OK
1183 )))
1184 |(% style="width:160px" %)(((
1185 AT+DDETECT=1,?,2880
1186
1187 value2
1188 )))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1189
1190
1191 OK
1192 )))
1193 |(% style="width:160px" %)(((
1194 AT+DDETECT=1,1440,?
1195
1196 value3
1197 )))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1198
1199
1200 OK
1201 )))
1202
1203 {{info}}
1204 **Downlink Command: 0x33**
1205 {{/info}}
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.27 Request the server to send an ACK ==
1214
1215 {{info}}
1216 **AT Command: AT+PNACKMD**
1217 {{/info}}
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 = 8. AT Commands Combination =
1232
1233 == 8.1 Set a fix RX2DR for downlink window ==
1234
1235 * **AT+ADR=0 **~-~-> Disable ADR first
1236 * **AT+RX2DR=xxxx** ~-~-> Set xxxx to your wanted DataRate
1237
1238 == 8.2 Use Downlink Command to set a fix uplink DR ==
1239
1240 {{info}}
1241 **Downlink Command: 0x22000500**
1242 {{/info}}
1243
1244 Same as:
1245
1246 * AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1247 * AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1248 * AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1249 ~)~)~)