Version 53.1 by Edwin Chen on 2022/10/10 19:39

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