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