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

From version 81.4
edited by Mengting Qiu
on 2025/07/01 15:28
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,62 +292,6 @@
292 292  
293 293  (% style="display:none" %) (%%)
294 294  
295 -== 4.6 Get or Set time synchronization method ==
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 Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Parameters**|(% style="background-color:#4f81bd; color:white; width:329px" %)(((
315 -|**Explanation**
316 -)))
317 -|(% style="width:165px" %)AT+SYNCMOD=?|(% style="width:227px" %)Get the current time synchronization configuration|(% style="width:329px" %)(((
318 -1,0(Default)
319 -
320 -(((
321 -OK
322 -)))
323 -)))
324 -|(% style="width:165px" %)AT+SYNCMOD=1,8|(% style="width:227px" %)Set the time to UTC+8 time display.|(% style="width:329px" %)OK
325 -
326 -
327 -
328 -
329 - AT+SYNCMOD=1,bb 
330 -
331 -* (((
332 -1: Set the system time synchronization
333 -)))
334 -
335 - bb:  Set local time (24 zones): -12~~12
336 -
337 -* (((
338 -Example: AT+SYNCMOD=1,8  ~/~/Set the time to UTC+8 time display.
339 -)))
340 -* (((
341 -Downlink payload:28 01 xx
342 -
343 -Example:  downlink 0x280108 ~-~-~-~-->AT+SYNCMOD=1,8
344 -)))
345 -
346 -Note: This command takes effect after the node is reset, or after downlink 0x2601(query device status).
347 -
348 -
349 -
350 -
351 351  = 5. Keys, IDs and EUIs management =
352 352  
353 353  == 5.1 Application EUI ==
... ... @@ -358,12 +358,13 @@
358 358  
359 359  (% style="color:blue" %)**AT Command: AT+APPEUI**
360 360  
361 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %)
362 -|(% 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**
363 -|(% 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(((
364 364  OK
365 365  )))
366 -|(% 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
367 367  
368 368  (% style="display:none" %) (%%)
369 369  
... ... @@ -375,8 +375,9 @@
375 375  
376 376  (% style="color:blue" %)**AT Command: AT+APPKEY**
377 377  
378 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %)
379 -|(% 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**
380 380  |(% 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(((
381 381  OK
382 382  )))
... ... @@ -392,8 +392,9 @@
392 392  
393 393  (% style="color:blue" %)**AT Command: AT+APPSKEY**
394 394  
395 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %)
396 -|(% 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**
397 397  |(% 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(((
398 398  OK
399 399  )))
... ... @@ -411,8 +411,9 @@
411 411  
412 412  (% style="color:blue" %)**AT Command: AT+DADDR**
413 413  
414 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %)
415 -|(% 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**
416 416  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
417 417  A8 40 41 FF
418 418  
... ... @@ -430,8 +430,9 @@
430 430  
431 431  (% style="color:blue" %)**AT Command: AT+DEUI**
432 432  
433 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %)
434 -|(% 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**
435 435  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
436 436  OK
437 437  )))
... ... @@ -449,8 +449,9 @@
449 449  
450 450  (% style="color:blue" %)**AT Command: AT+NWKID**
451 451  
452 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %)
453 -|(% 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**
454 454  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
455 455  OK
456 456  )))
... ... @@ -466,8 +466,9 @@
466 466  
467 467  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
468 468  
469 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %)
470 -|(% 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**
471 471  |(% 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(((
472 472  OK
473 473  )))
... ... @@ -487,8 +487,9 @@
487 487  
488 488  (% style="color:blue" %)**AT Command: AT+CFM**
489 489  
490 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
491 -|(% 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**
492 492  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
493 493  OK
494 494  )))
... ... @@ -497,12 +497,11 @@
497 497  
498 498  (% style="color:blue" %)**Downlink Command: 0x05**
499 499  
500 -Format: Command Code (0x05) followed by 1 byte mode value.
460 +Format: Command Code (0x05) followed by 2 bytes mode value.
501 501  
502 502  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
503 503  
504 504  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
505 -
506 506  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
507 507  
508 508  (% style="display:none" %) (%%)
... ... @@ -512,13 +512,14 @@
512 512  
513 513  (% style="color:blue" %)**AT Command: AT+CFM**
514 514  
515 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %)
516 -|(% 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**
517 517  |(% style="width:160px" %)(((
518 518  AT+CFM=1,0,0
519 519  
520 520  value1
521 -)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)(((
481 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
522 522  1
523 523  
524 524  OK
... ... @@ -527,7 +527,7 @@
527 527  AT+CFM=0,?,0
528 528  
529 529  value2
530 -)))|(% 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" %)(((
531 531  0~~7
532 532  
533 533  OK
... ... @@ -536,7 +536,7 @@
536 536  AT+CFM=0,0,1
537 537  
538 538  value3
539 -)))|(% 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" %)(((
540 540  1
541 541  
542 542  OK
... ... @@ -544,12 +544,11 @@
544 544  
545 545  (% style="color:blue" %)**Downlink Command: 0x05**
546 546  
547 -Format: Command Code (0x05) followed by 3 bytes mode value.
507 +Format: Command Code (0x05) followed by 2 bytes mode value.
548 548  
549 549  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
550 550  
551 551  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
552 -
553 553  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
554 554  
555 555  (% style="display:none" %) (%%)
... ... @@ -562,8 +562,9 @@
562 562  
563 563  (% style="color:blue" %)**AT Command: AT+CFS**
564 564  
565 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %)
566 -|(% 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**
567 567  |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
568 568  OK
569 569  )))
... ... @@ -578,8 +578,9 @@
578 578  
579 579  (% style="color:blue" %)**AT Command: AT+JOIN**
580 580  
581 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %)
582 -|(% 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**
583 583  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
584 584  OK
585 585  While Error in format, return AT_BUSY_ERROR
... ... @@ -595,8 +595,9 @@
595 595  
596 596  (% style="color:blue" %)**AT Command: AT+NJM**
597 597  
598 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %)
599 -|(% 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**
600 600  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
601 601  OK
602 602  )))
... ... @@ -610,7 +610,6 @@
610 610  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
611 611  
612 612  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
613 -
614 614  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
615 615  
616 616  (% style="display:none" %) (%%)
... ... @@ -623,9 +623,10 @@
623 623  
624 624  (% style="color:blue" %)**AT Command: AT+NJS**
625 625  
626 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %)
627 -|(% 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**
628 -|(% 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(((
629 629  OK
630 630  )))
631 631  
... ... @@ -639,9 +639,10 @@
639 639  
640 640  (% style="color:blue" %)**AT Command: AT+RECV**
641 641  
642 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %)
643 -|(% 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**
644 -|(% 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:(((
645 645  OK
646 646  )))
647 647  
... ... @@ -655,8 +655,9 @@
655 655  
656 656  (% style="color:blue" %)**AT Command: AT+RECVB**
657 657  
658 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %)
659 -|(% 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**
660 660  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
661 661  OK
662 662  )))
... ... @@ -663,7 +663,7 @@
663 663  
664 664  (% style="display:none" %) (%%)
665 665  
666 -== 6.8 Send Text Data(Note: The format of this command of LA66 is subject to the manual) ==
630 +== 6.8 Send Text Data ==
667 667  
668 668  
669 669  Feature: Send Text Data<port:data>.
... ... @@ -671,8 +671,9 @@
671 671  
672 672  (% style="color:blue" %)**AT Command: AT+SEND**
673 673  
674 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %)
675 -|(% 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**
676 676  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
677 677  While Error in format, return
678 678  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
... ... @@ -680,7 +680,7 @@
680 680  
681 681  (% style="display:none" %) (%%)
682 682  
683 -== 6.9 Send Hexadecimal Data(Note: The format of this command of LA66 is subject to the manual) ==
648 +== 6.9 Send Hexadecimal Data ==
684 684  
685 685  
686 686  Feature: Send hexadecimal data along with the application port.
... ... @@ -688,10 +688,11 @@
688 688  
689 689  (% style="color:blue" %)**AT Command: AT+SENDB**
690 690  
691 -(% border="1" cellspacing="4" style="width:974px" %)
692 -|(% 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**
693 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
694 -|(% 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(((
695 695  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
696 696  )))
697 697  
... ... @@ -707,13 +707,14 @@
707 707  
708 708  (% style="color:blue" %)**AT Command: AT+ADR**
709 709  
710 -(% border="1" cellspacing="4" style="width:643px" %)
711 -|(% 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**
712 -|(% 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(((
713 713  OK
714 714  )))
715 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK
716 -|(% 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(((
717 717  AT_PARAM_ERROR
718 718  )))
719 719  
... ... @@ -722,7 +722,6 @@
722 722  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
723 723  
724 724  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
725 -
726 726  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
727 727  
728 728  (% style="display:none" %) (%%)
... ... @@ -735,12 +735,13 @@
735 735  
736 736  (% style="color:blue" %)**AT Command:  AT+CLASS**
737 737  
738 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %)
739 -|(% 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**
740 -|(% 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(((
741 741  OK
742 742  )))
743 -|(% 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(((
744 744  
745 745  )))
746 746  
... ... @@ -754,13 +754,14 @@
754 754  == 7.3 Duty Cycle Setting ==
755 755  
756 756  
757 -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.
758 758  
759 759  
760 760  (% style="color:blue" %)**AT Command:  AT+DCS**
761 761  
762 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %)
763 -|(% 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**
764 764  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
765 765  OK
766 766  )))
... ... @@ -779,17 +779,17 @@
779 779  **Notice:**
780 780  
781 781  * 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.
782 -
783 783  * 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/]]
784 784  
785 785  (% style="color:blue" %)**AT Command: AT+DR**
786 786  
787 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %)
788 -|(% 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**
789 -|(% 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(((
790 790  OK
791 791  )))
792 -|(% 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(((
793 793  
794 794  )))
795 795  
... ... @@ -798,7 +798,6 @@
798 798  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
799 799  
800 800  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
801 -
802 802  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
803 803  
804 804  (% style="display:none" %) (%%)
... ... @@ -811,8 +811,9 @@
811 811  
812 812  (% style="color:blue" %)**AT Command:  AT+FCD**
813 813  
814 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %)
815 -|(% 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**
816 816  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
817 817  OK
818 818  )))
... ... @@ -829,8 +829,9 @@
829 829  
830 830  (% style="color:blue" %)**AT Command:  AT+FCU**
831 831  
832 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %)
833 -|(% 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**
834 834  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
835 835  OK
836 836  )))
... ... @@ -848,8 +848,9 @@
848 848  
849 849  (% style="color:blue" %)**AT Command:  AT+JN1DL**
850 850  
851 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %)
852 -|(% 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**
853 853  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
854 854  OK
855 855  )))
... ... @@ -867,8 +867,9 @@
867 867  
868 868  (% style="color:blue" %)**AT Command:  AT+JN2DL**
869 869  
870 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %)
871 -|(% 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**
872 872  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
873 873  OK
874 874  )))
... ... @@ -888,8 +888,9 @@
888 888  
889 889  (% style="color:blue" %)**AT Command:  AT+PNM**
890 890  
891 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %)
892 -|(% 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**
893 893  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
894 894  OK
895 895  )))
... ... @@ -914,8 +914,9 @@
914 914  
915 915  (% style="color:blue" %)**AT Command: AT+RX1DL**
916 916  
917 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %)
918 -|(% 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**
919 919  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
920 920  OK
921 921  )))
... ... @@ -933,8 +933,9 @@
933 933  
934 934  (% style="color:blue" %)**AT Command: AT+RX2DL**
935 935  
936 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %)
937 -|(% 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**
938 938  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
939 939  OK
940 940  )))
... ... @@ -952,8 +952,9 @@
952 952  
953 953  (% style="color:blue" %)**AT Command:  AT+RX2DR**
954 954  
955 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %)
956 -|(% 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**
957 957  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
958 958  OK
959 959  )))
... ... @@ -971,8 +971,9 @@
971 971  
972 972  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
973 973  
974 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %)
975 -|(% 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**
976 976  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
977 977  OK
978 978  )))
... ... @@ -985,7 +985,7 @@
985 985  == 7.14 Transmit Power ==
986 986  
987 987  
988 -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. )
989 989  
990 990  (% 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**
991 991  
... ... @@ -992,8 +992,9 @@
992 992  
993 993  (% style="color:blue" %)**AT Command:  AT+TXP**
994 994  
995 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %)
996 -|(% 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**
997 997  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
998 998  OK
999 999  )))
... ... @@ -1006,7 +1006,6 @@
1006 1006  If the downlink payload=22000100, it means setting the TXP to 0.
1007 1007  
1008 1008  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
1009 -
1010 1010  * **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
1011 1011  
1012 1012  (% style="display:none" %) (%%)
... ... @@ -1019,8 +1019,9 @@
1019 1019  
1020 1020  (% style="color:blue" %)**AT Command:AT+RSSI**
1021 1021  
1022 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %)
1023 -|(% 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**
1024 1024  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
1025 1025  OK
1026 1026  )))
... ... @@ -1035,8 +1035,9 @@
1035 1035  
1036 1036  (% style="color:blue" %)**AT Command:  AT+SNR**
1037 1037  
1038 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %)
1039 -|(% 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**
1040 1040  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
1041 1041  OK
1042 1042  )))
... ... @@ -1051,12 +1051,13 @@
1051 1051  
1052 1052  (% style="color:blue" %)**AT Command: AT+PORT**
1053 1053  
1054 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %)
1055 -|(% 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**
1056 -|(% 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(((
1057 1057  OK
1058 1058  )))
1059 -|(% 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
1060 1060  
1061 1061  (% style="color:blue" %)**Downlink Command: 0x23**
1062 1062  
... ... @@ -1065,7 +1065,6 @@
1065 1065  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1066 1066  
1067 1067  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1068 -
1069 1069  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1070 1070  
1071 1071  (% style="display:none" %) (%%)
... ... @@ -1078,12 +1078,13 @@
1078 1078  
1079 1079  (% style="color:blue" %)**AT Command: AT+CHS**
1080 1080  
1081 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %)
1082 -|(% 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**
1083 -|(% 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(((
1084 1084  OK
1085 1085  )))
1086 -|(% 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
1087 1087  
1088 1088  (% style="display:none" %) (%%)
1089 1089  
... ... @@ -1095,8 +1095,9 @@
1095 1095  
1096 1096  (% style="color:blue" %)**AT Command: AT+CHE**
1097 1097  
1098 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
1099 -|(% 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**
1100 1100  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1101 1101  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1102 1102  
... ... @@ -1111,7 +1111,6 @@
1111 1111  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1112 1112  
1113 1113  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1114 -
1115 1115  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1116 1116  
1117 1117  (% style="display:none" %) (%%)
... ... @@ -1124,8 +1124,9 @@
1124 1124  
1125 1125  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1126 1126  
1127 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %)
1128 -|(% 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**
1129 1129  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1130 1130  OK
1131 1131  )))
... ... @@ -1143,22 +1143,7 @@
1143 1143  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.
1144 1144  )))
1145 1145  
1146 -**Example:**
1147 -~1. Set AT+RX1WTO=0, AT+RX1DL=5000, the window opening time is: 53.699ms
1148 1148  
1149 -[[image:image-20240906095336-1.png||height="404" width="759"]]
1150 -
1151 -
1152 -2. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 149.644ms
1153 -
1154 -[[image:image-20240906095433-2.png||height="403" width="756"]]
1155 -
1156 -
1157 -3. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 298.221ms
1158 -
1159 -[[image:image-20240906095527-3.png||height="400" width="749"]]
1160 -
1161 -
1162 1162  == 7.21 Get or Set RXwindows2 timeout ==
1163 1163  
1164 1164  
... ... @@ -1167,29 +1167,16 @@
1167 1167  
1168 1168  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1169 1169  
1170 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %)
1171 -|(% 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**
1172 -|(% 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(((
1173 1173  OK
1174 1174  )))
1175 -|(% 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
1176 1176  
1177 -**Example:**
1178 -~1. Set AT+RX2WTO=0, AT+RX2DL=6000, the window opening time is: 48.435ms
1143 +(% style="display:none" %) (%%)
1179 1179  
1180 -(% style="display:none" %) (%%) [[image:image-20240906095619-4.png||height="375" width="703"]]
1181 -
1182 -
1183 -2. Set AT+RX2WTO=128, AT+RX2DL=6000, the window opening time is: 3011ms
1184 -
1185 -[[image:image-20240906095726-5.png||height="381" width="714"]]
1186 -
1187 -
1188 -3. Set AT+RX2WTO=255, AT+RX2DL=6000, the window opening time is: 3009ms
1189 -
1190 -[[image:image-20240906095811-6.png||height="380" width="711"]]
1191 -
1192 -
1193 1193  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1194 1194  
1195 1195  
... ... @@ -1198,12 +1198,13 @@
1198 1198  
1199 1199  (% style="color:blue" %)**AT Command: AT+DWELLT**
1200 1200  
1201 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %)
1202 -|(% 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**
1203 -|(% 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(((
1204 1204  OK
1205 1205  )))
1206 -|(% 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
1207 1207  
1208 1208  (% style="color:blue" %)**Downlink Command: 0x25**
1209 1209  
... ... @@ -1212,7 +1212,6 @@
1212 1212  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1213 1213  
1214 1214  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1215 -
1216 1216  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1217 1217  
1218 1218  (% style="display:none" %) (%%)
... ... @@ -1223,30 +1223,25 @@
1223 1223  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.
1224 1224  
1225 1225  
1226 -(% style="color:blue" %)**RPL value:**
1178 +**RPL value:**
1227 1227  
1228 1228  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1229 -
1230 1230  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1231 -
1232 1232  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1233 -
1234 1234  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1235 -
1236 1236  * **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.
1237 1237  
1238 -(% style="color:blue" %)**Case Analyes:**
1186 +**Case Analyes:**
1239 1239  
1240 1240  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1241 -
1242 1242  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1243 -
1244 1244  * 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.
1245 1245  
1246 1246  (% style="color:blue" %)**AT Command: AT+RPL**
1247 1247  
1248 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %)
1249 -|(% 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**
1250 1250  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1251 1251  OK
1252 1252  )))
... ... @@ -1259,7 +1259,6 @@
1259 1259  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1260 1260  
1261 1261  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1262 -
1263 1263  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1264 1264  
1265 1265  (% style="display:none" %) (%%)
... ... @@ -1269,12 +1269,13 @@
1269 1269  
1270 1270  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1271 1271  
1272 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %)
1273 -|(% 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**
1274 -|(% 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(((
1275 1275  OK
1276 1276  )))
1277 -|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1224 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1278 1278  value2: 0: uplink fcnt doesn't change for each NBTrans;
1279 1279  
1280 1280  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1291,7 +1291,6 @@
1291 1291  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1292 1292  
1293 1293  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1294 -
1295 1295  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1296 1296  
1297 1297  (% style="display:none" %) (%%)
... ... @@ -1304,16 +1304,16 @@
1304 1304  AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1305 1305  
1306 1306  * ACK_Timout_1: Unit: min
1307 -
1308 1308  * ACK_Timout_2: Unit: min
1309 1309  
1310 -(% border="1" style="background-color:#f2f2f2; width:562px" %)
1311 -|(% 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**
1312 1312  |(% style="width:160px" %)(((
1313 1313  AT+DDETECT=1,1440,2880
1314 1314  
1315 1315  value1
1316 -)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)(((
1262 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1317 1317  1
1318 1318  
1319 1319  OK
... ... @@ -1322,7 +1322,7 @@
1322 1322  AT+DDETECT=1,?,2880
1323 1323  
1324 1324  value2
1325 -)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)(((
1271 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1326 1326  
1327 1327  
1328 1328  OK
... ... @@ -1331,7 +1331,7 @@
1331 1331  AT+DDETECT=1,1440,?
1332 1332  
1333 1333  value3
1334 -)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)(((
1280 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1335 1335  
1336 1336  
1337 1337  OK
... ... @@ -1344,55 +1344,45 @@
1344 1344  If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1345 1345  
1346 1346  * **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.
1347 1347  
1348 -*
1349 -** 0x01** : Flag**
1350 -
1351 - **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours)
1352 -
1353 - **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours)
1354 -
1355 -* **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.
1356 -
1357 1357  (% style="display:none" %) (%%)
1358 1358  
1359 1359  == 7.26 Request the server to send an ACK ==
1360 1360  
1361 1361  
1362 -Feature: Mode for sending data for which acknowledgment was not received. LoraWAN Network Server(eg. The Things NetWork/ChirpStack/AWS/...).
1363 -
1364 1364  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1365 1365  
1366 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1367 -|(% 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**
1368 -|(% 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(((
1369 1369  OK
1370 1370  )))
1371 -|(% 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" %)(((
1372 1372  0
1373 1373  OK
1374 1374  )))
1375 1375  
1376 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34**
1316 +(% style="display:none" %) (%%)
1377 1377  
1378 -0X34 01  ~/~/Same As AT+PNACKMD=1
1379 -
1380 -0x34 00  ~/~/Same As AT+PNACKMD=0
1381 -
1382 -
1383 1383  == 7.27 Adjust network rejoining interval ==
1384 1384  
1385 1385  
1386 1386  (% style="color:blue" %)**AT Command: AT+RJTDC**
1387 1387  
1388 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1389 -|(% 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**
1390 -|(% 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(((
1391 1391  OK
1392 1392  
1393 1393  the interval is 30 min
1394 1394  )))
1395 -|(% 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(((
1396 1396  Set the ReJoin data transmission interval to 60 min
1397 1397  )))
1398 1398  
... ... @@ -1402,10 +1402,9 @@
1402 1402  
1403 1403  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1404 1404  
1405 -* **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
1406 1406  
1407 -* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1408 -
1409 1409  (% style="display:none" %) (%%)
1410 1410  
1411 1411  = 8. AT Commands Combination =
... ... @@ -1413,9 +1413,9 @@
1413 1413  == 8.1 Set a fix RX2DR for downlink window ==
1414 1414  
1415 1415  
1416 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1351 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1417 1417  
1418 -* (% 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
1419 1419  
1420 1420  (% style="display:none" %) (%%)
1421 1421  
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