<
From version < 38.79 >
edited by Xiaoling
on 2022/05/31 09:19
To version < 60.7 >
edited by Xiaoling
on 2023/03/27 14:07
>
Change comment: There is no comment for this version

Summary

Details

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