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

From version 80.2
edited by Mengting Qiu
on 2025/07/01 15:00
Change comment: There is no comment for this version
To version 63.8
edited by Xiaoling
on 2023/04/19 14:45
Change comment: There is no comment for this version

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.ting
1 +XWiki.Xiaoling
Content
... ... @@ -10,7 +10,6 @@
10 10  Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands:
11 11  
12 12  * (% style="color:blue" %)**Common Commands:** (%%) They should be available for each sensor, such as: change uplink interval, reset device.
13 -
14 14  * (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device.
15 15  
16 16  (((
... ... @@ -18,13 +18,10 @@
18 18  )))
19 19  
20 20  
21 -
22 -
23 23  = 2. How to use AT Commands or Downlink command =
24 24  
25 25  
26 -* **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/]]**.
27 -
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/]]
28 28  * **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:
29 29  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
30 30  ** 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]]?
... ... @@ -35,10 +35,17 @@
35 35  = 3. Support End Node and firmware version =
36 36  
37 37  
34 +(% border="1" style="background-color:#F2F2F2; width:966px" %)
35 +|=(% colspan="3" style="width: 963px;background-color:#D9E2F3" %)(((
38 38  Dragino STM32 base hardware Firmware / LoRaWAN stack list
39 -
40 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %)
41 -|(% 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 +)))
42 42  |(% style="width:187px" %)(((
43 43  [[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]],
44 44  )))|(% style="width:330px" %)(((
... ... @@ -111,8 +111,9 @@
111 111  
112 112  (% style="color:blue" %)**AT Command: AT+TDC**
113 113  
114 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:727.222px" %)
115 -|(% 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**
116 116  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
117 117  OK
118 118  
... ... @@ -123,6 +123,8 @@
123 123  )))
124 124  
125 125  (((
130 +
131 +
126 126  (% style="color:blue" %)**Downlink Command: 0x01**
127 127  
128 128  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -133,7 +133,6 @@
133 133  )))
134 134  
135 135  * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
136 -
137 137  * **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
138 138  
139 139  (% style="display:none" %) (%%)
... ... @@ -144,10 +144,11 @@
144 144  Feature: Reboot End Node to perform a new OTAA or ABP Join.
145 145  
146 146  
147 -(% style="color:blue" %)**AT Command: ATZ  ~/~/ **(%%)Trig a reset of the MCU
152 +(% style="color:blue" %)**AT Command: ATZ**
148 148  
149 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:546px" %)
150 -|(% 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**
151 151  |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
152 152  Device reset and show booting info
153 153  
... ... @@ -179,10 +179,11 @@
179 179  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.
180 180  
181 181  
182 -(% style="color:blue" %)**AT Command: AT+FDR  ~/~/  **(%%)Reset to factory default
188 +(% style="color:blue" %)**AT Command: AT+FDR**
183 183  
184 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:789px" %)
185 -|(% 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**
186 186  |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
187 187  Device reset to factory default parameters and show booting info
188 188  
... ... @@ -214,10 +214,11 @@
214 214  Feature: Show firmware version. No downlink command yet.
215 215  
216 216  
217 -(% style="color:blue" %)**AT Command: AT+VER  ~/~/   **(%%)Image Version and Frequency Band
224 +(% style="color:blue" %)**AT Command: AT+VER**
218 218  
219 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:542px" %)
220 -|(% 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**
221 221  |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
222 222  1.3 EU868
223 223  
... ... @@ -227,17 +227,17 @@
227 227  (% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)**
228 228  
229 229  (((
230 -Format: Command Code (0x26) followed by 1 byte.
238 +Downlink Format: 0x26
231 231  )))
232 232  
233 233  (((
234 -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
235 235  )))
236 236  
237 237  (((
238 238  
239 239  
240 -(% style="color:#037691" %)**xx: Software Type:**
248 +**xx: Software Type:**
241 241  )))
242 242  
243 243  * 0x00 01: LGT92 Version
... ... @@ -247,7 +247,7 @@
247 247  (((
248 248  
249 249  
250 -(% style="color:#037691" %)**yy: Frequency Band:**
258 +**yy: Frequency Band:**
251 251  )))
252 252  
253 253  * 0x01: EU868
... ... @@ -257,14 +257,14 @@
257 257  * 0x05: KZ865
258 258  * 0x06: RU864
259 259  * 0x07: AS923
260 -* 0x08: AS923-2
261 -* 0x09: AS923-3
262 -* 0xa0: AS923-4
268 +* 0x08: AS923-1
269 +* 0x09: AS923-2
270 +* 0xa0: AS923-3
263 263  
264 264  (((
265 265  
266 266  
267 -(% style="color:#037691" %)**zz: Subband**
275 +**zz: Subband**
268 268  )))
269 269  
270 270  firmware version: v1.1.0 ~-~-> 110
... ... @@ -276,10 +276,11 @@
276 276  Feature: Show All configure. No downlink command yet.
277 277  
278 278  
279 -(% style="color:blue" %)**AT Command: AT+CFG  ~/~/ **(%%)Print all configurations
287 +(% style="color:blue" %)**AT Command: AT+CFG**
280 280  
281 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:599.222px" %)
282 -|(% 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**
283 283  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
284 284  AT+DEUI = XX XX XX XX XX XX XX XX
285 285  AT+DADDR=XXXXXXXX
... ... @@ -291,32 +291,6 @@
291 291  
292 292  (% style="display:none" %) (%%)
293 293  
294 -4.6
295 -
296 -Added the time zone setting parameter to the setting system Time instruction.
297 -
298 - AT+SYNCMOD=1,bb 
299 -
300 -* (((
301 -1: Set the system time synchronization
302 -)))
303 -
304 - bb:  Set local time (24 zones): -12~~12
305 -
306 -* (((
307 -Example: AT+SYNCMOD=1,8  ~/~/Set the time to UTC+8 time display.
308 -)))
309 -* (((
310 -Downlink payload:28 01 xx
311 -
312 -Example:  downlink 0x280108 ~-~-~-~-->AT+SYNCMOD=1,8
313 -)))
314 -
315 -Note: This command takes effect after the node is reset, or after downlink 0x2601(query device status).
316 -
317 -
318 -
319 -
320 320  = 5. Keys, IDs and EUIs management =
321 321  
322 322  == 5.1 Application EUI ==
... ... @@ -327,12 +327,13 @@
327 327  
328 328  (% style="color:blue" %)**AT Command: AT+APPEUI**
329 329  
330 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:643px" %)
331 -|(% 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**
332 -|(% 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(((
333 333  OK
334 334  )))
335 -|(% 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
336 336  
337 337  (% style="display:none" %) (%%)
338 338  
... ... @@ -344,8 +344,9 @@
344 344  
345 345  (% style="color:blue" %)**AT Command: AT+APPKEY**
346 346  
347 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:976.222px" %)
348 -|(% 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**
349 349  |(% 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(((
350 350  OK
351 351  )))
... ... @@ -361,8 +361,9 @@
361 361  
362 362  (% style="color:blue" %)**AT Command: AT+APPSKEY**
363 363  
364 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1040.22px" %)
365 -|(% 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**
366 366  |(% 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(((
367 367  OK
368 368  )))
... ... @@ -380,8 +380,9 @@
380 380  
381 381  (% style="color:blue" %)**AT Command: AT+DADDR**
382 382  
383 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:795.222px" %)
384 -|(% 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**
385 385  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
386 386  A8 40 41 FF
387 387  
... ... @@ -399,8 +399,9 @@
399 399  
400 400  (% style="color:blue" %)**AT Command: AT+DEUI**
401 401  
402 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1035.22px" %)
403 -|(% 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**
404 404  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
405 405  OK
406 406  )))
... ... @@ -418,8 +418,9 @@
418 418  
419 419  (% style="color:blue" %)**AT Command: AT+NWKID**
420 420  
421 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448.222px" %)
422 -|(% 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**
423 423  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
424 424  OK
425 425  )))
... ... @@ -435,8 +435,9 @@
435 435  
436 436  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
437 437  
438 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:1017.22px" %)
439 -|(% 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**
440 440  |(% 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(((
441 441  OK
442 442  )))
... ... @@ -456,8 +456,9 @@
456 456  
457 457  (% style="color:blue" %)**AT Command: AT+CFM**
458 458  
459 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
460 -|(% 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**
461 461  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
462 462  OK
463 463  )))
... ... @@ -466,12 +466,11 @@
466 466  
467 467  (% style="color:blue" %)**Downlink Command: 0x05**
468 468  
469 -Format: Command Code (0x05) followed by 1 byte mode value.
460 +Format: Command Code (0x05) followed by 2 bytes mode value.
470 470  
471 471  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
472 472  
473 473  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
474 -
475 475  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
476 476  
477 477  (% style="display:none" %) (%%)
... ... @@ -481,13 +481,14 @@
481 481  
482 482  (% style="color:blue" %)**AT Command: AT+CFM**
483 483  
484 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:462px" %)
485 -|(% 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**
486 486  |(% style="width:160px" %)(((
487 487  AT+CFM=1,0,0
488 488  
489 489  value1
490 -)))|(% style="width:198px" %)confirmed uplink|(% style="width:100px" %)(((
481 +)))|(% style="width:198px" %)confirmed uplink|(% style="width:349px" %)(((
491 491  1
492 492  
493 493  OK
... ... @@ -496,7 +496,7 @@
496 496  AT+CFM=0,?,0
497 497  
498 498  value2
499 -)))|(% 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" %)(((
500 500  0~~7
501 501  
502 502  OK
... ... @@ -505,7 +505,7 @@
505 505  AT+CFM=0,0,1
506 506  
507 507  value3
508 -)))|(% 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" %)(((
509 509  1
510 510  
511 511  OK
... ... @@ -513,12 +513,11 @@
513 513  
514 514  (% style="color:blue" %)**Downlink Command: 0x05**
515 515  
516 -Format: Command Code (0x05) followed by 3 bytes mode value.
507 +Format: Command Code (0x05) followed by 2 bytes mode value.
517 517  
518 518  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
519 519  
520 520  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
521 -
522 522  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
523 523  
524 524  (% style="display:none" %) (%%)
... ... @@ -531,8 +531,9 @@
531 531  
532 532  (% style="color:blue" %)**AT Command: AT+CFS**
533 533  
534 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:463px" %)
535 -|(% 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**
536 536  |(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
537 537  OK
538 538  )))
... ... @@ -547,8 +547,9 @@
547 547  
548 548  (% style="color:blue" %)**AT Command: AT+JOIN**
549 549  
550 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:647.222px" %)
551 -|(% 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**
552 552  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
553 553  OK
554 554  While Error in format, return AT_BUSY_ERROR
... ... @@ -564,8 +564,9 @@
564 564  
565 565  (% style="color:blue" %)**AT Command: AT+NJM**
566 566  
567 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:753.222px" %)
568 -|(% 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**
569 569  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
570 570  OK
571 571  )))
... ... @@ -579,7 +579,6 @@
579 579  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
580 580  
581 581  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
582 -
583 583  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
584 584  
585 585  (% style="display:none" %) (%%)
... ... @@ -592,9 +592,10 @@
592 592  
593 593  (% style="color:blue" %)**AT Command: AT+NJS**
594 594  
595 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:435px" %)
596 -|(% 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**
597 -|(% 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(((
598 598  OK
599 599  )))
600 600  
... ... @@ -608,9 +608,10 @@
608 608  
609 609  (% style="color:blue" %)**AT Command: AT+RECV**
610 610  
611 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:543px" %)
612 -|(% 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**
613 -|(% 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:(((
614 614  OK
615 615  )))
616 616  
... ... @@ -624,8 +624,9 @@
624 624  
625 625  (% style="color:blue" %)**AT Command: AT+RECVB**
626 626  
627 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:793.222px" %)
628 -|(% 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**
629 629  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
630 630  OK
631 631  )))
... ... @@ -632,7 +632,7 @@
632 632  
633 633  (% style="display:none" %) (%%)
634 634  
635 -== 6.8 Send Text Data(Note: The format of this command of LA66 is subject to the manual) ==
630 +== 6.8 Send Text Data ==
636 636  
637 637  
638 638  Feature: Send Text Data<port:data>.
... ... @@ -640,8 +640,9 @@
640 640  
641 641  (% style="color:blue" %)**AT Command: AT+SEND**
642 642  
643 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:991.222px" %)
644 -|(% 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**
645 645  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
646 646  While Error in format, return
647 647  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
... ... @@ -649,7 +649,7 @@
649 649  
650 650  (% style="display:none" %) (%%)
651 651  
652 -== 6.9 Send Hexadecimal Data(Note: The format of this command of LA66 is subject to the manual) ==
648 +== 6.9 Send Hexadecimal Data ==
653 653  
654 654  
655 655  Feature: Send hexadecimal data along with the application port.
... ... @@ -657,10 +657,11 @@
657 657  
658 658  (% style="color:blue" %)**AT Command: AT+SENDB**
659 659  
660 -(% border="1" cellspacing="4" style="width:974px" %)
661 -|(% 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**
662 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
663 -|(% 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(((
664 664  AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
665 665  )))
666 666  
... ... @@ -676,13 +676,14 @@
676 676  
677 677  (% style="color:blue" %)**AT Command: AT+ADR**
678 678  
679 -(% border="1" cellspacing="4" style="width:643px" %)
680 -|(% 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**
681 -|(% 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(((
682 682  OK
683 683  )))
684 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK
685 -|(% 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(((
686 686  AT_PARAM_ERROR
687 687  )))
688 688  
... ... @@ -691,7 +691,6 @@
691 691  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
692 692  
693 693  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
694 -
695 695  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
696 696  
697 697  (% style="display:none" %) (%%)
... ... @@ -704,12 +704,13 @@
704 704  
705 705  (% style="color:blue" %)**AT Command:  AT+CLASS**
706 706  
707 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:428px" %)
708 -|(% 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**
709 -|(% 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(((
710 710  OK
711 711  )))
712 -|(% 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(((
713 713  
714 714  )))
715 715  
... ... @@ -723,13 +723,14 @@
723 723  == 7.3 Duty Cycle Setting ==
724 724  
725 725  
726 -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.
727 727  
728 728  
729 729  (% style="color:blue" %)**AT Command:  AT+DCS**
730 730  
731 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:515.222px" %)
732 -|(% 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**
733 733  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
734 734  OK
735 735  )))
... ... @@ -748,17 +748,17 @@
748 748  **Notice:**
749 749  
750 750  * 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.
751 -
752 752  * 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/]]
753 753  
754 754  (% style="color:blue" %)**AT Command: AT+DR**
755 755  
756 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:409px" %)
757 -|(% 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**
758 -|(% 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(((
759 759  OK
760 760  )))
761 -|(% 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(((
762 762  
763 763  )))
764 764  
... ... @@ -767,7 +767,6 @@
767 767  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
768 768  
769 769  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
770 -
771 771  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
772 772  
773 773  (% style="display:none" %) (%%)
... ... @@ -780,8 +780,9 @@
780 780  
781 781  (% style="color:blue" %)**AT Command:  AT+FCD**
782 782  
783 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:693.222px" %)
784 -|(% 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**
785 785  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
786 786  OK
787 787  )))
... ... @@ -798,8 +798,9 @@
798 798  
799 799  (% style="color:blue" %)**AT Command:  AT+FCU**
800 800  
801 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:534.222px" %)
802 -|(% 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**
803 803  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
804 804  OK
805 805  )))
... ... @@ -817,8 +817,9 @@
817 817  
818 818  (% style="color:blue" %)**AT Command:  AT+JN1DL**
819 819  
820 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:537.222px" %)
821 -|(% 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**
822 822  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
823 823  OK
824 824  )))
... ... @@ -836,8 +836,9 @@
836 836  
837 837  (% style="color:blue" %)**AT Command:  AT+JN2DL**
838 838  
839 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:538.222px" %)
840 -|(% 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**
841 841  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
842 842  OK
843 843  )))
... ... @@ -857,8 +857,9 @@
857 857  
858 858  (% style="color:blue" %)**AT Command:  AT+PNM**
859 859  
860 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:667.222px" %)
861 -|(% 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**
862 862  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
863 863  OK
864 864  )))
... ... @@ -883,8 +883,9 @@
883 883  
884 884  (% style="color:blue" %)**AT Command: AT+RX1DL**
885 885  
886 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:408.222px" %)
887 -|(% 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**
888 888  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
889 889  OK
890 890  )))
... ... @@ -902,8 +902,9 @@
902 902  
903 903  (% style="color:blue" %)**AT Command: AT+RX2DL**
904 904  
905 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:481.222px" %)
906 -|(% 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**
907 907  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
908 908  OK
909 909  )))
... ... @@ -921,8 +921,9 @@
921 921  
922 922  (% style="color:blue" %)**AT Command:  AT+RX2DR**
923 923  
924 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:525.222px" %)
925 -|(% 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**
926 926  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
927 927  OK
928 928  )))
... ... @@ -940,8 +940,9 @@
940 940  
941 941  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
942 942  
943 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:587.222px" %)
944 -|(% 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**
945 945  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
946 946  OK
947 947  )))
... ... @@ -954,7 +954,7 @@
954 954  == 7.14 Transmit Power ==
955 955  
956 956  
957 -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. )
958 958  
959 959  (% 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**
960 960  
... ... @@ -961,8 +961,9 @@
961 961  
962 962  (% style="color:blue" %)**AT Command:  AT+TXP**
963 963  
964 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:465.222px" %)
965 -|(% 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**
966 966  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
967 967  OK
968 968  )))
... ... @@ -975,7 +975,6 @@
975 975  If the downlink payload=22000100, it means setting the TXP to 0.
976 976  
977 977  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
978 -
979 979  * **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
980 980  
981 981  (% style="display:none" %) (%%)
... ... @@ -988,8 +988,9 @@
988 988  
989 989  (% style="color:blue" %)**AT Command:AT+RSSI**
990 990  
991 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:557.222px" %)
992 -|(% 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**
993 993  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
994 994  OK
995 995  )))
... ... @@ -1004,8 +1004,9 @@
1004 1004  
1005 1005  (% style="color:blue" %)**AT Command:  AT+SNR**
1006 1006  
1007 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:571.222px" %)
1008 -|(% 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**
1009 1009  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
1010 1010  OK
1011 1011  )))
... ... @@ -1020,12 +1020,13 @@
1020 1020  
1021 1021  (% style="color:blue" %)**AT Command: AT+PORT**
1022 1022  
1023 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:459px" %)
1024 -|(% 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**
1025 -|(% 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(((
1026 1026  OK
1027 1027  )))
1028 -|(% 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
1029 1029  
1030 1030  (% style="color:blue" %)**Downlink Command: 0x23**
1031 1031  
... ... @@ -1034,7 +1034,6 @@
1034 1034  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1035 1035  
1036 1036  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1037 -
1038 1038  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1039 1039  
1040 1040  (% style="display:none" %) (%%)
... ... @@ -1047,12 +1047,13 @@
1047 1047  
1048 1048  (% style="color:blue" %)**AT Command: AT+CHS**
1049 1049  
1050 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:584px" %)
1051 -|(% 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**
1052 -|(% 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(((
1053 1053  OK
1054 1054  )))
1055 -|(% 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
1056 1056  
1057 1057  (% style="display:none" %) (%%)
1058 1058  
... ... @@ -1064,8 +1064,9 @@
1064 1064  
1065 1065  (% style="color:blue" %)**AT Command: AT+CHE**
1066 1066  
1067 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:710.222px" %)
1068 -|(% 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**
1069 1069  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1070 1070  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1071 1071  
... ... @@ -1080,7 +1080,6 @@
1080 1080  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1081 1081  
1082 1082  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1083 -
1084 1084  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1085 1085  
1086 1086  (% style="display:none" %) (%%)
... ... @@ -1093,8 +1093,9 @@
1093 1093  
1094 1094  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1095 1095  
1096 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:460.222px" %)
1097 -|(% 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**
1098 1098  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1099 1099  OK
1100 1100  )))
... ... @@ -1112,22 +1112,7 @@
1112 1112  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.
1113 1113  )))
1114 1114  
1115 -**Example:**
1116 -~1. Set AT+RX1WTO=0, AT+RX1DL=5000, the window opening time is: 53.699ms
1117 1117  
1118 -[[image:image-20240906095336-1.png||height="404" width="759"]]
1119 -
1120 -
1121 -2. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 149.644ms
1122 -
1123 -[[image:image-20240906095433-2.png||height="403" width="756"]]
1124 -
1125 -
1126 -3. Set AT+RX1WTO=128, AT+RX1DL=5000, the window opening time is: 298.221ms
1127 -
1128 -[[image:image-20240906095527-3.png||height="400" width="749"]]
1129 -
1130 -
1131 1131  == 7.21 Get or Set RXwindows2 timeout ==
1132 1132  
1133 1133  
... ... @@ -1136,29 +1136,16 @@
1136 1136  
1137 1137  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1138 1138  
1139 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:448px" %)
1140 -|(% 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**
1141 -|(% 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(((
1142 1142  OK
1143 1143  )))
1144 -|(% 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
1145 1145  
1146 -**Example:**
1147 -~1. Set AT+RX2WTO=0, AT+RX2DL=6000, the window opening time is: 48.435ms
1143 +(% style="display:none" %) (%%)
1148 1148  
1149 -(% style="display:none" %) (%%) [[image:image-20240906095619-4.png||height="375" width="703"]]
1150 -
1151 -
1152 -2. Set AT+RX2WTO=128, AT+RX2DL=6000, the window opening time is: 3011ms
1153 -
1154 -[[image:image-20240906095726-5.png||height="381" width="714"]]
1155 -
1156 -
1157 -3. Set AT+RX2WTO=255, AT+RX2DL=6000, the window opening time is: 3009ms
1158 -
1159 -[[image:image-20240906095811-6.png||height="380" width="711"]]
1160 -
1161 -
1162 1162  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1163 1163  
1164 1164  
... ... @@ -1167,12 +1167,13 @@
1167 1167  
1168 1168  (% style="color:blue" %)**AT Command: AT+DWELLT**
1169 1169  
1170 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:419px" %)
1171 -|(% 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**
1172 -|(% 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(((
1173 1173  OK
1174 1174  )))
1175 -|(% 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
1176 1176  
1177 1177  (% style="color:blue" %)**Downlink Command: 0x25**
1178 1178  
... ... @@ -1181,7 +1181,6 @@
1181 1181  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1182 1182  
1183 1183  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1184 -
1185 1185  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1186 1186  
1187 1187  (% style="display:none" %) (%%)
... ... @@ -1192,30 +1192,25 @@
1192 1192  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.
1193 1193  
1194 1194  
1195 -(% style="color:blue" %)**RPL value:**
1178 +**RPL value:**
1196 1196  
1197 1197  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1198 -
1199 1199  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1200 -
1201 1201  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1202 -
1203 1203  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1204 -
1205 1205  * **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.
1206 1206  
1207 -(% style="color:blue" %)**Case Analyes:**
1186 +**Case Analyes:**
1208 1208  
1209 1209  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1210 -
1211 1211  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1212 -
1213 1213  * 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.
1214 1214  
1215 1215  (% style="color:blue" %)**AT Command: AT+RPL**
1216 1216  
1217 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:536.222px" %)
1218 -|(% 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**
1219 1219  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1220 1220  OK
1221 1221  )))
... ... @@ -1228,7 +1228,6 @@
1228 1228  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1229 1229  
1230 1230  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1231 -
1232 1232  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1233 1233  
1234 1234  (% style="display:none" %) (%%)
... ... @@ -1238,12 +1238,13 @@
1238 1238  
1239 1239  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1240 1240  
1241 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:589px" %)
1242 -|(% 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**
1243 -|(% 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(((
1244 1244  OK
1245 1245  )))
1246 -|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1224 +|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1247 1247  value2: 0: uplink fcnt doesn't change for each NBTrans;
1248 1248  
1249 1249  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1260,7 +1260,6 @@
1260 1260  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1261 1261  
1262 1262  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1263 -
1264 1264  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1265 1265  
1266 1266  (% style="display:none" %) (%%)
... ... @@ -1273,16 +1273,16 @@
1273 1273  AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1274 1274  
1275 1275  * ACK_Timout_1: Unit: min
1276 -
1277 1277  * ACK_Timout_2: Unit: min
1278 1278  
1279 -(% border="1" style="background-color:#f2f2f2; width:562px" %)
1280 -|(% 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**
1281 1281  |(% style="width:160px" %)(((
1282 1282  AT+DDETECT=1,1440,2880
1283 1283  
1284 1284  value1
1285 -)))|(% style="width:272px" %)Enable online detect|(% style="width:89px" %)(((
1262 +)))|(% style="width:198px" %)Enable online detect|(% style="width:349px" %)(((
1286 1286  1
1287 1287  
1288 1288  OK
... ... @@ -1291,7 +1291,7 @@
1291 1291  AT+DDETECT=1,?,2880
1292 1292  
1293 1293  value2
1294 -)))|(% style="width:272px" %)Online detection packet sending time|(% style="width:89px" %)(((
1271 +)))|(% style="width:198px" %)Online detection packet sending time|(% style="width:349px" %)(((
1295 1295  
1296 1296  
1297 1297  OK
... ... @@ -1300,7 +1300,7 @@
1300 1300  AT+DDETECT=1,1440,?
1301 1301  
1302 1302  value3
1303 -)))|(% style="width:272px" %)Process rejoin|(% style="width:89px" %)(((
1280 +)))|(% style="width:198px" %)Process rejoin|(% style="width:349px" %)(((
1304 1304  
1305 1305  
1306 1306  OK
... ... @@ -1313,55 +1313,45 @@
1313 1313  If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1314 1314  
1315 1315  * **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.
1316 1316  
1317 -*
1318 -** 0x01** : Flag**
1319 -
1320 - **0x05A0 **: ACK_Timout_1 : 1440minutes (24 hours)
1321 -
1322 - **0x0B40 **: ACK_Timout_2 : 2880minutes (48 hours)
1323 -
1324 -* **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.
1325 -
1326 1326  (% style="display:none" %) (%%)
1327 1327  
1328 1328  == 7.26 Request the server to send an ACK ==
1329 1329  
1330 1330  
1331 -Feature: Mode for sending data for which acknowledgment was not received. LoraWAN Network Server(eg. The Things NetWork/ChirpStack/AWS/...).
1332 -
1333 1333  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1334 1334  
1335 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1336 -|(% 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**
1337 -|(% 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(((
1338 1338  OK
1339 1339  )))
1340 -|(% 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" %)(((
1341 1341  0
1342 1342  OK
1343 1343  )))
1344 1344  
1345 -(% style="display:none" %) (%%) (% style="color:blue" %)**Downlink Command: 0x34**
1316 +(% style="display:none" %) (%%)
1346 1346  
1347 -0X34 01  ~/~/Same As AT+PNACKMD=1
1348 -
1349 -0x34 00  ~/~/Same As AT+PNACKMD=0
1350 -
1351 -
1352 1352  == 7.27 Adjust network rejoining interval ==
1353 1353  
1354 1354  
1355 1355  (% style="color:blue" %)**AT Command: AT+RJTDC**
1356 1356  
1357 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:889px" %)
1358 -|(% 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**
1359 -|(% 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(((
1360 1360  OK
1361 1361  
1362 1362  the interval is 30 min
1363 1363  )))
1364 -|(% 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(((
1365 1365  Set the ReJoin data transmission interval to 60 min
1366 1366  )))
1367 1367  
... ... @@ -1371,10 +1371,9 @@
1371 1371  
1372 1372  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1373 1373  
1374 -* **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
1375 1375  
1376 -* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1377 -
1378 1378  (% style="display:none" %) (%%)
1379 1379  
1380 1380  = 8. AT Commands Combination =
... ... @@ -1382,9 +1382,9 @@
1382 1382  == 8.1 Set a fix RX2DR for downlink window ==
1383 1383  
1384 1384  
1385 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1351 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1386 1386  
1387 -* (% 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
1388 1388  
1389 1389  (% style="display:none" %) (%%)
1390 1390  
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