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

From version 81.13
edited by Mengting Qiu
on 2025/07/01 15:33
Change comment: There is no comment for this version
To version 63.12
edited by Xiaoling
on 2023/04/19 14:53
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;color:#037691" %)(((
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:#F2F2F2; width:546px" %)
155 +|=(% colspan="3" style="width: 543px;background-color:#D9E2F3;color:#037691" %)ATZ: Trig a reset of the MCU
156 +|(% style="width:157px;color:#0070C0" %)**Command Example**|(% style="width:92px;color:#0070C0" %)**Function**|(% style="width:294px;color:#0070C0" %)**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:#F2F2F2; width:789px" %)
191 +|=(% colspan="3" style="width: 786px;background-color:#D9E2F3;color:#037691" %)Reset to factory default
192 +|(% style="width:154px;color:#0070C0" %)**Command Example**|(% style="width:175px;color:#0070C0" %)**Function**|(% style="width:456px;color:#0070C0" %)**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,51 +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 -* (((
330 -Downlink payload:28 01 xx
331 -
332 -Example:  downlink 0x280108 ~-~-~-~-->AT+SYNCMOD=1,8
333 -)))
334 -
335 -Note: This command takes effect after the node is reset, or after downlink 0x2601(query device status).
336 -
337 -
338 -
339 -
340 340  = 5. Keys, IDs and EUIs management =
341 341  
342 342  == 5.1 Application EUI ==
... ... @@ -347,12 +347,13 @@
347 347  
348 348  (% style="color:blue" %)**AT Command: AT+APPEUI**
349 349  
350 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %)
351 -|(% 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**
352 -|(% 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(((
353 353  OK
354 354  )))
355 -|(% 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
356 356  
357 357  (% style="display:none" %) (%%)
358 358  
... ... @@ -364,8 +364,9 @@
364 364  
365 365  (% style="color:blue" %)**AT Command: AT+APPKEY**
366 366  
367 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %)
368 -|(% 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**
369 369  |(% 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(((
370 370  OK
371 371  )))
... ... @@ -381,8 +381,9 @@
381 381  
382 382  (% style="color:blue" %)**AT Command: AT+APPSKEY**
383 383  
384 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %)
385 -|(% 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**
386 386  |(% 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(((
387 387  OK
388 388  )))
... ... @@ -400,8 +400,9 @@
400 400  
401 401  (% style="color:blue" %)**AT Command: AT+DADDR**
402 402  
403 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %)
404 -|(% 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**
405 405  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
406 406  A8 40 41 FF
407 407  
... ... @@ -419,8 +419,9 @@
419 419  
420 420  (% style="color:blue" %)**AT Command: AT+DEUI**
421 421  
422 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %)
423 -|(% 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**
424 424  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
425 425  OK
426 426  )))
... ... @@ -438,8 +438,9 @@
438 438  
439 439  (% style="color:blue" %)**AT Command: AT+NWKID**
440 440  
441 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %)
442 -|(% 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**
443 443  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
444 444  OK
445 445  )))
... ... @@ -455,8 +455,9 @@
455 455  
456 456  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
457 457  
458 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %)
459 -|(% 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**
460 460  |(% 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(((
461 461  OK
462 462  )))
... ... @@ -476,8 +476,9 @@
476 476  
477 477  (% style="color:blue" %)**AT Command: AT+CFM**
478 478  
479 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
480 -|(% 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**
481 481  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
482 482  OK
483 483  )))
... ... @@ -486,12 +486,11 @@
486 486  
487 487  (% style="color:blue" %)**Downlink Command: 0x05**
488 488  
489 -Format: Command Code (0x05) followed by 1 byte mode value.
460 +Format: Command Code (0x05) followed by 2 bytes mode value.
490 490  
491 491  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
492 492  
493 493  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
494 -
495 495  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
496 496  
497 497  (% style="display:none" %) (%%)
... ... @@ -501,13 +501,14 @@
501 501  
502 502  (% style="color:blue" %)**AT Command: AT+CFM**
503 503  
504 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %)
505 -|(% 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**
506 506  |(% style="width:160px" %)(((
507 507  AT+CFM=1,0,0
508 508  
509 509  value1
510 -)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)(((
481 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
511 511  1
512 512  
513 513  OK
... ... @@ -516,7 +516,7 @@
516 516  AT+CFM=0,?,0
517 517  
518 518  value2
519 -)))|(% 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" %)(((
520 520  0~~7
521 521  
522 522  OK
... ... @@ -525,7 +525,7 @@
525 525  AT+CFM=0,0,1
526 526  
527 527  value3
528 -)))|(% 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" %)(((
529 529  1
530 530  
531 531  OK
... ... @@ -533,12 +533,11 @@
533 533  
534 534  (% style="color:blue" %)**Downlink Command: 0x05**
535 535  
536 -Format: Command Code (0x05) followed by 3 bytes mode value.
507 +Format: Command Code (0x05) followed by 2 bytes mode value.
537 537  
538 538  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
539 539  
540 540  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
541 -
542 542  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
543 543  
544 544  (% style="display:none" %) (%%)
... ... @@ -551,8 +551,9 @@
551 551  
552 552  (% style="color:blue" %)**AT Command: AT+CFS**
553 553  
554 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %)
555 -|(% 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**
556 556  |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
557 557  OK
558 558  )))
... ... @@ -567,8 +567,9 @@
567 567  
568 568  (% style="color:blue" %)**AT Command: AT+JOIN**
569 569  
570 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %)
571 -|(% 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**
572 572  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
573 573  OK
574 574  While Error in format, return AT_BUSY_ERROR
... ... @@ -584,8 +584,9 @@
584 584  
585 585  (% style="color:blue" %)**AT Command: AT+NJM**
586 586  
587 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %)
588 -|(% 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**
589 589  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
590 590  OK
591 591  )))
... ... @@ -599,7 +599,6 @@
599 599  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
600 600  
601 601  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
602 -
603 603  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
604 604  
605 605  (% style="display:none" %) (%%)
... ... @@ -612,9 +612,10 @@
612 612  
613 613  (% style="color:blue" %)**AT Command: AT+NJS**
614 614  
615 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %)
616 -|(% 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**
617 -|(% 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(((
618 618  OK
619 619  )))
620 620  
... ... @@ -628,9 +628,10 @@
628 628  
629 629  (% style="color:blue" %)**AT Command: AT+RECV**
630 630  
631 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %)
632 -|(% 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**
633 -|(% 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:(((
634 634  OK
635 635  )))
636 636  
... ... @@ -644,8 +644,9 @@
644 644  
645 645  (% style="color:blue" %)**AT Command: AT+RECVB**
646 646  
647 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %)
648 -|(% 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**
649 649  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
650 650  OK
651 651  )))
... ... @@ -652,7 +652,7 @@
652 652  
653 653  (% style="display:none" %) (%%)
654 654  
655 -== 6.8 Send Text Data(Note: The format of this command of LA66 is subject to the manual) ==
630 +== 6.8 Send Text Data ==
656 656  
657 657  
658 658  Feature: Send Text Data<port:data>.
... ... @@ -660,8 +660,9 @@
660 660  
661 661  (% style="color:blue" %)**AT Command: AT+SEND**
662 662  
663 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %)
664 -|(% 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**
665 665  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
666 666  While Error in format, return
667 667  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
... ... @@ -669,7 +669,7 @@
669 669  
670 670  (% style="display:none" %) (%%)
671 671  
672 -== 6.9 Send Hexadecimal Data(Note: The format of this command of LA66 is subject to the manual) ==
648 +== 6.9 Send Hexadecimal Data ==
673 673  
674 674  
675 675  Feature: Send hexadecimal data along with the application port.
... ... @@ -677,10 +677,11 @@
677 677  
678 678  (% style="color:blue" %)**AT Command: AT+SENDB**
679 679  
680 -(% border="1" cellspacing="4" style="width:974px" %)
681 -|(% 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**
682 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
683 -|(% 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(((
684 684  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
685 685  )))
686 686  
... ... @@ -696,13 +696,14 @@
696 696  
697 697  (% style="color:blue" %)**AT Command: AT+ADR**
698 698  
699 -(% border="1" cellspacing="4" style="width:643px" %)
700 -|(% 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**
701 -|(% 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(((
702 702  OK
703 703  )))
704 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK
705 -|(% 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(((
706 706  AT_PARAM_ERROR
707 707  )))
708 708  
... ... @@ -711,7 +711,6 @@
711 711  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
712 712  
713 713  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
714 -
715 715  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
716 716  
717 717  (% style="display:none" %) (%%)
... ... @@ -724,12 +724,13 @@
724 724  
725 725  (% style="color:blue" %)**AT Command:  AT+CLASS**
726 726  
727 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %)
728 -|(% 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**
729 -|(% 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(((
730 730  OK
731 731  )))
732 -|(% 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(((
733 733  
734 734  )))
735 735  
... ... @@ -743,13 +743,14 @@
743 743  == 7.3 Duty Cycle Setting ==
744 744  
745 745  
746 -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.
747 747  
748 748  
749 749  (% style="color:blue" %)**AT Command:  AT+DCS**
750 750  
751 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %)
752 -|(% 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**
753 753  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
754 754  OK
755 755  )))
... ... @@ -768,17 +768,17 @@
768 768  **Notice:**
769 769  
770 770  * 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.
771 -
772 772  * 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/]]
773 773  
774 774  (% style="color:blue" %)**AT Command: AT+DR**
775 775  
776 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %)
777 -|(% 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**
778 -|(% 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(((
779 779  OK
780 780  )))
781 -|(% 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(((
782 782  
783 783  )))
784 784  
... ... @@ -787,7 +787,6 @@
787 787  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
788 788  
789 789  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
790 -
791 791  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
792 792  
793 793  (% style="display:none" %) (%%)
... ... @@ -800,8 +800,9 @@
800 800  
801 801  (% style="color:blue" %)**AT Command:  AT+FCD**
802 802  
803 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %)
804 -|(% 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**
805 805  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
806 806  OK
807 807  )))
... ... @@ -818,8 +818,9 @@
818 818  
819 819  (% style="color:blue" %)**AT Command:  AT+FCU**
820 820  
821 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %)
822 -|(% 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**
823 823  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
824 824  OK
825 825  )))
... ... @@ -837,8 +837,9 @@
837 837  
838 838  (% style="color:blue" %)**AT Command:  AT+JN1DL**
839 839  
840 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %)
841 -|(% 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**
842 842  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
843 843  OK
844 844  )))
... ... @@ -856,8 +856,9 @@
856 856  
857 857  (% style="color:blue" %)**AT Command:  AT+JN2DL**
858 858  
859 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %)
860 -|(% 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**
861 861  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
862 862  OK
863 863  )))
... ... @@ -877,8 +877,9 @@
877 877  
878 878  (% style="color:blue" %)**AT Command:  AT+PNM**
879 879  
880 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %)
881 -|(% 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**
882 882  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
883 883  OK
884 884  )))
... ... @@ -903,8 +903,9 @@
903 903  
904 904  (% style="color:blue" %)**AT Command: AT+RX1DL**
905 905  
906 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %)
907 -|(% 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**
908 908  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
909 909  OK
910 910  )))
... ... @@ -922,8 +922,9 @@
922 922  
923 923  (% style="color:blue" %)**AT Command: AT+RX2DL**
924 924  
925 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %)
926 -|(% 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**
927 927  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
928 928  OK
929 929  )))
... ... @@ -941,8 +941,9 @@
941 941  
942 942  (% style="color:blue" %)**AT Command:  AT+RX2DR**
943 943  
944 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %)
945 -|(% 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**
946 946  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
947 947  OK
948 948  )))
... ... @@ -960,8 +960,9 @@
960 960  
961 961  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
962 962  
963 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %)
964 -|(% 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**
965 965  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
966 966  OK
967 967  )))
... ... @@ -974,7 +974,7 @@
974 974  == 7.14 Transmit Power ==
975 975  
976 976  
977 -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. )
978 978  
979 979  (% 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**
980 980  
... ... @@ -981,8 +981,9 @@
981 981  
982 982  (% style="color:blue" %)**AT Command:  AT+TXP**
983 983  
984 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %)
985 -|(% 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**
986 986  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
987 987  OK
988 988  )))
... ... @@ -995,7 +995,6 @@
995 995  If the downlink payload=22000100, it means setting the TXP to 0.
996 996  
997 997  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
998 -
999 999  * **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
1000 1000  
1001 1001  (% style="display:none" %) (%%)
... ... @@ -1008,8 +1008,9 @@
1008 1008  
1009 1009  (% style="color:blue" %)**AT Command:AT+RSSI**
1010 1010  
1011 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %)
1012 -|(% 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**
1013 1013  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
1014 1014  OK
1015 1015  )))
... ... @@ -1024,8 +1024,9 @@
1024 1024  
1025 1025  (% style="color:blue" %)**AT Command:  AT+SNR**
1026 1026  
1027 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %)
1028 -|(% 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**
1029 1029  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
1030 1030  OK
1031 1031  )))
... ... @@ -1040,12 +1040,13 @@
1040 1040  
1041 1041  (% style="color:blue" %)**AT Command: AT+PORT**
1042 1042  
1043 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %)
1044 -|(% 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**
1045 -|(% 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(((
1046 1046  OK
1047 1047  )))
1048 -|(% 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
1049 1049  
1050 1050  (% style="color:blue" %)**Downlink Command: 0x23**
1051 1051  
... ... @@ -1054,7 +1054,6 @@
1054 1054  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1055 1055  
1056 1056  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1057 -
1058 1058  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1059 1059  
1060 1060  (% style="display:none" %) (%%)
... ... @@ -1067,12 +1067,13 @@
1067 1067  
1068 1068  (% style="color:blue" %)**AT Command: AT+CHS**
1069 1069  
1070 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %)
1071 -|(% 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**
1072 -|(% 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(((
1073 1073  OK
1074 1074  )))
1075 -|(% 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
1076 1076  
1077 1077  (% style="display:none" %) (%%)
1078 1078  
... ... @@ -1084,8 +1084,9 @@
1084 1084  
1085 1085  (% style="color:blue" %)**AT Command: AT+CHE**
1086 1086  
1087 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
1088 -|(% 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**
1089 1089  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1090 1090  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1091 1091  
... ... @@ -1100,7 +1100,6 @@
1100 1100  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1101 1101  
1102 1102  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1103 -
1104 1104  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1105 1105  
1106 1106  (% style="display:none" %) (%%)
... ... @@ -1113,8 +1113,9 @@
1113 1113  
1114 1114  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1115 1115  
1116 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %)
1117 -|(% 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**
1118 1118  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1119 1119  OK
1120 1120  )))
... ... @@ -1132,22 +1132,7 @@
1132 1132  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.
1133 1133  )))
1134 1134  
1135 -**Example:**
1136 -~1. Set AT+RX1WTO=0, AT+RX1DL=5000, the window opening time is: 53.699ms
1137 1137  
1138 -[[image:image-20240906095336-1.png||height="404" width="759"]]
1139 -
1140 -
1141 -2. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 149.644ms
1142 -
1143 -[[image:image-20240906095433-2.png||height="403" width="756"]]
1144 -
1145 -
1146 -3. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 298.221ms
1147 -
1148 -[[image:image-20240906095527-3.png||height="400" width="749"]]
1149 -
1150 -
1151 1151  == 7.21 Get or Set RXwindows2 timeout ==
1152 1152  
1153 1153  
... ... @@ -1156,29 +1156,16 @@
1156 1156  
1157 1157  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1158 1158  
1159 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %)
1160 -|(% 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**
1161 -|(% 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(((
1162 1162  OK
1163 1163  )))
1164 -|(% 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
1165 1165  
1166 -**Example:**
1167 -~1. Set AT+RX2WTO=0, AT+RX2DL=6000, the window opening time is: 48.435ms
1143 +(% style="display:none" %) (%%)
1168 1168  
1169 -(% style="display:none" %) (%%) [[image:image-20240906095619-4.png||height="375" width="703"]]
1170 -
1171 -
1172 -2. Set AT+RX2WTO=128, AT+RX2DL=6000, the window opening time is: 3011ms
1173 -
1174 -[[image:image-20240906095726-5.png||height="381" width="714"]]
1175 -
1176 -
1177 -3. Set AT+RX2WTO=255, AT+RX2DL=6000, the window opening time is: 3009ms
1178 -
1179 -[[image:image-20240906095811-6.png||height="380" width="711"]]
1180 -
1181 -
1182 1182  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1183 1183  
1184 1184  
... ... @@ -1187,12 +1187,13 @@
1187 1187  
1188 1188  (% style="color:blue" %)**AT Command: AT+DWELLT**
1189 1189  
1190 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %)
1191 -|(% 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**
1192 -|(% 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(((
1193 1193  OK
1194 1194  )))
1195 -|(% 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
1196 1196  
1197 1197  (% style="color:blue" %)**Downlink Command: 0x25**
1198 1198  
... ... @@ -1201,7 +1201,6 @@
1201 1201  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1202 1202  
1203 1203  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1204 -
1205 1205  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1206 1206  
1207 1207  (% style="display:none" %) (%%)
... ... @@ -1212,30 +1212,25 @@
1212 1212  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.
1213 1213  
1214 1214  
1215 -(% style="color:blue" %)**RPL value:**
1178 +**RPL value:**
1216 1216  
1217 1217  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1218 -
1219 1219  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1220 -
1221 1221  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1222 -
1223 1223  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1224 -
1225 1225  * **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.
1226 1226  
1227 -(% style="color:blue" %)**Case Analyes:**
1186 +**Case Analyes:**
1228 1228  
1229 1229  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1230 -
1231 1231  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1232 -
1233 1233  * 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.
1234 1234  
1235 1235  (% style="color:blue" %)**AT Command: AT+RPL**
1236 1236  
1237 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %)
1238 -|(% 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**
1239 1239  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1240 1240  OK
1241 1241  )))
... ... @@ -1248,7 +1248,6 @@
1248 1248  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1249 1249  
1250 1250  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1251 -
1252 1252  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1253 1253  
1254 1254  (% style="display:none" %) (%%)
... ... @@ -1258,12 +1258,13 @@
1258 1258  
1259 1259  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1260 1260  
1261 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %)
1262 -|(% 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**
1263 -|(% 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(((
1264 1264  OK
1265 1265  )))
1266 -|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1224 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1267 1267  value2: 0: uplink fcnt doesn't change for each NBTrans;
1268 1268  
1269 1269  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1280,7 +1280,6 @@
1280 1280  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1281 1281  
1282 1282  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1283 -
1284 1284  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1285 1285  
1286 1286  (% style="display:none" %) (%%)
... ... @@ -1293,16 +1293,16 @@
1293 1293  AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1294 1294  
1295 1295  * ACK_Timout_1: Unit: min
1296 -
1297 1297  * ACK_Timout_2: Unit: min
1298 1298  
1299 -(% border="1" style="background-color:#f2f2f2; width:562px" %)
1300 -|(% 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**
1301 1301  |(% style="width:160px" %)(((
1302 1302  AT+DDETECT=1,1440,2880
1303 1303  
1304 1304  value1
1305 -)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)(((
1262 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1306 1306  1
1307 1307  
1308 1308  OK
... ... @@ -1311,7 +1311,7 @@
1311 1311  AT+DDETECT=1,?,2880
1312 1312  
1313 1313  value2
1314 -)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)(((
1271 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1315 1315  
1316 1316  
1317 1317  OK
... ... @@ -1320,7 +1320,7 @@
1320 1320  AT+DDETECT=1,1440,?
1321 1321  
1322 1322  value3
1323 -)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)(((
1280 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1324 1324  
1325 1325  
1326 1326  OK
... ... @@ -1333,55 +1333,45 @@
1333 1333  If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1334 1334  
1335 1335  * **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.
1336 1336  
1337 -*
1338 -** 0x01** : Flag**
1339 -
1340 - **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours)
1341 -
1342 - **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours)
1343 -
1344 -* **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.
1345 -
1346 1346  (% style="display:none" %) (%%)
1347 1347  
1348 1348  == 7.26 Request the server to send an ACK ==
1349 1349  
1350 1350  
1351 -Feature: Mode for sending data for which acknowledgment was not received. LoraWAN Network Server(eg. The Things NetWork/ChirpStack/AWS/...).
1352 -
1353 1353  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1354 1354  
1355 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1356 -|(% 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**
1357 -|(% 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(((
1358 1358  OK
1359 1359  )))
1360 -|(% 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" %)(((
1361 1361  0
1362 1362  OK
1363 1363  )))
1364 1364  
1365 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34**
1316 +(% style="display:none" %) (%%)
1366 1366  
1367 -0X34 01  ~/~/Same As AT+PNACKMD=1
1368 -
1369 -0x34 00  ~/~/Same As AT+PNACKMD=0
1370 -
1371 -
1372 1372  == 7.27 Adjust network rejoining interval ==
1373 1373  
1374 1374  
1375 1375  (% style="color:blue" %)**AT Command: AT+RJTDC**
1376 1376  
1377 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1378 -|(% 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**
1379 -|(% 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(((
1380 1380  OK
1381 1381  
1382 1382  the interval is 30 min
1383 1383  )))
1384 -|(% 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(((
1385 1385  Set the ReJoin data transmission interval to 60 min
1386 1386  )))
1387 1387  
... ... @@ -1391,10 +1391,9 @@
1391 1391  
1392 1392  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1393 1393  
1394 -* **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
1395 1395  
1396 -* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1397 -
1398 1398  (% style="display:none" %) (%%)
1399 1399  
1400 1400  = 8. AT Commands Combination =
... ... @@ -1402,9 +1402,9 @@
1402 1402  == 8.1 Set a fix RX2DR for downlink window ==
1403 1403  
1404 1404  
1405 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1351 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1406 1406  
1407 -* (% 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
1408 1408  
1409 1409  (% style="display:none" %) (%%)
1410 1410  
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