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