Last modified by Mengting Qiu on 2025/07/01 15:53

From version 80.1
edited by Mengting Qiu
on 2025/06/30 10:59
Change comment: There is no comment for this version
To version 63.7
edited by Xiaoling
on 2023/04/19 14:42
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ting
1 +XWiki.Xiaoling
Content
... ... @@ -10,7 +10,6 @@
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 -
14 14  * (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device.
15 15  
16 16  (((
... ... @@ -18,12 +18,10 @@
18 18  )))
19 19  
20 20  
21 -
22 22  = 2. How to use AT Commands or Downlink command =
23 23  
24 24  
25 -* **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 Products User Manual>>http://wiki.dragino.com/xwiki/bin/view/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/]]**.
26 -
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/]]
27 27  * **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:
28 28  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
29 29  ** 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]]?
... ... @@ -34,10 +34,17 @@
34 34  = 3. Support End Node and firmware version =
35 35  
36 36  
34 +(% border="1" style="background-color:#F2F2F2; width:966px" %)
35 +|=(% colspan="3" style="width: 963px;background-color:#D9E2F3" %)(((
37 37  Dragino STM32 base hardware Firmware / LoRaWAN stack list
38 -
39 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %)
40 -|(% 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**
37 +)))
38 +|(% style="width:187px;color:#0070C0" %)(((
39 +**Model**
40 +)))|(% style="width:330px;color:#0070C0" %)(((
41 +**Description**
42 +)))|(% style="width:445px;color:#0070C0" %)(((
43 +**Firmware Version <~-~-> Stack Version**
44 +)))
41 41  |(% style="width:187px" %)(((
42 42  [[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]],
43 43  )))|(% style="width:330px" %)(((
... ... @@ -110,8 +110,9 @@
110 110  
111 111  (% style="color:blue" %)**AT Command: AT+TDC**
112 112  
113 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %)
114 -|(% 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**
117 +(% border="1" style="background-color:#F2F2F2; width:727.222px" %)
118 +|=(% colspan="3" style="width: 724px;background-color:#D9E2F3" %)AT+TDC
119 +|(% style="width:165px;color:#0070C0" %)**Command Example**|(% style="width:227px;color:#0070C0" %)**Function**|(% style="width:329px;color:#0070C0" %)**Response**
115 115  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
116 116  OK
117 117  
... ... @@ -122,6 +122,8 @@
122 122  )))
123 123  
124 124  (((
130 +
131 +
125 125  (% style="color:blue" %)**Downlink Command: 0x01**
126 126  
127 127  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -132,7 +132,6 @@
132 132  )))
133 133  
134 134  * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
135 -
136 136  * **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
137 137  
138 138  (% style="display:none" %) (%%)
... ... @@ -143,10 +143,11 @@
143 143  Feature: Reboot End Node to perform a new OTAA or ABP Join.
144 144  
145 145  
146 -(% style="color:blue" %)**AT Command: ATZ  ~/~/ **(%%)Trig a reset of the MCU
152 +(% style="color:blue" %)**AT Command: ATZ**
147 147  
148 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %)
149 -|(% 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**
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**
150 150  |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
151 151  Device reset and show booting info
152 152  
... ... @@ -178,10 +178,11 @@
178 178  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.
179 179  
180 180  
181 -(% style="color:blue" %)**AT Command: AT+FDR  ~/~/  **(%%)Reset to factory default
188 +(% style="color:blue" %)**AT Command: AT+FDR**
182 182  
183 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %)
184 -|(% 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**
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**
185 185  |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
186 186  Device reset to factory default parameters and show booting info
187 187  
... ... @@ -213,10 +213,11 @@
213 213  Feature: Show firmware version. No downlink command yet.
214 214  
215 215  
216 -(% style="color:blue" %)**AT Command: AT+VER  ~/~/   **(%%)Image Version and Frequency Band
224 +(% style="color:blue" %)**AT Command: AT+VER**
217 217  
218 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %)
219 -|(% 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**
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**
220 220  |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
221 221  1.3 EU868
222 222  
... ... @@ -226,17 +226,17 @@
226 226  (% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)**
227 227  
228 228  (((
229 -Format: Command Code (0x26) followed by 1 byte.
238 +Downlink Format: 0x26
230 230  )))
231 231  
232 232  (((
233 -If the downlink payload=**2601, **Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes(  FPort= 5 usually).
242 +Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes
234 234  )))
235 235  
236 236  (((
237 237  
238 238  
239 -(% style="color:#037691" %)**xx: Software Type:**
248 +**xx: Software Type:**
240 240  )))
241 241  
242 242  * 0x00 01: LGT92 Version
... ... @@ -246,7 +246,7 @@
246 246  (((
247 247  
248 248  
249 -(% style="color:#037691" %)**yy: Frequency Band:**
258 +**yy: Frequency Band:**
250 250  )))
251 251  
252 252  * 0x01: EU868
... ... @@ -256,14 +256,14 @@
256 256  * 0x05: KZ865
257 257  * 0x06: RU864
258 258  * 0x07: AS923
259 -* 0x08: AS923-2
260 -* 0x09: AS923-3
261 -* 0xa0: AS923-4
268 +* 0x08: AS923-1
269 +* 0x09: AS923-2
270 +* 0xa0: AS923-3
262 262  
263 263  (((
264 264  
265 265  
266 -(% style="color:#037691" %)**zz: Subband**
275 +**zz: Subband**
267 267  )))
268 268  
269 269  firmware version: v1.1.0 ~-~-> 110
... ... @@ -275,10 +275,11 @@
275 275  Feature: Show All configure. No downlink command yet.
276 276  
277 277  
278 -(% style="color:blue" %)**AT Command: AT+CFG  ~/~/ **(%%)Print all configurations
287 +(% style="color:blue" %)**AT Command: AT+CFG**
279 279  
280 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %)
281 -|(% 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**
289 +(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
290 +|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
291 +|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
282 282  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
283 283  AT+DEUI = XX XX XX XX XX XX XX XX
284 284  AT+DADDR=XXXXXXXX
... ... @@ -300,12 +300,13 @@
300 300  
301 301  (% style="color:blue" %)**AT Command: AT+APPEUI**
302 302  
303 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %)
304 -|(% 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**
305 -|(% style="width:272px" %)AT+APPEUI=?|(% style="width:182px" %)Get the Application EUI|(% style="width:184px" %)00 b3 d5 00 00 00 00 00(((
313 +(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
314 +|=(% colspan="3" style="width: 683px;" %)AT+APPEUI
315 +|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
316 +|(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
306 306  OK
307 307  )))
308 -|(% style="width:272px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:182px" %)Set the Application EUI|(% style="width:184px" %)OK
319 +|(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK
309 309  
310 310  (% style="display:none" %) (%%)
311 311  
... ... @@ -317,8 +317,9 @@
317 317  
318 318  (% style="color:blue" %)**AT Command: AT+APPKEY**
319 319  
320 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %)
321 -|(% 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**
331 +(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
332 +|=(% colspan="3" style="width: 973px;" %)AT+APPKEY
333 +|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
322 322  |(% 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(((
323 323  OK
324 324  )))
... ... @@ -334,8 +334,9 @@
334 334  
335 335  (% style="color:blue" %)**AT Command: AT+APPSKEY**
336 336  
337 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %)
338 -|(% 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**
349 +(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
350 +|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
351 +|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
339 339  |(% 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(((
340 340  OK
341 341  )))
... ... @@ -353,8 +353,9 @@
353 353  
354 354  (% style="color:blue" %)**AT Command: AT+DADDR**
355 355  
356 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %)
357 -|(% 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**
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**
358 358  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
359 359  A8 40 41 FF
360 360  
... ... @@ -372,8 +372,9 @@
372 372  
373 373  (% style="color:blue" %)**AT Command: AT+DEUI**
374 374  
375 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %)
376 -|(% 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**
389 +(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
390 +|=(% colspan="3" style="width: 1032px;" %)AT+DEUI
391 +|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
377 377  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
378 378  OK
379 379  )))
... ... @@ -391,8 +391,9 @@
391 391  
392 392  (% style="color:blue" %)**AT Command: AT+NWKID**
393 393  
394 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %)
395 -|(% 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**
409 +(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
410 +|=(% colspan="3" style="width: 445px;" %)AT+NWKID
411 +|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
396 396  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
397 397  OK
398 398  )))
... ... @@ -408,8 +408,9 @@
408 408  
409 409  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
410 410  
411 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %)
412 -|(% 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 +(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
428 +|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
429 +|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
413 413  |(% 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(((
414 414  OK
415 415  )))
... ... @@ -429,8 +429,9 @@
429 429  
430 430  (% style="color:blue" %)**AT Command: AT+CFM**
431 431  
432 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
433 -|(% 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**
449 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
450 +|=(% colspan="3" style="width: 707px;" %)AT+CFM
451 +|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
434 434  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
435 435  OK
436 436  )))
... ... @@ -439,12 +439,11 @@
439 439  
440 440  (% style="color:blue" %)**Downlink Command: 0x05**
441 441  
442 -Format: Command Code (0x05) followed by 1 byte mode value.
460 +Format: Command Code (0x05) followed by 2 bytes mode value.
443 443  
444 444  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
445 445  
446 446  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
447 -
448 448  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
449 449  
450 450  (% style="display:none" %) (%%)
... ... @@ -454,13 +454,14 @@
454 454  
455 455  (% style="color:blue" %)**AT Command: AT+CFM**
456 456  
457 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %)
458 -|(% 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**
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**
459 459  |(% style="width:160px" %)(((
460 460  AT+CFM=1,0,0
461 461  
462 462  value1
463 -)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)(((
481 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
464 464  1
465 465  
466 466  OK
... ... @@ -469,7 +469,7 @@
469 469  AT+CFM=0,?,0
470 470  
471 471  value2
472 -)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:100px" %)(((
490 +)))|(% style="width:198px" %)set max retry , range: 0 ~~ 7|(% style="width:349px" %)(((
473 473  0~~7
474 474  
475 475  OK
... ... @@ -478,7 +478,7 @@
478 478  AT+CFM=0,0,1
479 479  
480 480  value3
481 -)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:100px" %)(((
499 +)))|(% style="width:198px" %)uplink fcnt increase by 1 for each retry|(% style="width:349px" %)(((
482 482  1
483 483  
484 484  OK
... ... @@ -486,12 +486,11 @@
486 486  
487 487  (% style="color:blue" %)**Downlink Command: 0x05**
488 488  
489 -Format: Command Code (0x05) followed by 3 bytes mode value.
507 +Format: Command Code (0x05) followed by 2 bytes mode value.
490 490  
491 491  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
492 492  
493 493  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
494 -
495 495  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
496 496  
497 497  (% style="display:none" %) (%%)
... ... @@ -504,8 +504,9 @@
504 504  
505 505  (% style="color:blue" %)**AT Command: AT+CFS**
506 506  
507 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %)
508 -|(% 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**
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**
509 509  |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
510 510  OK
511 511  )))
... ... @@ -520,8 +520,9 @@
520 520  
521 521  (% style="color:blue" %)**AT Command: AT+JOIN**
522 522  
523 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %)
524 -|(% 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**
541 +(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
542 +|=(% colspan="3" style="width: 644px;" %)AT+JOIN
543 +|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
525 525  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
526 526  OK
527 527  While Error in format, return AT_BUSY_ERROR
... ... @@ -537,8 +537,9 @@
537 537  
538 538  (% style="color:blue" %)**AT Command: AT+NJM**
539 539  
540 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %)
541 -|(% 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**
559 +(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
560 +|=(% colspan="3" style="width: 750px;" %)AT+NJM
561 +|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
542 542  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
543 543  OK
544 544  )))
... ... @@ -552,7 +552,6 @@
552 552  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
553 553  
554 554  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
555 -
556 556  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
557 557  
558 558  (% style="display:none" %) (%%)
... ... @@ -565,9 +565,10 @@
565 565  
566 566  (% style="color:blue" %)**AT Command: AT+NJS**
567 567  
568 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %)
569 -|(% 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**
570 -|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:97px" %)0(((
587 +(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
588 +|=(% colspan="3" style="width: 495px;" %)AT+NJS
589 +|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
590 +|(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
571 571  OK
572 572  )))
573 573  
... ... @@ -581,9 +581,10 @@
581 581  
582 582  (% style="color:blue" %)**AT Command: AT+RECV**
583 583  
584 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %)
585 -|(% 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**
586 -|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:104px" %)0:(((
604 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
605 +|=(% colspan="3" style="width: 584px;" %)AT+RECV
606 +|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
607 +|(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
587 587  OK
588 588  )))
589 589  
... ... @@ -597,8 +597,9 @@
597 597  
598 598  (% style="color:blue" %)**AT Command: AT+RECVB**
599 599  
600 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %)
601 -|(% 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**
621 +(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
622 +|=(% colspan="3" style="width: 790px;" %)AT+RECVB
623 +|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
602 602  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
603 603  OK
604 604  )))
... ... @@ -605,7 +605,7 @@
605 605  
606 606  (% style="display:none" %) (%%)
607 607  
608 -== 6.8 Send Text Data(Note: The format of this command of LA66 is subject to the manual) ==
630 +== 6.8 Send Text Data ==
609 609  
610 610  
611 611  Feature: Send Text Data<port:data>.
... ... @@ -613,8 +613,9 @@
613 613  
614 614  (% style="color:blue" %)**AT Command: AT+SEND**
615 615  
616 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %)
617 -|(% 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**
638 +(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
639 +|=(% colspan="3" style="width: 988px;" %)AT+SEND
640 +|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
618 618  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
619 619  While Error in format, return
620 620  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
... ... @@ -622,7 +622,7 @@
622 622  
623 623  (% style="display:none" %) (%%)
624 624  
625 -== 6.9 Send Hexadecimal Data(Note: The format of this command of LA66 is subject to the manual) ==
648 +== 6.9 Send Hexadecimal Data ==
626 626  
627 627  
628 628  Feature: Send hexadecimal data along with the application port.
... ... @@ -630,10 +630,11 @@
630 630  
631 631  (% style="color:blue" %)**AT Command: AT+SENDB**
632 632  
633 -(% border="1" cellspacing="4" style="width:974px" %)
634 -|(% 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**
635 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
636 -|(% 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(((
656 +(% border="1" style="background-color:#ffffcc; color:green; width:1101px" %)
657 +|=(% colspan="3" style="width: 1098px;" %)AT+SENDB
658 +|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response**
659 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK
660 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)While Error in format, return(((
637 637  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
638 638  )))
639 639  
... ... @@ -649,13 +649,14 @@
649 649  
650 650  (% style="color:blue" %)**AT Command: AT+ADR**
651 651  
652 -(% border="1" cellspacing="4" style="width:643px" %)
653 -|(% 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**
654 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1(((
676 +(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
677 +|=(% colspan="3" style="width: 680px;" %)AT+ADR
678 +|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
679 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
655 655  OK
656 656  )))
657 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK
658 -|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)While Error in format, return(((
682 +|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
683 +|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
659 659  AT_PARAM_ERROR
660 660  )))
661 661  
... ... @@ -664,7 +664,6 @@
664 664  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
665 665  
666 666  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
667 -
668 668  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
669 669  
670 670  (% style="display:none" %) (%%)
... ... @@ -677,12 +677,13 @@
677 677  
678 678  (% style="color:blue" %)**AT Command:  AT+CLASS**
679 679  
680 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %)
681 -|(% 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**
682 -|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:94px" %)A(((
704 +(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
705 +|=(% colspan="3" style="width: 504px;" %)AT+CLASS
706 +|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
707 +|(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
683 683  OK
684 684  )))
685 -|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:94px" %)OK(((
710 +|(% style="width:163px" %)AT+CLASS=C|(% style="width:166px" %)Set the Device Class.|(% style="width:175px" %)OK(((
686 686  
687 687  )))
688 688  
... ... @@ -696,13 +696,14 @@
696 696  == 7.3 Duty Cycle Setting ==
697 697  
698 698  
699 -Feature: Get or Set the ETSI Duty Cycle setting** : 0**=disable, **1**=enable - Only for testing.
724 +Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing.
700 700  
701 701  
702 702  (% style="color:blue" %)**AT Command:  AT+DCS**
703 703  
704 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %)
705 -|(% 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**
729 +(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
730 +|=(% colspan="3" style="width: 512px;" %)AT+DCS
731 +|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
706 706  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
707 707  OK
708 708  )))
... ... @@ -721,17 +721,17 @@
721 721  **Notice:**
722 722  
723 723  * 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.
724 -
725 725  * 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/]]
726 726  
727 727  (% style="color:blue" %)**AT Command: AT+DR**
728 728  
729 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %)
730 -|(% 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**
731 -|(% style="width:156px" %)AT+DR=?|(% style="width:147px" %)Get the Data Rate.|(% style="width:100px" %)5(((
754 +(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
755 +|=(% colspan="3" style="width: 463px;" %)AT+DR
756 +|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
757 +|(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
732 732  OK
733 733  )))
734 -|(% style="width:156px" %)AT+DR=2|(% style="width:147px" %)Set the Data Rate.|(% style="width:100px" %)OK(((
760 +|(% style="width:156px" %)AT+DR=2|(% style="width:167px" %)Set the Data Rate.|(% style="width:140px" %)OK(((
735 735  
736 736  )))
737 737  
... ... @@ -740,7 +740,6 @@
740 740  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
741 741  
742 742  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
743 -
744 744  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
745 745  
746 746  (% style="display:none" %) (%%)
... ... @@ -753,8 +753,9 @@
753 753  
754 754  (% style="color:blue" %)**AT Command:  AT+FCD**
755 755  
756 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %)
757 -|(% 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**
781 +(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
782 +|=(% colspan="3" style="width: 690px;" %)AT+FCD
783 +|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
758 758  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
759 759  OK
760 760  )))
... ... @@ -771,8 +771,9 @@
771 771  
772 772  (% style="color:blue" %)**AT Command:  AT+FCU**
773 773  
774 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %)
775 -|(% 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**
800 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
801 +|=(% colspan="3" style="width: 531px;" %)AT+FCU
802 +|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
776 776  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
777 777  OK
778 778  )))
... ... @@ -790,8 +790,9 @@
790 790  
791 791  (% style="color:blue" %)**AT Command:  AT+JN1DL**
792 792  
793 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %)
794 -|(% 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**
820 +(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
821 +|=(% colspan="3" style="width: 534px;" %)AT+JN1DL
822 +|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
795 795  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
796 796  OK
797 797  )))
... ... @@ -809,8 +809,9 @@
809 809  
810 810  (% style="color:blue" %)**AT Command:  AT+JN2DL**
811 811  
812 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %)
813 -|(% 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**
840 +(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
841 +|=(% colspan="3" style="width: 535px;" %)AT+JN2DL
842 +|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
814 814  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
815 815  OK
816 816  )))
... ... @@ -830,8 +830,9 @@
830 830  
831 831  (% style="color:blue" %)**AT Command:  AT+PNM**
832 832  
833 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %)
834 -|(% 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**
862 +(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
863 +|=(% colspan="3" style="width: 664px;" %)AT+PNM
864 +|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
835 835  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
836 836  OK
837 837  )))
... ... @@ -856,8 +856,9 @@
856 856  
857 857  (% style="color:blue" %)**AT Command: AT+RX1DL**
858 858  
859 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %)
860 -|(% 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**
889 +(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
890 +|=(% colspan="3" style="width: 405px;" %)AT+RX1DL
891 +|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
861 861  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
862 862  OK
863 863  )))
... ... @@ -875,8 +875,9 @@
875 875  
876 876  (% style="color:blue" %)**AT Command: AT+RX2DL**
877 877  
878 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %)
879 -|(% 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**
909 +(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
910 +|=(% colspan="3" style="width: 478px;" %)AT+RX2DL
911 +|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
880 880  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
881 881  OK
882 882  )))
... ... @@ -894,8 +894,9 @@
894 894  
895 895  (% style="color:blue" %)**AT Command:  AT+RX2DR**
896 896  
897 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %)
898 -|(% 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**
929 +(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
930 +|=(% colspan="3" style="width: 522px;" %)AT+RX2DR
931 +|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
899 899  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
900 900  OK
901 901  )))
... ... @@ -913,8 +913,9 @@
913 913  
914 914  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
915 915  
916 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %)
917 -|(% 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**
949 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
950 +|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
951 +|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
918 918  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
919 919  OK
920 920  )))
... ... @@ -927,7 +927,7 @@
927 927  == 7.14 Transmit Power ==
928 928  
929 929  
930 -Feature: Get or Set the Transmit Power(0-5, MAX:0, MIN:5, according to LoRaWAN Spec, or 40=10dBm, 41 = 11dBm, …, 50 = 20dBm which is out of LoRaWAN spec. )
964 +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. )
931 931  
932 932  (% 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**
933 933  
... ... @@ -934,8 +934,9 @@
934 934  
935 935  (% style="color:blue" %)**AT Command:  AT+TXP**
936 936  
937 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %)
938 -|(% 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**
971 +(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
972 +|=(% colspan="3" style="width: 462px;" %)AT+TXP
973 +|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
939 939  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
940 940  OK
941 941  )))
... ... @@ -948,7 +948,6 @@
948 948  If the downlink payload=22000100, it means setting the TXP to 0.
949 949  
950 950  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
951 -
952 952  * **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
953 953  
954 954  (% style="display:none" %) (%%)
... ... @@ -961,8 +961,9 @@
961 961  
962 962  (% style="color:blue" %)**AT Command:AT+RSSI**
963 963  
964 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %)
965 -|(% 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**
998 +(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
999 +|=(% colspan="3" style="width: 554px;" %)AT+RSSI
1000 +|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
966 966  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
967 967  OK
968 968  )))
... ... @@ -977,8 +977,9 @@
977 977  
978 978  (% style="color:blue" %)**AT Command:  AT+SNR**
979 979  
980 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %)
981 -|(% 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**
1015 +(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
1016 +|=(% colspan="3" style="width: 568px;" %)AT+SNR
1017 +|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
982 982  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
983 983  OK
984 984  )))
... ... @@ -993,12 +993,13 @@
993 993  
994 994  (% style="color:blue" %)**AT Command: AT+PORT**
995 995  
996 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %)
997 -|(% 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**
998 -|(% style="width:157px" %)AT+PORT=?|(% style="width:193px" %)Get the application port|(% style="width:104px" %)21(((
1032 +(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
1033 +|=(% colspan="3" style="width: 497px;" %)AT+PORT
1034 +|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
1035 +|(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
999 999  OK
1000 1000  )))
1001 -|(% style="width:157px" %)AT+PORT=21|(% style="width:193px" %)Set the application port|(% style="width:104px" %)OK
1038 +|(% style="width:157px" %)AT+PORT=21|(% style="width:204px" %)Set the application port|(% style="width:135px" %)OK
1002 1002  
1003 1003  (% style="color:blue" %)**Downlink Command: 0x23**
1004 1004  
... ... @@ -1007,7 +1007,6 @@
1007 1007  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1008 1008  
1009 1009  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1010 -
1011 1011  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1012 1012  
1013 1013  (% style="display:none" %) (%%)
... ... @@ -1020,12 +1020,13 @@
1020 1020  
1021 1021  (% style="color:blue" %)**AT Command: AT+CHS**
1022 1022  
1023 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %)
1024 -|(% 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**
1025 -|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:101px" %)0(((
1059 +(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1060 +|=(% colspan="3" style="width: 600px;" %)AT+CHS
1061 +|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1062 +|(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
1026 1026  OK
1027 1027  )))
1028 -|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:101px" %)OK
1065 +|(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1029 1029  
1030 1030  (% style="display:none" %) (%%)
1031 1031  
... ... @@ -1037,8 +1037,9 @@
1037 1037  
1038 1038  (% style="color:blue" %)**AT Command: AT+CHE**
1039 1039  
1040 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
1041 -|(% 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**
1077 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1078 +|=(% colspan="3" style="width: 707px;" %)AT+CHE
1079 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1042 1042  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1043 1043  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1044 1044  
... ... @@ -1053,7 +1053,6 @@
1053 1053  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1054 1054  
1055 1055  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1056 -
1057 1057  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1058 1058  
1059 1059  (% style="display:none" %) (%%)
... ... @@ -1066,8 +1066,9 @@
1066 1066  
1067 1067  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1068 1068  
1069 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %)
1070 -|(% 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**
1106 +(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1107 +|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1108 +|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1071 1071  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1072 1072  OK
1073 1073  )))
... ... @@ -1085,22 +1085,7 @@
1085 1085  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.
1086 1086  )))
1087 1087  
1088 -**Example:**
1089 -~1. Set AT+RX1WTO=0, AT+RX1DL=5000, the window opening time is: 53.699ms
1090 1090  
1091 -[[image:image-20240906095336-1.png||height="404" width="759"]]
1092 -
1093 -
1094 -2. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 149.644ms
1095 -
1096 -[[image:image-20240906095433-2.png||height="403" width="756"]]
1097 -
1098 -
1099 -3. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 298.221ms
1100 -
1101 -[[image:image-20240906095527-3.png||height="400" width="749"]]
1102 -
1103 -
1104 1104  == 7.21 Get or Set RXwindows2 timeout ==
1105 1105  
1106 1106  
... ... @@ -1109,29 +1109,16 @@
1109 1109  
1110 1110  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1111 1111  
1112 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %)
1113 -|(% 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**
1114 -|(% style="width:162px" %)AT+RX2WTO=?|(% style="width:192px" %)Get RXwindows2 timeout|(% style="width:90px" %)7(((
1135 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1136 +|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1137 +|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1138 +|(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1115 1115  OK
1116 1116  )))
1117 -|(% style="width:162px" %)AT+RX2WTO=20|(% style="width:192px" %)Set RXwindows2 timeout|(% style="width:90px" %)OK
1141 +|(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1118 1118  
1119 -**Example:**
1120 -~1. Set AT+RX2WTO=0, AT+RX2DL=6000, the window opening time is: 48.435ms
1143 +(% style="display:none" %) (%%)
1121 1121  
1122 -(% style="display:none" %) (%%) [[image:image-20240906095619-4.png||height="375" width="703"]]
1123 -
1124 -
1125 -2. Set AT+RX2WTO=128, AT+RX2DL=6000, the window opening time is: 3011ms
1126 -
1127 -[[image:image-20240906095726-5.png||height="381" width="714"]]
1128 -
1129 -
1130 -3. Set AT+RX2WTO=255, AT+RX2DL=6000, the window opening time is: 3009ms
1131 -
1132 -[[image:image-20240906095811-6.png||height="380" width="711"]]
1133 -
1134 -
1135 1135  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1136 1136  
1137 1137  
... ... @@ -1140,12 +1140,13 @@
1140 1140  
1141 1141  (% style="color:blue" %)**AT Command: AT+DWELLT**
1142 1142  
1143 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %)
1144 -|(% 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**
1145 -|(% style="width:162px" %)AT+DWELLT=?|(% style="width:157px" %)Get uplinkdwelltime|(% style="width:95px" %)1(((
1153 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1154 +|=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1155 +|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1156 +|(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1146 1146  OK
1147 1147  )))
1148 -|(% style="width:162px" %)AT+DWELLT=0|(% style="width:157px" %)Set uplinkdwelltime|(% style="width:95px" %)OK
1159 +|(% style="width:183px" %)AT+DWELLT=0|(% style="width:179px" %)Set uplinkdwelltime|(% style="width:131px" %)OK
1149 1149  
1150 1150  (% style="color:blue" %)**Downlink Command: 0x25**
1151 1151  
... ... @@ -1154,7 +1154,6 @@
1154 1154  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1155 1155  
1156 1156  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1157 -
1158 1158  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1159 1159  
1160 1160  (% style="display:none" %) (%%)
... ... @@ -1165,30 +1165,25 @@
1165 1165  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.
1166 1166  
1167 1167  
1168 -(% style="color:blue" %)**RPL value:**
1178 +**RPL value:**
1169 1169  
1170 1170  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1171 -
1172 1172  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1173 -
1174 1174  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1175 -
1176 1176  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1177 -
1178 1178  * **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.
1179 1179  
1180 -(% style="color:blue" %)**Case Analyes:**
1186 +**Case Analyes:**
1181 1181  
1182 1182  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1183 -
1184 1184  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1185 -
1186 1186  * 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.
1187 1187  
1188 1188  (% style="color:blue" %)**AT Command: AT+RPL**
1189 1189  
1190 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %)
1191 -|(% 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**
1194 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1195 +|=(% colspan="3" style="width: 533px;" %)AT+RPL
1196 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1192 1192  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1193 1193  OK
1194 1194  )))
... ... @@ -1201,7 +1201,6 @@
1201 1201  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1202 1202  
1203 1203  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1204 -
1205 1205  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1206 1206  
1207 1207  (% style="display:none" %) (%%)
... ... @@ -1211,12 +1211,13 @@
1211 1211  
1212 1212  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1213 1213  
1214 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %)
1215 -|(% 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**
1216 -|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1218 +(% border="1" style="background-color:#ffffcc; color:green; width:589px" %)
1219 +|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS**
1220 +|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response**
1221 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1217 1217  OK
1218 1218  )))
1219 -|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1224 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1220 1220  value2: 0: uplink fcnt doesn't change for each NBTrans;
1221 1221  
1222 1222  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1233,7 +1233,6 @@
1233 1233  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1234 1234  
1235 1235  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1236 -
1237 1237  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1238 1238  
1239 1239  (% style="display:none" %) (%%)
... ... @@ -1246,16 +1246,16 @@
1246 1246  AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1247 1247  
1248 1248  * ACK_Timout_1: Unit: min
1249 -
1250 1250  * ACK_Timout_2: Unit: min
1251 1251  
1252 -(% border="1" style="background-color:#f2f2f2; width:562px" %)
1253 -|(% 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**
1255 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1256 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1257 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1254 1254  |(% style="width:160px" %)(((
1255 1255  AT+DDETECT=1,1440,2880
1256 1256  
1257 1257  value1
1258 -)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)(((
1262 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1259 1259  1
1260 1260  
1261 1261  OK
... ... @@ -1264,7 +1264,7 @@
1264 1264  AT+DDETECT=1,?,2880
1265 1265  
1266 1266  value2
1267 -)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)(((
1271 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1268 1268  
1269 1269  
1270 1270  OK
... ... @@ -1273,7 +1273,7 @@
1273 1273  AT+DDETECT=1,1440,?
1274 1274  
1275 1275  value3
1276 -)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)(((
1280 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1277 1277  
1278 1278  
1279 1279  OK
... ... @@ -1286,55 +1286,45 @@
1286 1286  If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1287 1287  
1288 1288  * **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1293 +** 0x01 : Flag
1294 +** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1295 +** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1296 +** **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.
1289 1289  
1290 -*
1291 -** 0x01** : Flag**
1292 -
1293 - **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours)
1294 -
1295 - **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours)
1296 -
1297 -* **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.
1298 -
1299 1299  (% style="display:none" %) (%%)
1300 1300  
1301 1301  == 7.26 Request the server to send an ACK ==
1302 1302  
1303 1303  
1304 -Feature: Mode for sending data for which acknowledgment was not received. LoraWAN Network Server(eg. The Things NetWork/ChirpStack/AWS/...).
1305 -
1306 1306  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1307 1307  
1308 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1309 -|(% 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**
1310 -|(% style="width:160px" %)AT+PNACKMD=1|(% style="width:627px" %)If the node uploads the ACK as confirm, it will request the LoraWAN Network Server to send an ACK. If the LoraWAN Network 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(((
1305 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1306 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1307 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1308 +|(% 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(((
1311 1311  OK
1312 1312  )))
1313 -|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:627px" %)off request the LoraWAN Network Server to send an ACK|(% style="width:100px" %)(((
1311 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1314 1314  0
1315 1315  OK
1316 1316  )))
1317 1317  
1318 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34**
1316 +(% style="display:none" %) (%%)
1319 1319  
1320 -0X34 01  ~/~/Same As AT+PNACKMD=1
1321 -
1322 -0x34 00  ~/~/Same As AT+PNACKMD=0
1323 -
1324 -
1325 1325  == 7.27 Adjust network rejoining interval ==
1326 1326  
1327 1327  
1328 1328  (% style="color:blue" %)**AT Command: AT+RJTDC**
1329 1329  
1330 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1331 -|(% 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**
1332 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:357px" %)Show the ReJoin data transmission interval in min|(% style="width:361px" %)30(((
1323 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1324 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1325 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1326 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1333 1333  OK
1334 1334  
1335 1335  the interval is 30 min
1336 1336  )))
1337 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width:357px" %)Set the ReJoin data transmission interval in min|(% style="width:361px" %)OK(((
1331 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1338 1338  Set the ReJoin data transmission interval to 60 min
1339 1339  )))
1340 1340  
... ... @@ -1344,10 +1344,9 @@
1344 1344  
1345 1345  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1346 1346  
1347 -* **Example 1:** Downlink Payload: 26000A  ~/~/  Set AT+RJTDC=10
1341 +* **Example 1:** Downlink Payload: 26000A  ~/~/ Set AT+RJTDC=10
1342 +* **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1348 1348  
1349 -* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1350 -
1351 1351  (% style="display:none" %) (%%)
1352 1352  
1353 1353  = 8. AT Commands Combination =
... ... @@ -1355,9 +1355,9 @@
1355 1355  == 8.1 Set a fix RX2DR for downlink window ==
1356 1356  
1357 1357  
1358 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1351 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1359 1359  
1360 -* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~/~/**  Set xxxx to your wanted DataRate
1353 +* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1361 1361  
1362 1362  (% style="display:none" %) (%%)
1363 1363  
image-20240906095336-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.kai
Size
... ... @@ -1,1 +1,0 @@
1 -111.0 KB
Content
image-20240906095433-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.kai
Size
... ... @@ -1,1 +1,0 @@
1 -113.2 KB
Content
image-20240906095527-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.kai
Size
... ... @@ -1,1 +1,0 @@
1 -111.6 KB
Content
image-20240906095619-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.kai
Size
... ... @@ -1,1 +1,0 @@
1 -112.4 KB
Content
image-20240906095726-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.kai
Size
... ... @@ -1,1 +1,0 @@
1 -114.0 KB
Content
image-20240906095811-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.kai
Size
... ... @@ -1,1 +1,0 @@
1 -112.8 KB
Content