<
From version < 60.1 >
edited by Edwin Chen
on 2023/03/25 15:30
To version < 64.1 >
edited by Bei Jinggeng
on 2023/07/25 15:35
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Edwin
1 +XWiki.Bei
Content
... ... @@ -10,39 +10,34 @@
10 10  Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands:
11 11  
12 12  * (% style="color:blue" %)**Common Commands:** (%%) They should be available for each sensor, such as: change uplink interval, reset device.
13 +
13 13  * (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device.
14 14  
15 15  (((
16 16  **This page shows the common commands since Dragino LoRaWAN stack DR-LWS-005. Make sure the end node support stack higher than DR-LWS-005 before checking this page.**
17 -
18 -
19 19  )))
20 20  
20 +
21 21  = 2. How to use AT Commands or Downlink command =
22 22  
23 23  
24 24  * **AT Command** : See Devices User Manual for how to connect to device via USB TTL adapter and use. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]]
25 +
25 25  * **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:
26 26  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
27 27  ** 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]]?
28 28  ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server)
29 29  
31 +(% style="display:none" %) (%%)
30 30  
31 31  = 3. Support End Node and firmware version =
32 32  
33 33  
34 -(% border="1" style="background-color:#ffffcc; color:green; width:966px" %)
35 -|=(% colspan="3" style="width: 963px;" %)(((
36 36  Dragino STM32 base hardware Firmware / LoRaWAN stack list
37 -)))
37 +
38 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %)
39 +|(% style="background-color:#4f81bd; color:white; width:187px" %)**Model**|(% style="background-color:#4f81bd; color:white; width:330px" %)**Description**|(% style="background-color:#4f81bd; color:white; width:445px" %)**Firmware Version <~-~-> Stack Version**
38 38  |(% style="width:187px" %)(((
39 -**Model**
40 -)))|(% style="width:330px" %)(((
41 -**Description**
42 -)))|(% style="width:445px" %)(((
43 -**Firmware Version <~-~-> Stack Version**
44 -)))
45 -|(% style="width:187px" %)(((
46 46  [[LSN50-v1>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/128-lsn50.html]], [[LSN50-V2>>url:http://www.dragino.com/products/lora-lorawan-end-node/item/155-lsn50-v2.html]],
47 47  )))|(% style="width:330px" %)(((
48 48  Open Source Generic LoRaWAN Sensor Node
... ... @@ -102,6 +102,7 @@
102 102  )))
103 103  )))
104 104  
100 +(% style="display:none" %) (%%)
105 105  
106 106  = 4. System Management Commands =
107 107  
... ... @@ -113,9 +113,8 @@
113 113  
114 114  (% style="color:blue" %)**AT Command: AT+TDC**
115 115  
116 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
117 -|=(% colspan="3" style="width: 724px;" %)AT+TDC
118 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
112 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %)
113 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Response**
119 119  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
120 120  OK
121 121  
... ... @@ -126,8 +126,6 @@
126 126  )))
127 127  
128 128  (((
129 -
130 -
131 131  (% style="color:blue" %)**Downlink Command: 0x01**
132 132  
133 133  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -138,8 +138,10 @@
138 138  )))
139 139  
140 140  * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
134 +
141 141  * **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
142 142  
137 +(% style="display:none" %) (%%)
143 143  
144 144  == 4.2 Reboot End Node ==
145 145  
... ... @@ -147,11 +147,10 @@
147 147  Feature: Reboot End Node to perform a new OTAA or ABP Join.
148 148  
149 149  
150 -(% style="color:blue" %)**AT Command: ATZ**
145 +(% style="color:blue" %)**AT Command: ATZ  ~/~/ **(%%)Trig a reset of the MCU
151 151  
152 -(% border="1" style="background-color:#ffffcc; color:green; width:546px" %)
153 -|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU
154 -|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response**
147 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %)
148 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:92px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:294px" %)**Response**
155 155  |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
156 156  Device reset and show booting info
157 157  
... ... @@ -173,11 +173,10 @@
173 173  )))
174 174  
175 175  (((
176 -If the downlink payload=**04FF**, the end node will reboot.
177 -
178 -
170 +If the downlink payload=**04FF**, the end node will reboot.
179 179  )))
180 180  
173 +
181 181  == 4.3 Reset to factory Default ==
182 182  
183 183  
... ... @@ -184,11 +184,10 @@
184 184  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.
185 185  
186 186  
187 -(% style="color:blue" %)**AT Command: AT+FDR**
180 +(% style="color:blue" %)**AT Command: AT+FDR  ~/~/  **(%%)Reset to factory default
188 188  
189 -(% border="1" style="background-color:#ffffcc; color:green; width:789px" %)
190 -|=(% colspan="3" style="width: 786px;" %)Reset to factory default
191 -|(% style="width:154px" %)**Command Example**|(% style="width:175px" %)**Function**|(% style="width:456px" %)**Response**
182 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %)
183 +|(% style="background-color:#4f81bd; color:white; width:154px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:456px" %)**Response**
192 192  |(% 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  
... ... @@ -220,11 +220,10 @@
220 220  Feature: Show firmware version. No downlink command yet.
221 221  
222 222  
223 -(% style="color:blue" %)**AT Command: AT+VER**
215 +(% style="color:blue" %)**AT Command: AT+VER  ~/~/   **(%%)Image Version and Frequency Band
224 224  
225 -(% border="1" style="background-color:#ffffcc; color:green; width:542px" %)
226 -|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band
227 -|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response**
217 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %)
218 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response**
228 228  |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
229 229  1.3 EU868
230 230  
... ... @@ -244,7 +244,7 @@
244 244  (((
245 245  
246 246  
247 -**xx: Software Type:**
238 +(% style="color:#037691" %)**xx: Software Type:**
248 248  )))
249 249  
250 250  * 0x00 01: LGT92 Version
... ... @@ -254,7 +254,7 @@
254 254  (((
255 255  
256 256  
257 -**yy: Frequency Band:**
248 +(% style="color:#037691" %)**yy: Frequency Band:**
258 258  )))
259 259  
260 260  * 0x01: EU868
... ... @@ -271,7 +271,7 @@
271 271  (((
272 272  
273 273  
274 -**zz: Subband**
265 +(% style="color:#037691" %)**zz: Subband**
275 275  )))
276 276  
277 277  firmware version: v1.1.0 ~-~-> 110
... ... @@ -283,25 +283,20 @@
283 283  Feature: Show All configure. No downlink command yet.
284 284  
285 285  
286 -(% style="color:blue" %)**AT Command: AT+CFG**
277 +(% style="color:blue" %)**AT Command: AT+CFG  ~/~/ **(%%)Print all configurations
287 287  
288 -(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
289 -|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
290 -|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
279 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %)
280 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:154px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:280px" %)**Response**
291 291  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
292 292  AT+DEUI = XX XX XX XX XX XX XX XX
293 -
294 294  AT+DADDR=XXXXXXXX
295 -
296 296  ……….
297 -
298 298  AT+RX2WTO=X
299 -
300 300  AT+CHS=868100000
301 -
302 302  OK
303 303  )))
304 304  
290 +(% style="display:none" %) (%%)
305 305  
306 306  = 5. Keys, IDs and EUIs management =
307 307  
... ... @@ -313,14 +313,14 @@
313 313  
314 314  (% style="color:blue" %)**AT Command: AT+APPEUI**
315 315  
316 -(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
317 -|=(% colspan="3" style="width: 683px;" %)AT+APPEUI
318 -|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
319 -|(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
302 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %)
303 +|(% style="background-color:#4f81bd; color:white; width:272px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:182px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:184px" %)**Response**
304 +|(% style="width:272px" %)AT+APPEUI=?|(% style="width:182px" %)Get the Application EUI|(% style="width:184px" %)00 b3 d5 00 00 00 00 00(((
320 320  OK
321 321  )))
322 -|(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK
307 +|(% style="width:272px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:182px" %)Set the Application EUI|(% style="width:184px" %)OK
323 323  
309 +(% style="display:none" %) (%%)
324 324  
325 325  == 5.2 Application Key ==
326 326  
... ... @@ -330,14 +330,14 @@
330 330  
331 331  (% style="color:blue" %)**AT Command: AT+APPKEY**
332 332  
333 -(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
334 -|=(% colspan="3" style="width: 973px;" %)AT+APPKEY
335 -|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
319 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %)
320 +|(% style="background-color:#4f81bd; color:white; width:441px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:180px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:350px" %)**Response**
336 336  |(% style="width:441px" %)AT+APPKEY=?|(% style="width:180px" %)Get the Application Key|(% style="width:350px" %)00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35(((
337 337  OK
338 338  )))
339 339  |(% 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
340 340  
326 +(% style="display:none" %) (%%)
341 341  
342 342  == 5.3 Application Session Key ==
343 343  
... ... @@ -347,9 +347,8 @@
347 347  
348 348  (% style="color:blue" %)**AT Command: AT+APPSKEY**
349 349  
350 -(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
351 -|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
352 -|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
336 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %)
337 +|(% style="background-color:#4f81bd; color:white; width:451px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:231px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:354px" %)**Response**
353 353  |(% style="width:451px" %)AT+APPSKEY=?|(% style="width:231px" %)Get the Application Session Key|(% style="width:354px" %)00 7d dc 73 33 d3 eb 9e 14 38 d5 a4 3e 62 5b e2(((
354 354  OK
355 355  )))
... ... @@ -357,6 +357,7 @@
357 357  OK
358 358  )))
359 359  
345 +(% style="display:none" %) (%%)
360 360  
361 361  == 5.4 Device Address ==
362 362  
... ... @@ -366,9 +366,8 @@
366 366  
367 367  (% style="color:blue" %)**AT Command: AT+DADDR**
368 368  
369 -(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %)
370 -|=(% colspan="3" style="width: 792px;" %)AT+DADDR
371 -|(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response**
355 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %)
356 +|(% style="background-color:#4f81bd; color:white; width:192px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:241px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:359px" %)**Response**
372 372  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
373 373  A8 40 41 FF
374 374  
... ... @@ -376,6 +376,7 @@
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  
364 +(% style="display:none" %) (%%)
379 379  
380 380  == 5.5 Device EUI ==
381 381  
... ... @@ -385,9 +385,8 @@
385 385  
386 386  (% style="color:blue" %)**AT Command: AT+DEUI**
387 387  
388 -(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
389 -|=(% colspan="3" style="width: 1032px;" %)AT+DEUI
390 -|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
374 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %)
375 +|(% style="background-color:#4f81bd; color:white; width:250px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:634px" %)**Response**
391 391  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
392 392  OK
393 393  )))
... ... @@ -395,6 +395,7 @@
395 395  OK
396 396  )))
397 397  
383 +(% style="display:none" %) (%%)
398 398  
399 399  == 5.6 Network ID ==
400 400  
... ... @@ -404,14 +404,14 @@
404 404  
405 405  (% style="color:blue" %)**AT Command: AT+NWKID**
406 406  
407 -(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
408 -|=(% colspan="3" style="width: 445px;" %)AT+NWKID
409 -|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
393 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %)
394 +|(% style="background-color:#4f81bd; color:white; width:191px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:153px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:101px" %)**Response**
410 410  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
411 411  OK
412 412  )))
413 413  |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK
414 414  
400 +(% style="display:none" %) (%%)
415 415  
416 416  == 5.7 Network Session Key ==
417 417  
... ... @@ -421,14 +421,14 @@
421 421  
422 422  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
423 423  
424 -(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
425 -|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
426 -|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
410 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %)
411 +|(% style="background-color:#4f81bd; color:white; width:455px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:215px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:343px" %)**Response**
427 427  |(% style="width:455px" %)AT+NWKSKEY=?|(% style="width:215px" %)Get the Network Session Key.|(% style="width:343px" %)00 4f 19 25 52 ce 97 09 d7 fa 84 71 db 51 02 92(((
428 428  OK
429 429  )))
430 430  |(% 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
431 431  
417 +(% style="display:none" %) (%%)
432 432  
433 433  = 6. Joining and sending date on LoRaWAN network =
434 434  
... ... @@ -442,9 +442,8 @@
442 442  
443 443  (% style="color:blue" %)**AT Command: AT+CFM**
444 444  
445 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
446 -|=(% colspan="3" style="width: 707px;" %)AT+CFM
447 -|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
431 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
432 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:205px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:346px" %)**Response**
448 448  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
449 449  OK
450 450  )))
... ... @@ -458,8 +458,10 @@
458 458  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
459 459  
460 460  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
446 +
461 461  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
462 462  
449 +(% style="display:none" %) (%%)
463 463  
464 464  === 6.1.2  AT+CFM command since DR-LWS007 software stack ===
465 465  
... ... @@ -466,14 +466,13 @@
466 466  
467 467  (% style="color:blue" %)**AT Command: AT+CFM**
468 468  
469 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
470 -|=(% colspan="3" style="width: 707px;" %)AT+CFM
471 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
456 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %)
457 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response**
472 472  |(% style="width:160px" %)(((
473 473  AT+CFM=1,0,0
474 474  
475 475  value1
476 -)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
462 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)(((
477 477  1
478 478  
479 479  OK
... ... @@ -482,7 +482,7 @@
482 482  AT+CFM=0,?,0
483 483  
484 484  value2
485 -)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)(((
471 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:100px" %)(((
486 486  0~~7
487 487  
488 488  OK
... ... @@ -491,7 +491,7 @@
491 491  AT+CFM=0,0,1
492 492  
493 493  value3
494 -)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)(((
480 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:100px" %)(((
495 495  1
496 496  
497 497  OK
... ... @@ -504,8 +504,10 @@
504 504  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
505 505  
506 506  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
493 +
507 507  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
508 508  
496 +(% style="display:none" %) (%%)
509 509  
510 510  == 6.2 Confirm Status ==
511 511  
... ... @@ -515,13 +515,13 @@
515 515  
516 516  (% style="color:blue" %)**AT Command: AT+CFS**
517 517  
518 -(% border="1" style="background-color:#ffffcc; color:green; width:463px" %)
519 -|=(% colspan="3" style="width: 460px;" %)AT+CFS
520 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:107px" %)**Response**
506 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %)
507 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:193px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:107px" %)**Response**
521 521  |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
522 522  OK
523 523  )))
524 524  
512 +(% style="display:none" %) (%%)
525 525  
526 526  == 6.3 Join LoRa® Network ==
527 527  
... ... @@ -531,15 +531,14 @@
531 531  
532 532  (% style="color:blue" %)**AT Command: AT+JOIN**
533 533  
534 -(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
535 -|=(% colspan="3" style="width: 644px;" %)AT+JOIN
536 -|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
522 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %)
523 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:334px" %)**Response**
537 537  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
538 538  OK
539 -
540 540  While Error in format, return AT_BUSY_ERROR
541 541  )))
542 542  
529 +(% style="display:none" %) (%%)
543 543  
544 544  == 6.4 LoRa® Network Join Mode ==
545 545  
... ... @@ -549,9 +549,8 @@
549 549  
550 550  (% style="color:blue" %)**AT Command: AT+NJM**
551 551  
552 -(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
553 -|=(% colspan="3" style="width: 750px;" %)AT+NJM
554 -|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
539 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %)
540 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:361px" %)**Response**
555 555  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
556 556  OK
557 557  )))
... ... @@ -565,8 +565,10 @@
565 565  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
566 566  
567 567  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
554 +
568 568  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
569 569  
557 +(% style="display:none" %) (%%)
570 570  
571 571  == 6.5 LoRa® Network Join Status ==
572 572  
... ... @@ -576,13 +576,13 @@
576 576  
577 577  (% style="color:blue" %)**AT Command: AT+NJS**
578 578  
579 -(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
580 -|=(% colspan="3" style="width: 495px;" %)AT+NJS
581 -|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
582 -|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
567 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %)
568 +|(% style="background-color:#4f81bd; color:white; width:169px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:164px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:97px" %)**Response**
569 +|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:97px" %)0(((
583 583  OK
584 584  )))
585 585  
573 +(% style="display:none" %) (%%)
586 586  
587 587  == 6.6 Print Last Received Data in Raw Format ==
588 588  
... ... @@ -592,13 +592,13 @@
592 592  
593 593  (% style="color:blue" %)**AT Command: AT+RECV**
594 594  
595 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
596 -|=(% colspan="3" style="width: 584px;" %)AT+RECV
597 -|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
598 -|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
583 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %)
584 +|(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response**
585 +|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:104px" %)0:(((
599 599  OK
600 600  )))
601 601  
589 +(% style="display:none" %) (%%)
602 602  
603 603  == 6.7 Print Last Received Data in Binary Format ==
604 604  
... ... @@ -608,15 +608,15 @@
608 608  
609 609  (% style="color:blue" %)**AT Command: AT+RECVB**
610 610  
611 -(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
612 -|=(% colspan="3" style="width: 790px;" %)AT+RECVB
613 -|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
599 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %)
600 +|(% style="background-color:#4f81bd; color:white; width:173px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:497px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:120px" %)**Response**
614 614  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
615 615  OK
616 616  )))
617 617  
605 +(% style="display:none" %) (%%)
618 618  
619 -== 6.8 Send Text Data ==
607 +== 6.8 Send Text Data(Note: The format of this command of LA66 is subject to the manual) ==
620 620  
621 621  
622 622  Feature: Send Text Data<port:data>.
... ... @@ -624,19 +624,16 @@
624 624  
625 625  (% style="color:blue" %)**AT Command: AT+SEND**
626 626  
627 -(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
628 -|=(% colspan="3" style="width: 988px;" %)AT+SEND
629 -|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
615 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %)
616 +|(% style="background-color:#4f81bd; color:white; width:201px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:340px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:446px" %)**Response**
630 630  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
631 631  While Error in format, return
632 -
633 633  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
634 -
635 -
636 636  )))
637 637  
622 +(% style="display:none" %) (%%)
638 638  
639 -== 6.9 Send Hexadecimal Data ==
624 +== 6.9 Send Hexadecimal Data(Note: The format of this command of LA66 is subject to the manual) ==
640 640  
641 641  
642 642  Feature: Send hexadecimal data along with the application port.
... ... @@ -644,16 +644,14 @@
644 644  
645 645  (% style="color:blue" %)**AT Command: AT+SENDB**
646 646  
647 -(% border="1" style="background-color:#ffffcc; color:green; width:1101px" %)
648 -|=(% colspan="3" style="width: 1098px;" %)AT+SENDB
649 -|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response**
650 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK
651 -|(% 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(((
652 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
653 -
654 -
632 +(% border="1" cellspacing="4" style="width:974px" %)
633 +|(% style="background-color:#4f81bd; color:white; width:257px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:394px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:318px" %)**Response**
634 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
635 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)While Error in format, return(((
636 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
655 655  )))
656 656  
639 +(% style="display:none" %) (%%)
657 657  
658 658  = 7. LoRaWAN network management =
659 659  
... ... @@ -665,14 +665,13 @@
665 665  
666 666  (% style="color:blue" %)**AT Command: AT+ADR**
667 667  
668 -(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
669 -|=(% colspan="3" style="width: 680px;" %)AT+ADR
670 -|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
671 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
651 +(% border="1" cellspacing="4" style="width:643px" %)
652 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:266px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:209px" %)**Response**
653 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1(((
672 672  OK
673 673  )))
674 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
675 -|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
656 +|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK
657 +|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)While Error in format, return(((
676 676  AT_PARAM_ERROR
677 677  )))
678 678  
... ... @@ -681,8 +681,10 @@
681 681  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
682 682  
683 683  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
666 +
684 684  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
685 685  
669 +(% style="display:none" %) (%%)
686 686  
687 687  == 7.2 LoRa® Class ==
688 688  
... ... @@ -692,28 +692,32 @@
692 692  
693 693  (% style="color:blue" %)**AT Command:  AT+CLASS**
694 694  
695 -(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
696 -|=(% colspan="3" style="width: 504px;" %)AT+CLASS
697 -|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
698 -|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
679 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %)
680 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:166px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:94px" %)**Response**
681 +|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:94px" %)A(((
699 699  OK
700 700  )))
701 -|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
684 +|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:94px" %)OK(((
702 702  
703 703  )))
704 704  
688 +(% style="display:none" %)
705 705  
690 +(% style="color:red" %)**Notice:**
691 +
692 +* Run AT+FDR before running AT+CLASS=C
693 +* After change to Class=C, Before OTAA Join Successfule, the end node will still shows to use CLASS=A for OTAA Joined. It will use CLASS=C after OTAA Join Succeccful.
694 +
706 706  == 7.3 Duty Cycle Setting ==
707 707  
708 708  
709 -Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing.
698 +Feature: Get or Set the ETSI Duty Cycle setting** : 0**=disable, **1**=enable - Only for testing.
710 710  
711 711  
712 712  (% style="color:blue" %)**AT Command:  AT+DCS**
713 713  
714 -(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
715 -|=(% colspan="3" style="width: 512px;" %)AT+DCS
716 -|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
703 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %)
704 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:239px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:107px" %)**Response**
717 717  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
718 718  OK
719 719  )))
... ... @@ -721,6 +721,7 @@
721 721  
722 722  )))
723 723  
712 +(% style="display:none" %) (%%)
724 724  
725 725  == 7.4 Data Rate ==
726 726  
... ... @@ -731,17 +731,17 @@
731 731  **Notice:**
732 732  
733 733  * User need to set Adaptive Data Rate(ADR)=0 first. otherwise device will respond to server's ADR command and change the DR according to server auto-adjustment.
723 +
734 734  * 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/]]
735 735  
736 736  (% style="color:blue" %)**AT Command: AT+DR**
737 737  
738 -(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
739 -|=(% colspan="3" style="width: 463px;" %)AT+DR
740 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
741 -|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
728 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %)
729 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:147px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response**
730 +|(% style="width:156px" %)AT+DR=?|(% style="width:147px" %)Get the Data Rate.|(% style="width:100px" %)5(((
742 742  OK
743 743  )))
744 -|(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
733 +|(% style="width:156px" %)AT+DR=2|(% style="width:147px" %)Set the Data Rate.|(% style="width:100px" %)OK(((
745 745  
746 746  )))
747 747  
... ... @@ -750,8 +750,10 @@
750 750  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
751 751  
752 752  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
742 +
753 753  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
754 754  
745 +(% style="display:none" %) (%%)
755 755  
756 756  == 7.5 Frame Counter Downlink ==
757 757  
... ... @@ -761,9 +761,8 @@
761 761  
762 762  (% style="color:blue" %)**AT Command:  AT+FCD**
763 763  
764 -(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
765 -|=(% colspan="3" style="width: 690px;" %)AT+FCD
766 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
755 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %)
756 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:258px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:269px" %)**Response**
767 767  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
768 768  OK
769 769  )))
... ... @@ -771,6 +771,7 @@
771 771  OK
772 772  )))
773 773  
764 +(% style="display:none" %) (%%)
774 774  
775 775  == 7.6 Frame Counter Uplink ==
776 776  
... ... @@ -779,9 +779,8 @@
779 779  
780 780  (% style="color:blue" %)**AT Command:  AT+FCU**
781 781  
782 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
783 -|=(% colspan="3" style="width: 531px;" %)AT+FCU
784 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
773 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %)
774 +|(% style="background-color:#4f81bd; color:white; width:177px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:239px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:113px" %)**Response**
785 785  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
786 786  OK
787 787  )))
... ... @@ -789,6 +789,7 @@
789 789  
790 790  )))
791 791  
782 +(% style="display:none" %) (%%)
792 792  
793 793  == 7.7 Join Accept Delay1 ==
794 794  
... ... @@ -798,9 +798,8 @@
798 798  
799 799  (% style="color:blue" %)**AT Command:  AT+JN1DL**
800 800  
801 -(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
802 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL
803 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
792 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %)
793 +|(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:229px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:140px" %)**Response**
804 804  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
805 805  OK
806 806  )))
... ... @@ -808,6 +808,7 @@
808 808  
809 809  )))
810 810  
801 +(% style="display:none" %) (%%)
811 811  
812 812  == 7.8 Join Accept Delay2 ==
813 813  
... ... @@ -817,9 +817,8 @@
817 817  
818 818  (% style="color:blue" %)**AT Command:  AT+JN2DL**
819 819  
820 -(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
821 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL
822 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
811 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %)
812 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:228px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:146px" %)**Response**
823 823  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
824 824  OK
825 825  )))
... ... @@ -827,6 +827,7 @@
827 827  
828 828  )))
829 829  
820 +(% style="display:none" %) (%%)
830 830  
831 831  == 7.9 Public Network Mode ==
832 832  
... ... @@ -838,9 +838,8 @@
838 838  
839 839  (% style="color:blue" %)**AT Command:  AT+PNM**
840 840  
841 -(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
842 -|=(% colspan="3" style="width: 664px;" %)AT+PNM
843 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
832 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %)
833 +|(% style="background-color:#4f81bd; color:white; width:166px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:225px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Response**
844 844  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
845 845  OK
846 846  )))
... ... @@ -855,6 +855,7 @@
855 855  )))
856 856  |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
857 857  
848 +(% style="display:none" %) (%%)
858 858  
859 859  == 7.10 Receive Delay1 ==
860 860  
... ... @@ -864,9 +864,8 @@
864 864  
865 865  (% style="color:blue" %)**AT Command: AT+RX1DL**
866 866  
867 -(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
868 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL
869 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
858 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %)
859 +|(% style="background-color:#4f81bd; color:white; width:155px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:128px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:122px" %)**Response**
870 870  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
871 871  OK
872 872  )))
... ... @@ -874,6 +874,7 @@
874 874  
875 875  )))
876 876  
867 +(% style="display:none" %) (%%)
877 877  
878 878  == 7.11 Receive Delay2 ==
879 879  
... ... @@ -883,9 +883,8 @@
883 883  
884 884  (% style="color:blue" %)**AT Command: AT+RX2DL**
885 885  
886 -(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
887 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL
888 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
877 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %)
878 +|(% style="background-color:#4f81bd; color:white; width:175px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:152px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:150px" %)**Response**
889 889  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
890 890  OK
891 891  )))
... ... @@ -893,6 +893,7 @@
893 893  
894 894  )))
895 895  
886 +(% style="display:none" %) (%%)
896 896  
897 897  == 7.12 Rx2 Window Data Rate ==
898 898  
... ... @@ -902,9 +902,8 @@
902 902  
903 903  (% style="color:blue" %)**AT Command:  AT+RX2DR**
904 904  
905 -(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
906 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR
907 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
896 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %)
897 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:232px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:130px" %)**Response**
908 908  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
909 909  OK
910 910  )))
... ... @@ -912,6 +912,7 @@
912 912  
913 913  )))
914 914  
905 +(% style="display:none" %) (%%)
915 915  
916 916  == 7.13 Rx2 Window Frequency ==
917 917  
... ... @@ -921,9 +921,8 @@
921 921  
922 922  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
923 923  
924 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
925 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
926 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
915 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %)
916 +|(% style="background-color:#4f81bd; color:white; width:183px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:160px" %)**Response**
927 927  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
928 928  OK
929 929  )))
... ... @@ -931,6 +931,7 @@
931 931  
932 932  )))
933 933  
924 +(% style="display:none" %) (%%)
934 934  
935 935  == 7.14 Transmit Power ==
936 936  
... ... @@ -942,9 +942,8 @@
942 942  
943 943  (% style="color:blue" %)**AT Command:  AT+TXP**
944 944  
945 -(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
946 -|=(% colspan="3" style="width: 462px;" %)AT+TXP
947 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
936 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %)
937 +|(% style="background-color:#4f81bd; color:white; width:161px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:189px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:112px" %)**Response**
948 948  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
949 949  OK
950 950  )))
... ... @@ -957,9 +957,11 @@
957 957  If the downlink payload=22000100, it means setting the TXP to 0.
958 958  
959 959  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
960 -* **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+TXP=0.
961 961  
951 +* **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
962 962  
953 +(% style="display:none" %) (%%)
954 +
963 963  == 7.15 RSSI of the Last Received Packet ==
964 964  
965 965  
... ... @@ -968,13 +968,13 @@
968 968  
969 969  (% style="color:blue" %)**AT Command:AT+RSSI**
970 970  
971 -(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
972 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI
973 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
963 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %)
964 +|(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:289px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response**
974 974  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
975 975  OK
976 976  )))
977 977  
969 +(% style="display:none" %) (%%)
978 978  
979 979  == 7.16 SNR of the Last Received Packet ==
980 980  
... ... @@ -984,13 +984,13 @@
984 984  
985 985  (% style="color:blue" %)**AT Command:  AT+SNR**
986 986  
987 -(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
988 -|=(% colspan="3" style="width: 568px;" %)AT+SNR
989 -|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
979 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %)
980 +|(% style="background-color:#4f81bd; color:white; width:164px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:290px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:113px" %)**Response**
990 990  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
991 991  OK
992 992  )))
993 993  
985 +(% style="display:none" %) (%%)
994 994  
995 995  == 7.17 Application Port ==
996 996  
... ... @@ -1000,13 +1000,12 @@
1000 1000  
1001 1001  (% style="color:blue" %)**AT Command: AT+PORT**
1002 1002  
1003 -(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
1004 -|=(% colspan="3" style="width: 497px;" %)AT+PORT
1005 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
1006 -|(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
995 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %)
996 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:193px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response**
997 +|(% style="width:157px" %)AT+PORT=?|(% style="width:193px" %)Get the application port|(% style="width:104px" %)21(((
1007 1007  OK
1008 1008  )))
1009 -|(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK
1000 +|(% style="width:157px" %)AT+PORT=21|(% style="width:193px" %)Set the application port|(% style="width:104px" %)OK
1010 1010  
1011 1011  (% style="color:blue" %)**Downlink Command: 0x23**
1012 1012  
... ... @@ -1015,8 +1015,10 @@
1015 1015  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1016 1016  
1017 1017  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1009 +
1018 1018  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1019 1019  
1012 +(% style="display:none" %) (%%)
1020 1020  
1021 1021  == 7.18 Single Channel Mode ==
1022 1022  
... ... @@ -1026,14 +1026,14 @@
1026 1026  
1027 1027  (% style="color:blue" %)**AT Command: AT+CHS**
1028 1028  
1029 -(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1030 -|=(% colspan="3" style="width: 600px;" %)AT+CHS
1031 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1032 -|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
1022 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %)
1023 +|(% style="background-color:#4f81bd; color:white; width:182px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:101px" %)**Response**
1024 +|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:101px" %)0(((
1033 1033  OK
1034 1034  )))
1035 -|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1027 +|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:101px" %)OK
1036 1036  
1029 +(% style="display:none" %) (%%)
1037 1037  
1038 1038  == 7.19 Eight Channel Mode ==
1039 1039  
... ... @@ -1043,9 +1043,8 @@
1043 1043  
1044 1044  (% style="color:blue" %)**AT Command: AT+CHE**
1045 1045  
1046 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1047 -|=(% colspan="3" style="width: 707px;" %)AT+CHE
1048 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1039 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
1040 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:198px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:349px" %)**Response**
1049 1049  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1050 1050  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1051 1051  
... ... @@ -1060,8 +1060,10 @@
1060 1060  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1061 1061  
1062 1062  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1055 +
1063 1063  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1064 1064  
1058 +(% style="display:none" %) (%%)
1065 1065  
1066 1066  == 7.20 Get or Set RXwindows1 timeout ==
1067 1067  
... ... @@ -1071,32 +1071,26 @@
1071 1071  
1072 1072  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1073 1073  
1074 -(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1075 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1076 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1068 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %)
1069 +|(% style="background-color:#4f81bd; color:white; width:163px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:201px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:93px" %)**Response**
1077 1077  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1078 1078  OK
1079 1079  )))
1080 1080  |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
1081 1081  
1082 -(((
1083 -
1075 +(% style="display:none" %) (%%)
1084 1084  
1085 -
1077 +(((
1086 1086  (% 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.
1087 -
1088 -
1089 1089  )))
1090 1090  
1091 1091  [[image:image-20220526162535-1.png]]
1092 1092  
1093 -
1094 1094  (((
1095 1095  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.
1096 -
1097 -
1098 1098  )))
1099 1099  
1087 +
1100 1100  == 7.21 Get or Set RXwindows2 timeout ==
1101 1101  
1102 1102  
... ... @@ -1105,14 +1105,14 @@
1105 1105  
1106 1106  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1107 1107  
1108 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1109 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1110 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1111 -|(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1096 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %)
1097 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:192px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:90px" %)**Response**
1098 +|(% style="width:162px" %)AT+RX2WTO=?|(% style="width:192px" %)Get RXwindows2 timeout|(% style="width:90px" %)7(((
1112 1112  OK
1113 1113  )))
1114 -|(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1101 +|(% style="width:162px" %)AT+RX2WTO=20|(% style="width:192px" %)Set RXwindows2 timeout|(% style="width:90px" %)OK
1115 1115  
1103 +(% style="display:none" %) (%%)
1116 1116  
1117 1117  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1118 1118  
... ... @@ -1122,13 +1122,12 @@
1122 1122  
1123 1123  (% style="color:blue" %)**AT Command: AT+DWELLT**
1124 1124  
1125 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1126 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1127 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1128 -|(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1113 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %)
1114 +|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:157px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:95px" %)**Response**
1115 +|(% style="width:162px" %)AT+DWELLT=?|(% style="width:157px" %)Get uplinkdwelltime|(% style="width:95px" %)1(((
1129 1129  OK
1130 1130  )))
1131 -|(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
1118 +|(% style="width:162px" %)AT+DWELLT=0|(% style="width:157px" %)Set uplinkdwelltime|(% style="width:95px" %)OK
1132 1132  
1133 1133  (% style="color:blue" %)**Downlink Command: 0x25**
1134 1134  
... ... @@ -1137,8 +1137,10 @@
1137 1137  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1138 1138  
1139 1139  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1127 +
1140 1140  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1141 1141  
1130 +(% style="display:none" %) (%%)
1142 1142  
1143 1143  == 7.23 Set Packet Receiving Response Level ==
1144 1144  
... ... @@ -1146,25 +1146,30 @@
1146 1146  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.
1147 1147  
1148 1148  
1149 -**RPL value:**
1138 +(% style="color:blue" %)**RPL value:**
1150 1150  
1151 1151  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1141 +
1152 1152  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1143 +
1153 1153  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1145 +
1154 1154  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1147 +
1155 1155  * **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.
1156 1156  
1157 -**Case Analyes:**
1150 +(% style="color:blue" %)**Case Analyes:**
1158 1158  
1159 1159  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1153 +
1160 1160  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1155 +
1161 1161  * 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.
1162 1162  
1163 1163  (% style="color:blue" %)**AT Command: AT+RPL**
1164 1164  
1165 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1166 -|=(% colspan="3" style="width: 533px;" %)AT+RPL
1167 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1160 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %)
1161 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:263px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:109px" %)**Response**
1168 1168  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1169 1169  OK
1170 1170  )))
... ... @@ -1177,8 +1177,10 @@
1177 1177  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1178 1178  
1179 1179  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1174 +
1180 1180  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1181 1181  
1177 +(% style="display:none" %) (%%)
1182 1182  
1183 1183  == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1184 1184  
... ... @@ -1185,13 +1185,12 @@
1185 1185  
1186 1186  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1187 1187  
1188 -(% border="1" style="background-color:#ffffcc; color:green; width:589px" %)
1189 -|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS**
1190 -|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response**
1191 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1184 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %)
1185 +|(% style="background-color:#4f81bd; color:white; width:227px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:300px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:87px" %)**Response**
1186 +|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1192 1192  OK
1193 1193  )))
1194 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1189 +|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1195 1195  value2: 0: uplink fcnt doesn't change for each NBTrans;
1196 1196  
1197 1197  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1208,8 +1208,10 @@
1208 1208  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1209 1209  
1210 1210  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1206 +
1211 1211  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1212 1212  
1209 +(% style="display:none" %) (%%)
1213 1213  
1214 1214  == 7.25 Device offline rejoining (LWS007) ==
1215 1215  
... ... @@ -1219,16 +1219,16 @@
1219 1219  AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1220 1220  
1221 1221  * ACK_Timout_1: Unit: min
1219 +
1222 1222  * ACK_Timout_2: Unit: min
1223 1223  
1224 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1225 -|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1226 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1222 +(% border="1" style="background-color:#f2f2f2; width:562px" %)
1223 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:272px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:89px" %)**Response**
1227 1227  |(% style="width:160px" %)(((
1228 1228  AT+DDETECT=1,1440,2880
1229 1229  
1230 1230  value1
1231 -)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1228 +)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)(((
1232 1232  1
1233 1233  
1234 1234  OK
... ... @@ -1237,7 +1237,7 @@
1237 1237  AT+DDETECT=1,?,2880
1238 1238  
1239 1239  value2
1240 -)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1237 +)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)(((
1241 1241  
1242 1242  
1243 1243  OK
... ... @@ -1246,7 +1246,7 @@
1246 1246  AT+DDETECT=1,1440,?
1247 1247  
1248 1248  value3
1249 -)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1246 +)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)(((
1250 1250  
1251 1251  
1252 1252  OK
... ... @@ -1259,29 +1259,34 @@
1259 1259  If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1260 1260  
1261 1261  * **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1262 -** 0x01 : Flag
1263 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1264 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1265 -** **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.
1266 1266  
1260 +*
1261 +** 0x01** : Flag**
1267 1267  
1263 + **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours)
1264 +
1265 + **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours)
1266 +
1267 +* **Explain**: Enable Online Detect, if end node doesn't receive any downlink within ACK_Timout_1( 1440 minutes or 24 hours). End node will use confirmed uplink to send packets during ACK_Timout_1 (the 24th hour) to ACK_Timout_2 ( the 48th hour). If from the 24th to 48th hour, end node got an downlink from server, it will switch back to unconfirmed uplink. end node will restart ACK_Timout_1. If from the 24th to 48th hour, end node still not got any downlink, means device doesn't get ACK from server within last 48 hours. Device will process rejoin, rejoin request interval is AT+RJTDC period. For AU915/ US915, device will use the sub-band used for last join.
1268 +
1269 +(% style="display:none" %) (%%)
1270 +
1268 1268  == 7.26 Request the server to send an ACK ==
1269 1269  
1270 1270  
1271 1271  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1272 1272  
1273 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1274 -|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1275 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1276 -|(% 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(((
1276 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1277 +|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:627px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:100px" %)**Response**
1278 +|(% style="width:160px" %)AT+PNACKMD=1|(% style="width:627px" %)If the node uploads the ACK as confirm, it will request the server to send an ACK. If the server ack is not received, the node will upload the packets that have not received the ACK the next time it receives the ACK|(% style="width:100px" %)1(((
1277 1277  OK
1278 1278  )))
1279 -|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1281 +|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:627px" %)off request the server to send an ACK|(% style="width:100px" %)(((
1280 1280  0
1281 -
1282 1282  OK
1283 1283  )))
1284 1284  
1286 +(% style="display:none" %) (%%)
1285 1285  
1286 1286  == 7.27 Adjust network rejoining interval ==
1287 1287  
... ... @@ -1288,15 +1288,14 @@
1288 1288  
1289 1289  (% style="color:blue" %)**AT Command: AT+RJTDC**
1290 1290  
1291 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1292 -|=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1293 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1294 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1293 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1294 +|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:357px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:361px" %)**Response**
1295 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:357px" %)Show the ReJoin data transmission interval in min|(% style="width:361px" %)30(((
1295 1295  OK
1296 1296  
1297 1297  the interval is 30 min
1298 1298  )))
1299 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1300 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:357px" %)Set the ReJoin data transmission interval in min|(% style="width:361px" %)OK(((
1300 1300  Set the ReJoin data transmission interval to 60 min
1301 1301  )))
1302 1302  
... ... @@ -1306,19 +1306,23 @@
1306 1306  
1307 1307  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1308 1308  
1309 -* **Example 1:** Downlink Payload: 26000A  ~/~/ Set AT+RJTDC=10
1310 -* **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1310 +* **Example 1:** Downlink Payload: 26000A  ~/~/  Set AT+RJTDC=10
1311 1311  
1312 +* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1312 1312  
1314 +(% style="display:none" %) (%%)
1315 +
1313 1313  = 8. AT Commands Combination =
1314 1314  
1315 1315  == 8.1 Set a fix RX2DR for downlink window ==
1316 1316  
1317 1317  
1318 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1319 -* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1321 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1320 1320  
1323 +* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~/~/**  Set xxxx to your wanted DataRate
1321 1321  
1325 +(% style="display:none" %) (%%)
1326 +
1322 1322  == 8.2 Use Downlink Command to set a fix uplink DR ==
1323 1323  
1324 1324  
... ... @@ -1327,7 +1327,9 @@
1327 1327  **Same as:**
1328 1328  
1329 1329  * AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1335 +
1330 1330  * AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1337 +
1331 1331  * AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1332 1332  
1333 1333  
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0