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