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

From version 81.2
edited by Mengting Qiu
on 2025/07/01 15:13
Change comment: There is no comment for this version
To version 63.4
edited by Xiaoling
on 2023/04/19 14:20
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;color:#0070C0" %)(((
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;background-color:#D9E2F3" %)(((
39 +**Model**
40 +)))|(% style="width:330px;background-color:#D9E2F3" %)(((
41 +**Description**
42 +)))|(% style="width:445px;background-color:#D9E2F3" %)(((
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:#ffffcc; color:green; width:727.222px" %)
118 +|=(% colspan="3" style="width: 724px;" %)AT+TDC
119 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
117 117  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
118 118  OK
119 119  
... ... @@ -124,6 +124,8 @@
124 124  )))
125 125  
126 126  (((
130 +
131 +
127 127  (% style="color:blue" %)**Downlink Command: 0x01**
128 128  
129 129  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -134,7 +134,6 @@
134 134  )))
135 135  
136 136  * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
137 -
138 138  * **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
139 139  
140 140  (% style="display:none" %) (%%)
... ... @@ -145,10 +145,11 @@
145 145  Feature: Reboot End Node to perform a new OTAA or ABP Join.
146 146  
147 147  
148 -(% style="color:blue" %)**AT Command: ATZ  ~/~/ **(%%)Trig a reset of the MCU
152 +(% style="color:blue" %)**AT Command: ATZ**
149 149  
150 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %)
151 -|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:92px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:294px" %)**Response**
154 +(% border="1" style="background-color:#ffffcc; color:green; width:546px" %)
155 +|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU
156 +|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response**
152 152  |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
153 153  Device reset and show booting info
154 154  
... ... @@ -180,10 +180,11 @@
180 180  Feature: Reset the parameters to Factory Default, factory default value depends on the firmware settings, the OTAA and ABP keys will reserve after this command.
181 181  
182 182  
183 -(% style="color:blue" %)**AT Command: AT+FDR  ~/~/  **(%%)Reset to factory default
188 +(% style="color:blue" %)**AT Command: AT+FDR**
184 184  
185 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %)
186 -|(% style="background-color:#4f81bd; color:white; width:154px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:456px" %)**Response**
190 +(% border="1" style="background-color:#ffffcc; color:green; width:789px" %)
191 +|=(% colspan="3" style="width: 786px;" %)Reset to factory default
192 +|(% style="width:154px" %)**Command Example**|(% style="width:175px" %)**Function**|(% style="width:456px" %)**Response**
187 187  |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
188 188  Device reset to factory default parameters and show booting info
189 189  
... ... @@ -215,10 +215,11 @@
215 215  Feature: Show firmware version. No downlink command yet.
216 216  
217 217  
218 -(% style="color:blue" %)**AT Command: AT+VER  ~/~/   **(%%)Image Version and Frequency Band
224 +(% style="color:blue" %)**AT Command: AT+VER**
219 219  
220 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %)
221 -|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response**
226 +(% border="1" style="background-color:#ffffcc; color:green; width:542px" %)
227 +|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band
228 +|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response**
222 222  |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
223 223  1.3 EU868
224 224  
... ... @@ -228,17 +228,17 @@
228 228  (% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)**
229 229  
230 230  (((
231 -Format: Command Code (0x26) followed by 1 byte.
238 +Downlink Format: 0x26
232 232  )))
233 233  
234 234  (((
235 -If the downlink payload=**2601, **Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes(  FPort= 5 usually).
242 +Device will reply with firmware version info, device info. frequency band info. detail please check device user manual. Total 5 bytes Example: If device is of firmware version 1.1.0 Upload: xx ~-~- yy ~-~- zz ~-~- 110 total 5 bytes
236 236  )))
237 237  
238 238  (((
239 239  
240 240  
241 -(% style="color:#037691" %)**xx: Software Type:**
248 +**xx: Software Type:**
242 242  )))
243 243  
244 244  * 0x00 01: LGT92 Version
... ... @@ -248,7 +248,7 @@
248 248  (((
249 249  
250 250  
251 -(% style="color:#037691" %)**yy: Frequency Band:**
258 +**yy: Frequency Band:**
252 252  )))
253 253  
254 254  * 0x01: EU868
... ... @@ -258,14 +258,14 @@
258 258  * 0x05: KZ865
259 259  * 0x06: RU864
260 260  * 0x07: AS923
261 -* 0x08: AS923-2
262 -* 0x09: AS923-3
263 -* 0xa0: AS923-4
268 +* 0x08: AS923-1
269 +* 0x09: AS923-2
270 +* 0xa0: AS923-3
264 264  
265 265  (((
266 266  
267 267  
268 -(% style="color:#037691" %)**zz: Subband**
275 +**zz: Subband**
269 269  )))
270 270  
271 271  firmware version: v1.1.0 ~-~-> 110
... ... @@ -277,10 +277,11 @@
277 277  Feature: Show All configure. No downlink command yet.
278 278  
279 279  
280 -(% style="color:blue" %)**AT Command: AT+CFG  ~/~/ **(%%)Print all configurations
287 +(% style="color:blue" %)**AT Command: AT+CFG**
281 281  
282 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %)
283 -|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:154px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:280px" %)**Response**
289 +(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
290 +|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
291 +|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
284 284  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
285 285  AT+DEUI = XX XX XX XX XX XX XX XX
286 286  AT+DADDR=XXXXXXXX
... ... @@ -292,48 +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 Transmit Interval|(% style="width:329px" %)OK(((
312 -Set transmit interval to 60000ms = 60 seconds
313 -)))
314 -
315 - AT+SYNCMOD=1,bb 
316 -
317 -* (((
318 -1: Set the system time synchronization
319 -)))
320 -
321 - bb:  Set local time (24 zones): -12~~12
322 -
323 -* (((
324 -Example: AT+SYNCMOD=1,8  ~/~/Set the time to UTC+8 time display.
325 -)))
326 -* (((
327 -Downlink payload:28 01 xx
328 -
329 -Example:  downlink 0x280108 ~-~-~-~-->AT+SYNCMOD=1,8
330 -)))
331 -
332 -Note: This command takes effect after the node is reset, or after downlink 0x2601(query device status).
333 -
334 -
335 -
336 -
337 337  = 5. Keys, IDs and EUIs management =
338 338  
339 339  == 5.1 Application EUI ==
... ... @@ -344,12 +344,13 @@
344 344  
345 345  (% style="color:blue" %)**AT Command: AT+APPEUI**
346 346  
347 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %)
348 -|(% 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**
349 -|(% 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(((
350 350  OK
351 351  )))
352 -|(% 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
353 353  
354 354  (% style="display:none" %) (%%)
355 355  
... ... @@ -361,8 +361,9 @@
361 361  
362 362  (% style="color:blue" %)**AT Command: AT+APPKEY**
363 363  
364 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %)
365 -|(% 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**
366 366  |(% 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(((
367 367  OK
368 368  )))
... ... @@ -378,8 +378,9 @@
378 378  
379 379  (% style="color:blue" %)**AT Command: AT+APPSKEY**
380 380  
381 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %)
382 -|(% 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**
383 383  |(% 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(((
384 384  OK
385 385  )))
... ... @@ -397,8 +397,9 @@
397 397  
398 398  (% style="color:blue" %)**AT Command: AT+DADDR**
399 399  
400 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %)
401 -|(% 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**
402 402  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
403 403  A8 40 41 FF
404 404  
... ... @@ -416,8 +416,9 @@
416 416  
417 417  (% style="color:blue" %)**AT Command: AT+DEUI**
418 418  
419 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %)
420 -|(% 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**
421 421  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
422 422  OK
423 423  )))
... ... @@ -435,8 +435,9 @@
435 435  
436 436  (% style="color:blue" %)**AT Command: AT+NWKID**
437 437  
438 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %)
439 -|(% 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**
440 440  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
441 441  OK
442 442  )))
... ... @@ -452,8 +452,9 @@
452 452  
453 453  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
454 454  
455 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %)
456 -|(% 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**
457 457  |(% 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(((
458 458  OK
459 459  )))
... ... @@ -473,8 +473,9 @@
473 473  
474 474  (% style="color:blue" %)**AT Command: AT+CFM**
475 475  
476 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
477 -|(% 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**
478 478  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
479 479  OK
480 480  )))
... ... @@ -483,12 +483,11 @@
483 483  
484 484  (% style="color:blue" %)**Downlink Command: 0x05**
485 485  
486 -Format: Command Code (0x05) followed by 1 byte mode value.
460 +Format: Command Code (0x05) followed by 2 bytes mode value.
487 487  
488 488  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
489 489  
490 490  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
491 -
492 492  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
493 493  
494 494  (% style="display:none" %) (%%)
... ... @@ -498,13 +498,14 @@
498 498  
499 499  (% style="color:blue" %)**AT Command: AT+CFM**
500 500  
501 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %)
502 -|(% 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**
503 503  |(% style="width:160px" %)(((
504 504  AT+CFM=1,0,0
505 505  
506 506  value1
507 -)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)(((
481 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
508 508  1
509 509  
510 510  OK
... ... @@ -513,7 +513,7 @@
513 513  AT+CFM=0,?,0
514 514  
515 515  value2
516 -)))|(% 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" %)(((
517 517  0~~7
518 518  
519 519  OK
... ... @@ -522,7 +522,7 @@
522 522  AT+CFM=0,0,1
523 523  
524 524  value3
525 -)))|(% 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" %)(((
526 526  1
527 527  
528 528  OK
... ... @@ -530,12 +530,11 @@
530 530  
531 531  (% style="color:blue" %)**Downlink Command: 0x05**
532 532  
533 -Format: Command Code (0x05) followed by 3 bytes mode value.
507 +Format: Command Code (0x05) followed by 2 bytes mode value.
534 534  
535 535  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
536 536  
537 537  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
538 -
539 539  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
540 540  
541 541  (% style="display:none" %) (%%)
... ... @@ -548,8 +548,9 @@
548 548  
549 549  (% style="color:blue" %)**AT Command: AT+CFS**
550 550  
551 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %)
552 -|(% 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**
553 553  |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
554 554  OK
555 555  )))
... ... @@ -564,8 +564,9 @@
564 564  
565 565  (% style="color:blue" %)**AT Command: AT+JOIN**
566 566  
567 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %)
568 -|(% 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**
569 569  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
570 570  OK
571 571  While Error in format, return AT_BUSY_ERROR
... ... @@ -581,8 +581,9 @@
581 581  
582 582  (% style="color:blue" %)**AT Command: AT+NJM**
583 583  
584 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %)
585 -|(% 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**
586 586  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
587 587  OK
588 588  )))
... ... @@ -596,7 +596,6 @@
596 596  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
597 597  
598 598  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
599 -
600 600  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
601 601  
602 602  (% style="display:none" %) (%%)
... ... @@ -609,9 +609,10 @@
609 609  
610 610  (% style="color:blue" %)**AT Command: AT+NJS**
611 611  
612 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %)
613 -|(% 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**
614 -|(% 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(((
615 615  OK
616 616  )))
617 617  
... ... @@ -625,9 +625,10 @@
625 625  
626 626  (% style="color:blue" %)**AT Command: AT+RECV**
627 627  
628 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %)
629 -|(% 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**
630 -|(% 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:(((
631 631  OK
632 632  )))
633 633  
... ... @@ -641,8 +641,9 @@
641 641  
642 642  (% style="color:blue" %)**AT Command: AT+RECVB**
643 643  
644 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %)
645 -|(% 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**
646 646  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
647 647  OK
648 648  )))
... ... @@ -649,7 +649,7 @@
649 649  
650 650  (% style="display:none" %) (%%)
651 651  
652 -== 6.8 Send Text Data(Note: The format of this command of LA66 is subject to the manual) ==
630 +== 6.8 Send Text Data ==
653 653  
654 654  
655 655  Feature: Send Text Data<port:data>.
... ... @@ -657,8 +657,9 @@
657 657  
658 658  (% style="color:blue" %)**AT Command: AT+SEND**
659 659  
660 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %)
661 -|(% 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**
662 662  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
663 663  While Error in format, return
664 664  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
... ... @@ -666,7 +666,7 @@
666 666  
667 667  (% style="display:none" %) (%%)
668 668  
669 -== 6.9 Send Hexadecimal Data(Note: The format of this command of LA66 is subject to the manual) ==
648 +== 6.9 Send Hexadecimal Data ==
670 670  
671 671  
672 672  Feature: Send hexadecimal data along with the application port.
... ... @@ -674,10 +674,11 @@
674 674  
675 675  (% style="color:blue" %)**AT Command: AT+SENDB**
676 676  
677 -(% border="1" cellspacing="4" style="width:974px" %)
678 -|(% 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**
679 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
680 -|(% 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(((
681 681  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
682 682  )))
683 683  
... ... @@ -693,13 +693,14 @@
693 693  
694 694  (% style="color:blue" %)**AT Command: AT+ADR**
695 695  
696 -(% border="1" cellspacing="4" style="width:643px" %)
697 -|(% 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**
698 -|(% 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(((
699 699  OK
700 700  )))
701 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK
702 -|(% 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(((
703 703  AT_PARAM_ERROR
704 704  )))
705 705  
... ... @@ -708,7 +708,6 @@
708 708  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
709 709  
710 710  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
711 -
712 712  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
713 713  
714 714  (% style="display:none" %) (%%)
... ... @@ -721,12 +721,13 @@
721 721  
722 722  (% style="color:blue" %)**AT Command:  AT+CLASS**
723 723  
724 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %)
725 -|(% 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**
726 -|(% 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(((
727 727  OK
728 728  )))
729 -|(% 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(((
730 730  
731 731  )))
732 732  
... ... @@ -740,13 +740,14 @@
740 740  == 7.3 Duty Cycle Setting ==
741 741  
742 742  
743 -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.
744 744  
745 745  
746 746  (% style="color:blue" %)**AT Command:  AT+DCS**
747 747  
748 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %)
749 -|(% 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**
750 750  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
751 751  OK
752 752  )))
... ... @@ -765,17 +765,17 @@
765 765  **Notice:**
766 766  
767 767  * 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.
768 -
769 769  * 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/]]
770 770  
771 771  (% style="color:blue" %)**AT Command: AT+DR**
772 772  
773 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %)
774 -|(% 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**
775 -|(% 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(((
776 776  OK
777 777  )))
778 -|(% 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(((
779 779  
780 780  )))
781 781  
... ... @@ -784,7 +784,6 @@
784 784  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
785 785  
786 786  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
787 -
788 788  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
789 789  
790 790  (% style="display:none" %) (%%)
... ... @@ -797,8 +797,9 @@
797 797  
798 798  (% style="color:blue" %)**AT Command:  AT+FCD**
799 799  
800 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %)
801 -|(% 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**
802 802  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
803 803  OK
804 804  )))
... ... @@ -815,8 +815,9 @@
815 815  
816 816  (% style="color:blue" %)**AT Command:  AT+FCU**
817 817  
818 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %)
819 -|(% 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**
820 820  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
821 821  OK
822 822  )))
... ... @@ -834,8 +834,9 @@
834 834  
835 835  (% style="color:blue" %)**AT Command:  AT+JN1DL**
836 836  
837 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %)
838 -|(% 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**
839 839  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
840 840  OK
841 841  )))
... ... @@ -853,8 +853,9 @@
853 853  
854 854  (% style="color:blue" %)**AT Command:  AT+JN2DL**
855 855  
856 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %)
857 -|(% 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**
858 858  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
859 859  OK
860 860  )))
... ... @@ -874,8 +874,9 @@
874 874  
875 875  (% style="color:blue" %)**AT Command:  AT+PNM**
876 876  
877 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %)
878 -|(% 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**
879 879  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
880 880  OK
881 881  )))
... ... @@ -900,8 +900,9 @@
900 900  
901 901  (% style="color:blue" %)**AT Command: AT+RX1DL**
902 902  
903 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %)
904 -|(% 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**
905 905  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
906 906  OK
907 907  )))
... ... @@ -919,8 +919,9 @@
919 919  
920 920  (% style="color:blue" %)**AT Command: AT+RX2DL**
921 921  
922 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %)
923 -|(% 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**
924 924  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
925 925  OK
926 926  )))
... ... @@ -938,8 +938,9 @@
938 938  
939 939  (% style="color:blue" %)**AT Command:  AT+RX2DR**
940 940  
941 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %)
942 -|(% 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**
943 943  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
944 944  OK
945 945  )))
... ... @@ -957,8 +957,9 @@
957 957  
958 958  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
959 959  
960 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %)
961 -|(% 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**
962 962  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
963 963  OK
964 964  )))
... ... @@ -971,7 +971,7 @@
971 971  == 7.14 Transmit Power ==
972 972  
973 973  
974 -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. )
975 975  
976 976  (% 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**
977 977  
... ... @@ -978,8 +978,9 @@
978 978  
979 979  (% style="color:blue" %)**AT Command:  AT+TXP**
980 980  
981 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %)
982 -|(% 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**
983 983  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
984 984  OK
985 985  )))
... ... @@ -992,7 +992,6 @@
992 992  If the downlink payload=22000100, it means setting the TXP to 0.
993 993  
994 994  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
995 -
996 996  * **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
997 997  
998 998  (% style="display:none" %) (%%)
... ... @@ -1005,8 +1005,9 @@
1005 1005  
1006 1006  (% style="color:blue" %)**AT Command:AT+RSSI**
1007 1007  
1008 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %)
1009 -|(% 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**
1010 1010  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
1011 1011  OK
1012 1012  )))
... ... @@ -1021,8 +1021,9 @@
1021 1021  
1022 1022  (% style="color:blue" %)**AT Command:  AT+SNR**
1023 1023  
1024 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %)
1025 -|(% 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**
1026 1026  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
1027 1027  OK
1028 1028  )))
... ... @@ -1037,12 +1037,13 @@
1037 1037  
1038 1038  (% style="color:blue" %)**AT Command: AT+PORT**
1039 1039  
1040 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %)
1041 -|(% 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**
1042 -|(% 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(((
1043 1043  OK
1044 1044  )))
1045 -|(% 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
1046 1046  
1047 1047  (% style="color:blue" %)**Downlink Command: 0x23**
1048 1048  
... ... @@ -1051,7 +1051,6 @@
1051 1051  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1052 1052  
1053 1053  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1054 -
1055 1055  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1056 1056  
1057 1057  (% style="display:none" %) (%%)
... ... @@ -1064,12 +1064,13 @@
1064 1064  
1065 1065  (% style="color:blue" %)**AT Command: AT+CHS**
1066 1066  
1067 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %)
1068 -|(% 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**
1069 -|(% 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(((
1070 1070  OK
1071 1071  )))
1072 -|(% 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
1073 1073  
1074 1074  (% style="display:none" %) (%%)
1075 1075  
... ... @@ -1081,8 +1081,9 @@
1081 1081  
1082 1082  (% style="color:blue" %)**AT Command: AT+CHE**
1083 1083  
1084 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
1085 -|(% 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**
1086 1086  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1087 1087  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1088 1088  
... ... @@ -1097,7 +1097,6 @@
1097 1097  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1098 1098  
1099 1099  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1100 -
1101 1101  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1102 1102  
1103 1103  (% style="display:none" %) (%%)
... ... @@ -1110,8 +1110,9 @@
1110 1110  
1111 1111  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1112 1112  
1113 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %)
1114 -|(% 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**
1115 1115  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1116 1116  OK
1117 1117  )))
... ... @@ -1129,22 +1129,7 @@
1129 1129  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.
1130 1130  )))
1131 1131  
1132 -**Example:**
1133 -~1. Set AT+RX1WTO=0, AT+RX1DL=5000, the window opening time is: 53.699ms
1134 1134  
1135 -[[image:image-20240906095336-1.png||height="404" width="759"]]
1136 -
1137 -
1138 -2. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 149.644ms
1139 -
1140 -[[image:image-20240906095433-2.png||height="403" width="756"]]
1141 -
1142 -
1143 -3. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 298.221ms
1144 -
1145 -[[image:image-20240906095527-3.png||height="400" width="749"]]
1146 -
1147 -
1148 1148  == 7.21 Get or Set RXwindows2 timeout ==
1149 1149  
1150 1150  
... ... @@ -1153,29 +1153,16 @@
1153 1153  
1154 1154  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1155 1155  
1156 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %)
1157 -|(% 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**
1158 -|(% 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(((
1159 1159  OK
1160 1160  )))
1161 -|(% 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
1162 1162  
1163 -**Example:**
1164 -~1. Set AT+RX2WTO=0, AT+RX2DL=6000, the window opening time is: 48.435ms
1143 +(% style="display:none" %) (%%)
1165 1165  
1166 -(% style="display:none" %) (%%) [[image:image-20240906095619-4.png||height="375" width="703"]]
1167 -
1168 -
1169 -2. Set AT+RX2WTO=128, AT+RX2DL=6000, the window opening time is: 3011ms
1170 -
1171 -[[image:image-20240906095726-5.png||height="381" width="714"]]
1172 -
1173 -
1174 -3. Set AT+RX2WTO=255, AT+RX2DL=6000, the window opening time is: 3009ms
1175 -
1176 -[[image:image-20240906095811-6.png||height="380" width="711"]]
1177 -
1178 -
1179 1179  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1180 1180  
1181 1181  
... ... @@ -1184,12 +1184,13 @@
1184 1184  
1185 1185  (% style="color:blue" %)**AT Command: AT+DWELLT**
1186 1186  
1187 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %)
1188 -|(% 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**
1189 -|(% 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(((
1190 1190  OK
1191 1191  )))
1192 -|(% 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
1193 1193  
1194 1194  (% style="color:blue" %)**Downlink Command: 0x25**
1195 1195  
... ... @@ -1198,7 +1198,6 @@
1198 1198  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1199 1199  
1200 1200  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1201 -
1202 1202  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1203 1203  
1204 1204  (% style="display:none" %) (%%)
... ... @@ -1209,30 +1209,25 @@
1209 1209  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.
1210 1210  
1211 1211  
1212 -(% style="color:blue" %)**RPL value:**
1178 +**RPL value:**
1213 1213  
1214 1214  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1215 -
1216 1216  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1217 -
1218 1218  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1219 -
1220 1220  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1221 -
1222 1222  * **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.
1223 1223  
1224 -(% style="color:blue" %)**Case Analyes:**
1186 +**Case Analyes:**
1225 1225  
1226 1226  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1227 -
1228 1228  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1229 -
1230 1230  * 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.
1231 1231  
1232 1232  (% style="color:blue" %)**AT Command: AT+RPL**
1233 1233  
1234 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %)
1235 -|(% 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**
1236 1236  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1237 1237  OK
1238 1238  )))
... ... @@ -1245,7 +1245,6 @@
1245 1245  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1246 1246  
1247 1247  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1248 -
1249 1249  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1250 1250  
1251 1251  (% style="display:none" %) (%%)
... ... @@ -1255,12 +1255,13 @@
1255 1255  
1256 1256  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1257 1257  
1258 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %)
1259 -|(% 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**
1260 -|(% 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(((
1261 1261  OK
1262 1262  )))
1263 -|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1224 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1264 1264  value2: 0: uplink fcnt doesn't change for each NBTrans;
1265 1265  
1266 1266  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1277,7 +1277,6 @@
1277 1277  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1278 1278  
1279 1279  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1280 -
1281 1281  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1282 1282  
1283 1283  (% style="display:none" %) (%%)
... ... @@ -1290,16 +1290,16 @@
1290 1290  AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1291 1291  
1292 1292  * ACK_Timout_1: Unit: min
1293 -
1294 1294  * ACK_Timout_2: Unit: min
1295 1295  
1296 -(% border="1" style="background-color:#f2f2f2; width:562px" %)
1297 -|(% 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**
1298 1298  |(% style="width:160px" %)(((
1299 1299  AT+DDETECT=1,1440,2880
1300 1300  
1301 1301  value1
1302 -)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)(((
1262 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1303 1303  1
1304 1304  
1305 1305  OK
... ... @@ -1308,7 +1308,7 @@
1308 1308  AT+DDETECT=1,?,2880
1309 1309  
1310 1310  value2
1311 -)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)(((
1271 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1312 1312  
1313 1313  
1314 1314  OK
... ... @@ -1317,7 +1317,7 @@
1317 1317  AT+DDETECT=1,1440,?
1318 1318  
1319 1319  value3
1320 -)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)(((
1280 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1321 1321  
1322 1322  
1323 1323  OK
... ... @@ -1330,55 +1330,45 @@
1330 1330  If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1331 1331  
1332 1332  * **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.
1333 1333  
1334 -*
1335 -** 0x01** : Flag**
1336 -
1337 - **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours)
1338 -
1339 - **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours)
1340 -
1341 -* **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.
1342 -
1343 1343  (% style="display:none" %) (%%)
1344 1344  
1345 1345  == 7.26 Request the server to send an ACK ==
1346 1346  
1347 1347  
1348 -Feature: Mode for sending data for which acknowledgment was not received. LoraWAN Network Server(eg. The Things NetWork/ChirpStack/AWS/...).
1349 -
1350 1350  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1351 1351  
1352 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1353 -|(% 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**
1354 -|(% 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(((
1355 1355  OK
1356 1356  )))
1357 -|(% 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" %)(((
1358 1358  0
1359 1359  OK
1360 1360  )))
1361 1361  
1362 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34**
1316 +(% style="display:none" %) (%%)
1363 1363  
1364 -0X34 01  ~/~/Same As AT+PNACKMD=1
1365 -
1366 -0x34 00  ~/~/Same As AT+PNACKMD=0
1367 -
1368 -
1369 1369  == 7.27 Adjust network rejoining interval ==
1370 1370  
1371 1371  
1372 1372  (% style="color:blue" %)**AT Command: AT+RJTDC**
1373 1373  
1374 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1375 -|(% 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**
1376 -|(% 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(((
1377 1377  OK
1378 1378  
1379 1379  the interval is 30 min
1380 1380  )))
1381 -|(% 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(((
1382 1382  Set the ReJoin data transmission interval to 60 min
1383 1383  )))
1384 1384  
... ... @@ -1388,10 +1388,9 @@
1388 1388  
1389 1389  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1390 1390  
1391 -* **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
1392 1392  
1393 -* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1394 -
1395 1395  (% style="display:none" %) (%%)
1396 1396  
1397 1397  = 8. AT Commands Combination =
... ... @@ -1399,9 +1399,9 @@
1399 1399  == 8.1 Set a fix RX2DR for downlink window ==
1400 1400  
1401 1401  
1402 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1351 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1403 1403  
1404 -* (% 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
1405 1405  
1406 1406  (% style="display:none" %) (%%)
1407 1407  
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