Last modified by Mengting Qiu on 2025/07/08 16:32

From version 81.15
edited by Mengting Qiu
on 2025/07/01 15:35
Change comment: There is no comment for this version
To version 63.8
edited by Xiaoling
on 2023/04/19 14:45
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,14 +18,10 @@
18 18  )))
19 19  
20 20  
21 -
22 -
23 -
24 24  = 2. How to use AT Commands or Downlink command =
25 25  
26 26  
27 -* **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/]]**.
28 -
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/]]
29 29  * **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:
30 30  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
31 31  ** 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]]?
... ... @@ -36,10 +36,17 @@
36 36  = 3. Support End Node and firmware version =
37 37  
38 38  
34 +(% border="1" style="background-color:#F2F2F2; width:966px" %)
35 +|=(% colspan="3" style="width: 963px;background-color:#D9E2F3" %)(((
39 39  Dragino STM32 base hardware Firmware / LoRaWAN stack list
40 -
41 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %)
42 -|(% 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 +)))
43 43  |(% style="width:187px" %)(((
44 44  [[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]],
45 45  )))|(% style="width:330px" %)(((
... ... @@ -112,8 +112,9 @@
112 112  
113 113  (% style="color:blue" %)**AT Command: AT+TDC**
114 114  
115 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %)
116 -|(% 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;color:#037691" %)AT+TDC
119 +|(% style="width:165px;color:#0070C0" %)**Command Example**|(% style="width:227px;color:#0070C0" %)**Function**|(% style="width:329px;color:#0070C0" %)**Response**
117 117  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
118 118  OK
119 119  
... ... @@ -124,6 +124,8 @@
124 124  )))
125 125  
126 126  (((
130 +
131 +
127 127  (% style="color:blue" %)**Downlink Command: 0x01**
128 128  
129 129  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -134,7 +134,6 @@
134 134  )))
135 135  
136 136  * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
137 -
138 138  * **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
139 139  
140 140  (% style="display:none" %) (%%)
... ... @@ -145,10 +145,11 @@
145 145  Feature: Reboot End Node to perform a new OTAA or ABP Join.
146 146  
147 147  
148 -(% style="color:blue" %)**AT Command: ATZ  ~/~/ **(%%)Trig a reset of the MCU
152 +(% style="color:blue" %)**AT Command: ATZ**
149 149  
150 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %)
151 -|(% 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**
152 152  |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
153 153  Device reset and show booting info
154 154  
... ... @@ -180,10 +180,11 @@
180 180  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.
181 181  
182 182  
183 -(% style="color:blue" %)**AT Command: AT+FDR  ~/~/  **(%%)Reset to factory default
188 +(% style="color:blue" %)**AT Command: AT+FDR**
184 184  
185 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %)
186 -|(% 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**
187 187  |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
188 188  Device reset to factory default parameters and show booting info
189 189  
... ... @@ -215,10 +215,11 @@
215 215  Feature: Show firmware version. No downlink command yet.
216 216  
217 217  
218 -(% style="color:blue" %)**AT Command: AT+VER  ~/~/   **(%%)Image Version and Frequency Band
224 +(% style="color:blue" %)**AT Command: AT+VER**
219 219  
220 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %)
221 -|(% 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**
222 222  |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
223 223  1.3 EU868
224 224  
... ... @@ -228,17 +228,17 @@
228 228  (% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)**
229 229  
230 230  (((
231 -Format: Command Code (0x26) followed by 1 byte.
238 +Downlink Format: 0x26
232 232  )))
233 233  
234 234  (((
235 -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
236 236  )))
237 237  
238 238  (((
239 239  
240 240  
241 -(% style="color:#037691" %)**xx: Software Type:**
248 +**xx: Software Type:**
242 242  )))
243 243  
244 244  * 0x00 01: LGT92 Version
... ... @@ -248,7 +248,7 @@
248 248  (((
249 249  
250 250  
251 -(% style="color:#037691" %)**yy: Frequency Band:**
258 +**yy: Frequency Band:**
252 252  )))
253 253  
254 254  * 0x01: EU868
... ... @@ -258,14 +258,14 @@
258 258  * 0x05: KZ865
259 259  * 0x06: RU864
260 260  * 0x07: AS923
261 -* 0x08: AS923-2
262 -* 0x09: AS923-3
263 -* 0xa0: AS923-4
268 +* 0x08: AS923-1
269 +* 0x09: AS923-2
270 +* 0xa0: AS923-3
264 264  
265 265  (((
266 266  
267 267  
268 -(% style="color:#037691" %)**zz: Subband**
275 +**zz: Subband**
269 269  )))
270 270  
271 271  firmware version: v1.1.0 ~-~-> 110
... ... @@ -277,10 +277,11 @@
277 277  Feature: Show All configure. No downlink command yet.
278 278  
279 279  
280 -(% style="color:blue" %)**AT Command: AT+CFG  ~/~/ **(%%)Print all configurations
287 +(% style="color:blue" %)**AT Command: AT+CFG**
281 281  
282 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %)
283 -|(% 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**
284 284  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
285 285  AT+DEUI = XX XX XX XX XX XX XX XX
286 286  AT+DADDR=XXXXXXXX
... ... @@ -292,52 +292,6 @@
292 292  
293 293  (% style="display:none" %) (%%)
294 294  
295 -== 4.6 Get or Set time synchronization method(The network server must support LoRaWAN v1.0.3) ==
296 -
297 -
298 -Feature: Set the system time synchronization.
299 -
300 -(% style="color:blue" %)**AT Command: AT+SYNCMOD**
301 -
302 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %)
303 -|(% 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**
304 -|(% style="width:165px" %)AT+SYNCMOD=?|(% style="width:227px" %)Get the current time synchronization configuration|(% style="width:329px" %)(((
305 -1,0(Default)
306 -
307 -(((
308 -OK
309 -)))
310 -)))
311 -|(% style="width:165px" %)AT+SYNCMOD=1,8|(% style="width:227px" %)Set the time to UTC+8 time display.|(% style="width:329px" %)OK
312 -
313 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %)
314 -|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command format**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Parameters**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Explanation**
315 -|(% colspan="1" rowspan="2" style="width:165px" %)(((
316 -
317 -
318 -AT+SYNCMOD=a,b
319 -)))|(% style="width:227px" %)a: Set the system time synchronization|(% style="width:329px" %)(((
320 -0: Disenable system time synchronization.
321 -
322 -1: Enable system time synchronization.
323 -)))
324 -|(% style="width:227px" %)b: Set local time (24 zones)|(% style="width:329px" %)-12~~12
325 -
326 -(((
327 -Example: AT+SYNCMOD=1,8  ~/~/Set the time to UTC+8 time display.
328 -
329 -(% style="color:blue" %)**Downlink Command: **(%%)28 aa xx
330 -)))
331 -
332 -* (((
333 -Example:  downlink 0x280108 ~-~-~-~-->AT+SYNCMOD=1,8
334 -)))
335 -
336 -Note: This command takes effect after the node is reset, or after downlink 0x2601(query device status).
337 -
338 -
339 -
340 -
341 341  = 5. Keys, IDs and EUIs management =
342 342  
343 343  == 5.1 Application EUI ==
... ... @@ -348,12 +348,13 @@
348 348  
349 349  (% style="color:blue" %)**AT Command: AT+APPEUI**
350 350  
351 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %)
352 -|(% 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**
353 -|(% 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(((
354 354  OK
355 355  )))
356 -|(% 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
357 357  
358 358  (% style="display:none" %) (%%)
359 359  
... ... @@ -365,8 +365,9 @@
365 365  
366 366  (% style="color:blue" %)**AT Command: AT+APPKEY**
367 367  
368 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %)
369 -|(% 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**
370 370  |(% 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(((
371 371  OK
372 372  )))
... ... @@ -382,8 +382,9 @@
382 382  
383 383  (% style="color:blue" %)**AT Command: AT+APPSKEY**
384 384  
385 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %)
386 -|(% 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**
387 387  |(% 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(((
388 388  OK
389 389  )))
... ... @@ -401,8 +401,9 @@
401 401  
402 402  (% style="color:blue" %)**AT Command: AT+DADDR**
403 403  
404 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %)
405 -|(% 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**
406 406  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
407 407  A8 40 41 FF
408 408  
... ... @@ -420,8 +420,9 @@
420 420  
421 421  (% style="color:blue" %)**AT Command: AT+DEUI**
422 422  
423 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %)
424 -|(% 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**
425 425  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
426 426  OK
427 427  )))
... ... @@ -439,8 +439,9 @@
439 439  
440 440  (% style="color:blue" %)**AT Command: AT+NWKID**
441 441  
442 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %)
443 -|(% 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**
444 444  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
445 445  OK
446 446  )))
... ... @@ -456,8 +456,9 @@
456 456  
457 457  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
458 458  
459 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %)
460 -|(% 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**
461 461  |(% 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(((
462 462  OK
463 463  )))
... ... @@ -477,8 +477,9 @@
477 477  
478 478  (% style="color:blue" %)**AT Command: AT+CFM**
479 479  
480 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
481 -|(% 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**
482 482  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
483 483  OK
484 484  )))
... ... @@ -487,12 +487,11 @@
487 487  
488 488  (% style="color:blue" %)**Downlink Command: 0x05**
489 489  
490 -Format: Command Code (0x05) followed by 1 byte mode value.
460 +Format: Command Code (0x05) followed by 2 bytes mode value.
491 491  
492 492  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
493 493  
494 494  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
495 -
496 496  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
497 497  
498 498  (% style="display:none" %) (%%)
... ... @@ -502,13 +502,14 @@
502 502  
503 503  (% style="color:blue" %)**AT Command: AT+CFM**
504 504  
505 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %)
506 -|(% 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**
507 507  |(% style="width:160px" %)(((
508 508  AT+CFM=1,0,0
509 509  
510 510  value1
511 -)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)(((
481 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
512 512  1
513 513  
514 514  OK
... ... @@ -517,7 +517,7 @@
517 517  AT+CFM=0,?,0
518 518  
519 519  value2
520 -)))|(% 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" %)(((
521 521  0~~7
522 522  
523 523  OK
... ... @@ -526,7 +526,7 @@
526 526  AT+CFM=0,0,1
527 527  
528 528  value3
529 -)))|(% 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" %)(((
530 530  1
531 531  
532 532  OK
... ... @@ -534,12 +534,11 @@
534 534  
535 535  (% style="color:blue" %)**Downlink Command: 0x05**
536 536  
537 -Format: Command Code (0x05) followed by 3 bytes mode value.
507 +Format: Command Code (0x05) followed by 2 bytes mode value.
538 538  
539 539  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
540 540  
541 541  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
542 -
543 543  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
544 544  
545 545  (% style="display:none" %) (%%)
... ... @@ -552,8 +552,9 @@
552 552  
553 553  (% style="color:blue" %)**AT Command: AT+CFS**
554 554  
555 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %)
556 -|(% 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**
557 557  |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
558 558  OK
559 559  )))
... ... @@ -568,8 +568,9 @@
568 568  
569 569  (% style="color:blue" %)**AT Command: AT+JOIN**
570 570  
571 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %)
572 -|(% 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**
573 573  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
574 574  OK
575 575  While Error in format, return AT_BUSY_ERROR
... ... @@ -585,8 +585,9 @@
585 585  
586 586  (% style="color:blue" %)**AT Command: AT+NJM**
587 587  
588 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %)
589 -|(% 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**
590 590  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
591 591  OK
592 592  )))
... ... @@ -600,7 +600,6 @@
600 600  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
601 601  
602 602  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
603 -
604 604  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
605 605  
606 606  (% style="display:none" %) (%%)
... ... @@ -613,9 +613,10 @@
613 613  
614 614  (% style="color:blue" %)**AT Command: AT+NJS**
615 615  
616 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %)
617 -|(% 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**
618 -|(% 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(((
619 619  OK
620 620  )))
621 621  
... ... @@ -629,9 +629,10 @@
629 629  
630 630  (% style="color:blue" %)**AT Command: AT+RECV**
631 631  
632 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %)
633 -|(% 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**
634 -|(% 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:(((
635 635  OK
636 636  )))
637 637  
... ... @@ -645,8 +645,9 @@
645 645  
646 646  (% style="color:blue" %)**AT Command: AT+RECVB**
647 647  
648 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %)
649 -|(% 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**
650 650  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
651 651  OK
652 652  )))
... ... @@ -653,7 +653,7 @@
653 653  
654 654  (% style="display:none" %) (%%)
655 655  
656 -== 6.8 Send Text Data(Note: The format of this command of LA66 is subject to the manual) ==
630 +== 6.8 Send Text Data ==
657 657  
658 658  
659 659  Feature: Send Text Data<port:data>.
... ... @@ -661,8 +661,9 @@
661 661  
662 662  (% style="color:blue" %)**AT Command: AT+SEND**
663 663  
664 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %)
665 -|(% 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**
666 666  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
667 667  While Error in format, return
668 668  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
... ... @@ -670,7 +670,7 @@
670 670  
671 671  (% style="display:none" %) (%%)
672 672  
673 -== 6.9 Send Hexadecimal Data(Note: The format of this command of LA66 is subject to the manual) ==
648 +== 6.9 Send Hexadecimal Data ==
674 674  
675 675  
676 676  Feature: Send hexadecimal data along with the application port.
... ... @@ -678,10 +678,11 @@
678 678  
679 679  (% style="color:blue" %)**AT Command: AT+SENDB**
680 680  
681 -(% border="1" cellspacing="4" style="width:974px" %)
682 -|(% 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**
683 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
684 -|(% 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(((
685 685  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
686 686  )))
687 687  
... ... @@ -697,13 +697,14 @@
697 697  
698 698  (% style="color:blue" %)**AT Command: AT+ADR**
699 699  
700 -(% border="1" cellspacing="4" style="width:643px" %)
701 -|(% 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**
702 -|(% 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(((
703 703  OK
704 704  )))
705 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK
706 -|(% 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(((
707 707  AT_PARAM_ERROR
708 708  )))
709 709  
... ... @@ -712,7 +712,6 @@
712 712  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
713 713  
714 714  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
715 -
716 716  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
717 717  
718 718  (% style="display:none" %) (%%)
... ... @@ -725,12 +725,13 @@
725 725  
726 726  (% style="color:blue" %)**AT Command:  AT+CLASS**
727 727  
728 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %)
729 -|(% 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**
730 -|(% 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(((
731 731  OK
732 732  )))
733 -|(% 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(((
734 734  
735 735  )))
736 736  
... ... @@ -744,13 +744,14 @@
744 744  == 7.3 Duty Cycle Setting ==
745 745  
746 746  
747 -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.
748 748  
749 749  
750 750  (% style="color:blue" %)**AT Command:  AT+DCS**
751 751  
752 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %)
753 -|(% 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**
754 754  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
755 755  OK
756 756  )))
... ... @@ -769,17 +769,17 @@
769 769  **Notice:**
770 770  
771 771  * 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.
772 -
773 773  * 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/]]
774 774  
775 775  (% style="color:blue" %)**AT Command: AT+DR**
776 776  
777 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %)
778 -|(% 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**
779 -|(% 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(((
780 780  OK
781 781  )))
782 -|(% 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(((
783 783  
784 784  )))
785 785  
... ... @@ -788,7 +788,6 @@
788 788  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
789 789  
790 790  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
791 -
792 792  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
793 793  
794 794  (% style="display:none" %) (%%)
... ... @@ -801,8 +801,9 @@
801 801  
802 802  (% style="color:blue" %)**AT Command:  AT+FCD**
803 803  
804 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %)
805 -|(% 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**
806 806  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
807 807  OK
808 808  )))
... ... @@ -819,8 +819,9 @@
819 819  
820 820  (% style="color:blue" %)**AT Command:  AT+FCU**
821 821  
822 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %)
823 -|(% 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**
824 824  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
825 825  OK
826 826  )))
... ... @@ -838,8 +838,9 @@
838 838  
839 839  (% style="color:blue" %)**AT Command:  AT+JN1DL**
840 840  
841 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %)
842 -|(% 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**
843 843  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
844 844  OK
845 845  )))
... ... @@ -857,8 +857,9 @@
857 857  
858 858  (% style="color:blue" %)**AT Command:  AT+JN2DL**
859 859  
860 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %)
861 -|(% 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**
862 862  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
863 863  OK
864 864  )))
... ... @@ -878,8 +878,9 @@
878 878  
879 879  (% style="color:blue" %)**AT Command:  AT+PNM**
880 880  
881 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %)
882 -|(% 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**
883 883  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
884 884  OK
885 885  )))
... ... @@ -904,8 +904,9 @@
904 904  
905 905  (% style="color:blue" %)**AT Command: AT+RX1DL**
906 906  
907 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %)
908 -|(% 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**
909 909  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
910 910  OK
911 911  )))
... ... @@ -923,8 +923,9 @@
923 923  
924 924  (% style="color:blue" %)**AT Command: AT+RX2DL**
925 925  
926 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %)
927 -|(% 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**
928 928  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
929 929  OK
930 930  )))
... ... @@ -942,8 +942,9 @@
942 942  
943 943  (% style="color:blue" %)**AT Command:  AT+RX2DR**
944 944  
945 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %)
946 -|(% 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**
947 947  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
948 948  OK
949 949  )))
... ... @@ -961,8 +961,9 @@
961 961  
962 962  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
963 963  
964 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %)
965 -|(% 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**
966 966  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
967 967  OK
968 968  )))
... ... @@ -975,7 +975,7 @@
975 975  == 7.14 Transmit Power ==
976 976  
977 977  
978 -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. )
979 979  
980 980  (% 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**
981 981  
... ... @@ -982,8 +982,9 @@
982 982  
983 983  (% style="color:blue" %)**AT Command:  AT+TXP**
984 984  
985 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %)
986 -|(% 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**
987 987  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
988 988  OK
989 989  )))
... ... @@ -996,7 +996,6 @@
996 996  If the downlink payload=22000100, it means setting the TXP to 0.
997 997  
998 998  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
999 -
1000 1000  * **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
1001 1001  
1002 1002  (% style="display:none" %) (%%)
... ... @@ -1009,8 +1009,9 @@
1009 1009  
1010 1010  (% style="color:blue" %)**AT Command:AT+RSSI**
1011 1011  
1012 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %)
1013 -|(% 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**
1014 1014  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
1015 1015  OK
1016 1016  )))
... ... @@ -1025,8 +1025,9 @@
1025 1025  
1026 1026  (% style="color:blue" %)**AT Command:  AT+SNR**
1027 1027  
1028 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %)
1029 -|(% 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**
1030 1030  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
1031 1031  OK
1032 1032  )))
... ... @@ -1041,12 +1041,13 @@
1041 1041  
1042 1042  (% style="color:blue" %)**AT Command: AT+PORT**
1043 1043  
1044 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %)
1045 -|(% 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**
1046 -|(% 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(((
1047 1047  OK
1048 1048  )))
1049 -|(% 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
1050 1050  
1051 1051  (% style="color:blue" %)**Downlink Command: 0x23**
1052 1052  
... ... @@ -1055,7 +1055,6 @@
1055 1055  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1056 1056  
1057 1057  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1058 -
1059 1059  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1060 1060  
1061 1061  (% style="display:none" %) (%%)
... ... @@ -1068,12 +1068,13 @@
1068 1068  
1069 1069  (% style="color:blue" %)**AT Command: AT+CHS**
1070 1070  
1071 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %)
1072 -|(% 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**
1073 -|(% 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(((
1074 1074  OK
1075 1075  )))
1076 -|(% 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
1077 1077  
1078 1078  (% style="display:none" %) (%%)
1079 1079  
... ... @@ -1085,8 +1085,9 @@
1085 1085  
1086 1086  (% style="color:blue" %)**AT Command: AT+CHE**
1087 1087  
1088 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
1089 -|(% 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**
1090 1090  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1091 1091  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1092 1092  
... ... @@ -1101,7 +1101,6 @@
1101 1101  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1102 1102  
1103 1103  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1104 -
1105 1105  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1106 1106  
1107 1107  (% style="display:none" %) (%%)
... ... @@ -1114,8 +1114,9 @@
1114 1114  
1115 1115  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1116 1116  
1117 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %)
1118 -|(% 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**
1119 1119  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1120 1120  OK
1121 1121  )))
... ... @@ -1133,22 +1133,7 @@
1133 1133  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.
1134 1134  )))
1135 1135  
1136 -**Example:**
1137 -~1. Set AT+RX1WTO=0, AT+RX1DL=5000, the window opening time is: 53.699ms
1138 1138  
1139 -[[image:image-20240906095336-1.png||height="404" width="759"]]
1140 -
1141 -
1142 -2. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 149.644ms
1143 -
1144 -[[image:image-20240906095433-2.png||height="403" width="756"]]
1145 -
1146 -
1147 -3. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 298.221ms
1148 -
1149 -[[image:image-20240906095527-3.png||height="400" width="749"]]
1150 -
1151 -
1152 1152  == 7.21 Get or Set RXwindows2 timeout ==
1153 1153  
1154 1154  
... ... @@ -1157,29 +1157,16 @@
1157 1157  
1158 1158  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1159 1159  
1160 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %)
1161 -|(% 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**
1162 -|(% 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(((
1163 1163  OK
1164 1164  )))
1165 -|(% 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
1166 1166  
1167 -**Example:**
1168 -~1. Set AT+RX2WTO=0, AT+RX2DL=6000, the window opening time is: 48.435ms
1143 +(% style="display:none" %) (%%)
1169 1169  
1170 -(% style="display:none" %) (%%) [[image:image-20240906095619-4.png||height="375" width="703"]]
1171 -
1172 -
1173 -2. Set AT+RX2WTO=128, AT+RX2DL=6000, the window opening time is: 3011ms
1174 -
1175 -[[image:image-20240906095726-5.png||height="381" width="714"]]
1176 -
1177 -
1178 -3. Set AT+RX2WTO=255, AT+RX2DL=6000, the window opening time is: 3009ms
1179 -
1180 -[[image:image-20240906095811-6.png||height="380" width="711"]]
1181 -
1182 -
1183 1183  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1184 1184  
1185 1185  
... ... @@ -1188,12 +1188,13 @@
1188 1188  
1189 1189  (% style="color:blue" %)**AT Command: AT+DWELLT**
1190 1190  
1191 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %)
1192 -|(% 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**
1193 -|(% 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(((
1194 1194  OK
1195 1195  )))
1196 -|(% 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
1197 1197  
1198 1198  (% style="color:blue" %)**Downlink Command: 0x25**
1199 1199  
... ... @@ -1202,7 +1202,6 @@
1202 1202  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1203 1203  
1204 1204  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1205 -
1206 1206  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1207 1207  
1208 1208  (% style="display:none" %) (%%)
... ... @@ -1213,30 +1213,25 @@
1213 1213  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.
1214 1214  
1215 1215  
1216 -(% style="color:blue" %)**RPL value:**
1178 +**RPL value:**
1217 1217  
1218 1218  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1219 -
1220 1220  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1221 -
1222 1222  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1223 -
1224 1224  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1225 -
1226 1226  * **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.
1227 1227  
1228 -(% style="color:blue" %)**Case Analyes:**
1186 +**Case Analyes:**
1229 1229  
1230 1230  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1231 -
1232 1232  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1233 -
1234 1234  * 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.
1235 1235  
1236 1236  (% style="color:blue" %)**AT Command: AT+RPL**
1237 1237  
1238 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %)
1239 -|(% 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**
1240 1240  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1241 1241  OK
1242 1242  )))
... ... @@ -1249,7 +1249,6 @@
1249 1249  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1250 1250  
1251 1251  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1252 -
1253 1253  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1254 1254  
1255 1255  (% style="display:none" %) (%%)
... ... @@ -1259,12 +1259,13 @@
1259 1259  
1260 1260  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1261 1261  
1262 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %)
1263 -|(% 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**
1264 -|(% 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(((
1265 1265  OK
1266 1266  )))
1267 -|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1224 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1268 1268  value2: 0: uplink fcnt doesn't change for each NBTrans;
1269 1269  
1270 1270  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1281,7 +1281,6 @@
1281 1281  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1282 1282  
1283 1283  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1284 -
1285 1285  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1286 1286  
1287 1287  (% style="display:none" %) (%%)
... ... @@ -1294,16 +1294,16 @@
1294 1294  AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1295 1295  
1296 1296  * ACK_Timout_1: Unit: min
1297 -
1298 1298  * ACK_Timout_2: Unit: min
1299 1299  
1300 -(% border="1" style="background-color:#f2f2f2; width:562px" %)
1301 -|(% 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**
1302 1302  |(% style="width:160px" %)(((
1303 1303  AT+DDETECT=1,1440,2880
1304 1304  
1305 1305  value1
1306 -)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)(((
1262 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1307 1307  1
1308 1308  
1309 1309  OK
... ... @@ -1312,7 +1312,7 @@
1312 1312  AT+DDETECT=1,?,2880
1313 1313  
1314 1314  value2
1315 -)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)(((
1271 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1316 1316  
1317 1317  
1318 1318  OK
... ... @@ -1321,7 +1321,7 @@
1321 1321  AT+DDETECT=1,1440,?
1322 1322  
1323 1323  value3
1324 -)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)(((
1280 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1325 1325  
1326 1326  
1327 1327  OK
... ... @@ -1334,55 +1334,45 @@
1334 1334  If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1335 1335  
1336 1336  * **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.
1337 1337  
1338 -*
1339 -** 0x01** : Flag**
1340 -
1341 - **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours)
1342 -
1343 - **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours)
1344 -
1345 -* **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.
1346 -
1347 1347  (% style="display:none" %) (%%)
1348 1348  
1349 1349  == 7.26 Request the server to send an ACK ==
1350 1350  
1351 1351  
1352 -Feature: Mode for sending data for which acknowledgment was not received. LoraWAN Network Server(eg. The Things NetWork/ChirpStack/AWS/...).
1353 -
1354 1354  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1355 1355  
1356 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1357 -|(% 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**
1358 -|(% 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(((
1359 1359  OK
1360 1360  )))
1361 -|(% 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" %)(((
1362 1362  0
1363 1363  OK
1364 1364  )))
1365 1365  
1366 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34**
1316 +(% style="display:none" %) (%%)
1367 1367  
1368 -0X34 01  ~/~/Same As AT+PNACKMD=1
1369 -
1370 -0x34 00  ~/~/Same As AT+PNACKMD=0
1371 -
1372 -
1373 1373  == 7.27 Adjust network rejoining interval ==
1374 1374  
1375 1375  
1376 1376  (% style="color:blue" %)**AT Command: AT+RJTDC**
1377 1377  
1378 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1379 -|(% 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**
1380 -|(% 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(((
1381 1381  OK
1382 1382  
1383 1383  the interval is 30 min
1384 1384  )))
1385 -|(% 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(((
1386 1386  Set the ReJoin data transmission interval to 60 min
1387 1387  )))
1388 1388  
... ... @@ -1392,10 +1392,9 @@
1392 1392  
1393 1393  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1394 1394  
1395 -* **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
1396 1396  
1397 -* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1398 -
1399 1399  (% style="display:none" %) (%%)
1400 1400  
1401 1401  = 8. AT Commands Combination =
... ... @@ -1403,9 +1403,9 @@
1403 1403  == 8.1 Set a fix RX2DR for downlink window ==
1404 1404  
1405 1405  
1406 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1351 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1407 1407  
1408 -* (% 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
1409 1409  
1410 1410  (% style="display:none" %) (%%)
1411 1411  
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