<
From version < 58.2 >
edited by Xiaoling
on 2022/12/02 13:45
To version < 63.42 >
edited by Xiaoling
on 2023/05/29 14:57
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -10,40 +10,34 @@
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 +
13 13  * (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device.
14 14  
15 15  (((
16 16  **This page shows the common commands since Dragino LoRaWAN stack DR-LWS-005. Make sure the end node support stack higher than DR-LWS-005 before checking this page.**
17 -
18 -
19 19  )))
20 20  
20 +
21 21  = 2. How to use AT Commands or Downlink command =
22 22  
23 23  
24 24  * **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/]]
25 +
25 25  * **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:
26 26  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
27 27  ** 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]]?
28 28  ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server)
29 29  
31 +(% style="display:none" %) (%%)
30 30  
31 -
32 32  = 3. Support End Node and firmware version =
33 33  
34 34  
35 -(% border="1" style="background-color:#ffffcc; color:green; width:966px" %)
36 -|=(% colspan="3" style="width: 963px;" %)(((
37 37  Dragino STM32 base hardware Firmware / LoRaWAN stack list
38 -)))
37 +
38 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %)
39 +|(% 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**
39 39  |(% style="width:187px" %)(((
40 -**Model**
41 -)))|(% style="width:330px" %)(((
42 -**Description**
43 -)))|(% style="width:445px" %)(((
44 -**Firmware Version <~-~-> Stack Version**
45 -)))
46 -|(% style="width:187px" %)(((
47 47  [[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]],
48 48  )))|(% style="width:330px" %)(((
49 49  Open Source Generic LoRaWAN Sensor Node
... ... @@ -103,6 +103,7 @@
103 103  )))
104 104  )))
105 105  
100 +(% style="display:none" %) (%%)
106 106  
107 107  = 4. System Management Commands =
108 108  
... ... @@ -114,9 +114,8 @@
114 114  
115 115  (% style="color:blue" %)**AT Command: AT+TDC**
116 116  
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**
112 +(% border="1" style="background-color:#f2f2f2; width:727.222px" %)
113 +|(% 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**
120 120  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
121 121  OK
122 122  
... ... @@ -127,8 +127,6 @@
127 127  )))
128 128  
129 129  (((
130 -
131 -
132 132  (% style="color:blue" %)**Downlink Command: 0x01**
133 133  
134 134  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -139,8 +139,11 @@
139 139  )))
140 140  
141 141  * **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
134 +
142 142  * **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
143 143  
137 +(% style="display:none" %) (%%)
138 +
144 144  == 4.2 Reboot End Node ==
145 145  
146 146  
... ... @@ -147,11 +147,10 @@
147 147  Feature: Reboot End Node to perform a new OTAA or ABP Join.
148 148  
149 149  
150 -(% style="color:blue" %)**AT Command: ATZ**
145 +(% style="color:blue" %)**AT Command: ATZ  ~/~/ **(%%)Trig a reset of the MCU
151 151  
152 -(% border="1" style="background-color:#ffffcc; color:green; width:546px" %)
153 -|=(% colspan="3" style="width: 543px;" %)ATZ: Trig a reset of the MCU
154 -|(% style="width:157px" %)**Command Example**|(% style="width:92px" %)**Function**|(% style="width:294px" %)**Response**
147 +(% border="1" style="background-color:#f2f2f2; width:546px" %)
148 +|(% 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**
155 155  |(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
156 156  Device reset and show booting info
157 157  
... ... @@ -173,12 +173,10 @@
173 173  )))
174 174  
175 175  (((
176 -If the downlink payload=**04FF**, the end node will reboot.
177 -
178 -
179 -
170 +If the downlink payload=**04FF**, the end node will reboot.
180 180  )))
181 181  
173 +
182 182  == 4.3 Reset to factory Default ==
183 183  
184 184  
... ... @@ -185,11 +185,10 @@
185 185  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.
186 186  
187 187  
188 -(% style="color:blue" %)**AT Command: AT+FDR**
180 +(% style="color:blue" %)**AT Command: AT+FDR  ~/~/  **(%%)Reset to factory default
189 189  
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**
182 +(% border="1" style="background-color:#f2f2f2; width:789px" %)
183 +|(% 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**
193 193  |(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
194 194  Device reset to factory default parameters and show booting info
195 195  
... ... @@ -215,7 +215,6 @@
215 215  )))
216 216  
217 217  
218 -
219 219  == 4.4 Show Firmware Version ==
220 220  
221 221  
... ... @@ -222,11 +222,10 @@
222 222  Feature: Show firmware version. No downlink command yet.
223 223  
224 224  
225 -(% style="color:blue" %)**AT Command: AT+VER**
215 +(% style="color:blue" %)**AT Command: AT+VER  ~/~/   **(%%)Image Version and Frequency Band
226 226  
227 -(% border="1" style="background-color:#ffffcc; color:green; width:542px" %)
228 -|=(% colspan="3" style="width: 539px;" %)AT+VER: Image Version and Frequency Band
229 -|(% style="width:157px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:86px" %)**Response**
217 +(% border="1" style="background-color:#f2f2f2; width:542px" %)
218 +|(% 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**
230 230  |(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
231 231  1.3 EU868
232 232  
... ... @@ -246,8 +246,7 @@
246 246  (((
247 247  
248 248  
249 -
250 -**xx: Software Type:**
238 +(% style="color:#037691" %)**xx: Software Type:**
251 251  )))
252 252  
253 253  * 0x00 01: LGT92 Version
... ... @@ -257,7 +257,7 @@
257 257  (((
258 258  
259 259  
260 -**yy: Frequency Band:**
248 +(% style="color:#037691" %)**yy: Frequency Band:**
261 261  )))
262 262  
263 263  * 0x01: EU868
... ... @@ -274,13 +274,12 @@
274 274  (((
275 275  
276 276  
277 -**zz: Subband**
265 +(% style="color:#037691" %)**zz: Subband**
278 278  )))
279 279  
280 280  firmware version: v1.1.0 ~-~-> 110
281 281  
282 282  
283 -
284 284  == 4.5 Show System Configure ==
285 285  
286 286  
... ... @@ -287,25 +287,21 @@
287 287  Feature: Show All configure. No downlink command yet.
288 288  
289 289  
290 -(% style="color:blue" %)**AT Command: AT+CFG**
277 +(% style="color:blue" %)**AT Command: AT+CFG  ~/~/ **(%%)Print all configurations
291 291  
292 -(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
293 -|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
294 -|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
279 +(% border="1" style="background-color:#f2f2f2; width:599.222px" %)
280 +|(% 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**
295 295  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
296 296  AT+DEUI = XX XX XX XX XX XX XX XX
297 -
298 298  AT+DADDR=XXXXXXXX
299 -
300 300  ……….
301 -
302 302  AT+RX2WTO=X
303 -
304 304  AT+CHS=868100000
305 -
306 306  OK
307 307  )))
308 308  
290 +(% style="display:none" %) (%%)
291 +
309 309  = 5. Keys, IDs and EUIs management =
310 310  
311 311  == 5.1 Application EUI ==
... ... @@ -316,14 +316,15 @@
316 316  
317 317  (% style="color:blue" %)**AT Command: AT+APPEUI**
318 318  
319 -(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
320 -|=(% colspan="3" style="width: 683px;" %)AT+APPEUI
321 -|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
302 +(% border="1" style="background-color:#f2f2f2; width:686.222px" %)
303 +|(% style="background-color:#4f81bd; color:white; width:305px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:186px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:191px" %)**Response**
322 322  |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
323 323  OK
324 324  )))
325 325  |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK
326 326  
309 +(% style="display:none" %) (%%)
310 +
327 327  == 5.2 Application Key ==
328 328  
329 329  
... ... @@ -332,14 +332,15 @@
332 332  
333 333  (% style="color:blue" %)**AT Command: AT+APPKEY**
334 334  
335 -(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
336 -|=(% colspan="3" style="width: 973px;" %)AT+APPKEY
337 -|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
319 +(% border="1" style="background-color:#f2f2f2; width:976.222px" %)
320 +|(% 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**
338 338  |(% 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(((
339 339  OK
340 340  )))
341 341  |(% style="width:441px" %)AT+APPKEY=00 35 55 55 22 23 55 53 43 24 23 42 34 35 35 35|(% style="width:180px" %)Set the Application Key|(% style="width:350px" %)OK
342 342  
326 +(% style="display:none" %) (%%)
327 +
343 343  == 5.3 Application Session Key ==
344 344  
345 345  
... ... @@ -348,9 +348,8 @@
348 348  
349 349  (% style="color:blue" %)**AT Command: AT+APPSKEY**
350 350  
351 -(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
352 -|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
353 -|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
336 +(% border="1" style="background-color:#f2f2f2; width:1040.22px" %)
337 +|(% 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**
354 354  |(% 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(((
355 355  OK
356 356  )))
... ... @@ -358,6 +358,8 @@
358 358  OK
359 359  )))
360 360  
345 +(% style="display:none" %) (%%)
346 +
361 361  == 5.4 Device Address ==
362 362  
363 363  
... ... @@ -366,9 +366,8 @@
366 366  
367 367  (% style="color:blue" %)**AT Command: AT+DADDR**
368 368  
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**
355 +(% border="1" style="background-color:#f2f2f2; width:795.222px" %)
356 +|(% 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**
372 372  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
373 373  A8 40 41 FF
374 374  
... ... @@ -376,6 +376,8 @@
376 376  )))
377 377  |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK
378 378  
364 +(% style="display:none" %) (%%)
365 +
379 379  == 5.5 Device EUI ==
380 380  
381 381  
... ... @@ -384,9 +384,8 @@
384 384  
385 385  (% style="color:blue" %)**AT Command: AT+DEUI**
386 386  
387 -(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
388 -|=(% colspan="3" style="width: 1032px;" %)AT+DEUI
389 -|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
374 +(% border="1" style="background-color:#f2f2f2; width:1035.22px" %)
375 +|(% 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**
390 390  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
391 391  OK
392 392  )))
... ... @@ -394,6 +394,8 @@
394 394  OK
395 395  )))
396 396  
383 +(% style="display:none" %) (%%)
384 +
397 397  == 5.6 Network ID ==
398 398  
399 399  
... ... @@ -402,14 +402,15 @@
402 402  
403 403  (% style="color:blue" %)**AT Command: AT+NWKID**
404 404  
405 -(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
406 -|=(% colspan="3" style="width: 445px;" %)AT+NWKID
407 -|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
393 +(% border="1" style="background-color:#f2f2f2; width:448.222px" %)
394 +|(% 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**
408 408  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
409 409  OK
410 410  )))
411 411  |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK
412 412  
400 +(% style="display:none" %) (%%)
401 +
413 413  == 5.7 Network Session Key ==
414 414  
415 415  
... ... @@ -418,14 +418,15 @@
418 418  
419 419  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
420 420  
421 -(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
422 -|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
423 -|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
410 +(% border="1" style="background-color:#f2f2f2; width:1017.22px" %)
411 +|(% 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**
424 424  |(% 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(((
425 425  OK
426 426  )))
427 427  |(% style="width:455px" %)AT+NWKSKEY=A8 40 41 FF FF 12 34 56 00 01 02 04 05 06 06 07|(% style="width:215px" %)Set the Network Session Key.|(% style="width:343px" %)OK
428 428  
417 +(% style="display:none" %) (%%)
418 +
429 429  = 6. Joining and sending date on LoRaWAN network =
430 430  
431 431  == 6.1 Confirm Mode ==
... ... @@ -438,9 +438,8 @@
438 438  
439 439  (% style="color:blue" %)**AT Command: AT+CFM**
440 440  
441 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
442 -|=(% colspan="3" style="width: 707px;" %)AT+CFM
443 -|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
431 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
432 +|(% 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**
444 444  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
445 445  OK
446 446  )))
... ... @@ -454,16 +454,18 @@
454 454  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
455 455  
456 456  * **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
446 +
457 457  * **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
458 458  
449 +(% style="display:none" %) (%%)
450 +
459 459  === 6.1.2  AT+CFM command since DR-LWS007 software stack ===
460 460  
461 461  
462 462  (% style="color:blue" %)**AT Command: AT+CFM**
463 463  
464 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
465 -|=(% colspan="3" style="width: 707px;" %)AT+CFM
466 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
456 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
457 +|(% 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**
467 467  |(% style="width:160px" %)(((
468 468  AT+CFM=1,0,0
469 469  
... ... @@ -499,8 +499,11 @@
499 499  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
500 500  
501 501  * **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
493 +
502 502  * **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
503 503  
496 +(% style="display:none" %) (%%)
497 +
504 504  == 6.2 Confirm Status ==
505 505  
506 506  
... ... @@ -509,13 +509,14 @@
509 509  
510 510  (% style="color:blue" %)**AT Command: AT+CFS**
511 511  
512 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
513 -|=(% colspan="3" style="width: 531px;" %)AT+CFS
514 -|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
515 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0(((
506 +(% border="1" style="background-color:#f2f2f2; width:463px" %)
507 +|(% 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**
508 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
516 516  OK
517 517  )))
518 518  
512 +(% style="display:none" %) (%%)
513 +
519 519  == 6.3 Join LoRa® Network ==
520 520  
521 521  
... ... @@ -524,15 +524,15 @@
524 524  
525 525  (% style="color:blue" %)**AT Command: AT+JOIN**
526 526  
527 -(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
528 -|=(% colspan="3" style="width: 644px;" %)AT+JOIN
529 -|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
522 +(% border="1" style="background-color:#f2f2f2; width:647.222px" %)
523 +|(% 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**
530 530  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
531 531  OK
532 -
533 533  While Error in format, return AT_BUSY_ERROR
534 534  )))
535 535  
529 +(% style="display:none" %) (%%)
530 +
536 536  == 6.4 LoRa® Network Join Mode ==
537 537  
538 538  
... ... @@ -541,9 +541,8 @@
541 541  
542 542  (% style="color:blue" %)**AT Command: AT+NJM**
543 543  
544 -(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
545 -|=(% colspan="3" style="width: 750px;" %)AT+NJM
546 -|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
539 +(% border="1" style="background-color:#f2f2f2; width:753.222px" %)
540 +|(% 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**
547 547  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
548 548  OK
549 549  )))
... ... @@ -557,8 +557,11 @@
557 557  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
558 558  
559 559  * **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
554 +
560 560  * **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
561 561  
557 +(% style="display:none" %) (%%)
558 +
562 562  == 6.5 LoRa® Network Join Status ==
563 563  
564 564  
... ... @@ -567,13 +567,14 @@
567 567  
568 568  (% style="color:blue" %)**AT Command: AT+NJS**
569 569  
570 -(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
571 -|=(% colspan="3" style="width: 495px;" %)AT+NJS
572 -|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
567 +(% border="1" style="background-color:#f2f2f2; width:498.222px" %)
568 +|(% 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:161px" %)**Response**
573 573  |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
574 574  OK
575 575  )))
576 576  
573 +(% style="display:none" %) (%%)
574 +
577 577  == 6.6 Print Last Received Data in Raw Format ==
578 578  
579 579  
... ... @@ -582,13 +582,14 @@
582 582  
583 583  (% style="color:blue" %)**AT Command: AT+RECV**
584 584  
585 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
586 -|=(% colspan="3" style="width: 584px;" %)AT+RECV
587 -|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
583 +(% border="1" style="background-color:#f2f2f2; width:587.222px" %)
584 +|(% 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:150px" %)**Response**
588 588  |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
589 589  OK
590 590  )))
591 591  
589 +(% style="display:none" %) (%%)
590 +
592 592  == 6.7 Print Last Received Data in Binary Format ==
593 593  
594 594  
... ... @@ -597,13 +597,14 @@
597 597  
598 598  (% style="color:blue" %)**AT Command: AT+RECVB**
599 599  
600 -(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
601 -|=(% colspan="3" style="width: 790px;" %)AT+RECVB
602 -|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
599 +(% border="1" style="background-color:#f2f2f2; width:793.222px" %)
600 +|(% 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**
603 603  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
604 604  OK
605 605  )))
606 606  
605 +(% style="display:none" %) (%%)
606 +
607 607  == 6.8 Send Text Data ==
608 608  
609 609  
... ... @@ -612,17 +612,15 @@
612 612  
613 613  (% style="color:blue" %)**AT Command: AT+SEND**
614 614  
615 -(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
616 -|=(% colspan="3" style="width: 988px;" %)AT+SEND
617 -|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
615 +(% border="1" style="background-color:#f2f2f2; width:991.222px" %)
616 +|(% 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**
618 618  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
619 619  While Error in format, return
620 -
621 621  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
622 -
623 -
624 624  )))
625 625  
622 +(% style="display:none" %) (%%)
623 +
626 626  == 6.9 Send Hexadecimal Data ==
627 627  
628 628  
... ... @@ -631,16 +631,15 @@
631 631  
632 632  (% style="color:blue" %)**AT Command: AT+SENDB**
633 633  
634 -(% border="1" style="background-color:#ffffcc; color:green; width:1101px" %)
635 -|=(% colspan="3" style="width: 1098px;" %)AT+SENDB
636 -|(% style="width:257px" %)**Command Example**|(% style="width:394px" %)**Function**|(% style="width:446px" %)**Response**
637 -|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:446px" %)OK
638 -|(% 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(((
639 -AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
640 -
641 -
632 +(% border="1" style="width:974px" %)
633 +|(% 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**
634 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:394px" %)Send hexadecimal data along with the application port.|(% style="width:318px" %)OK
635 +|(% 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(((
636 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
642 642  )))
643 643  
639 +(% style="display:none" %) (%%)
640 +
644 644  = 7. LoRaWAN network management =
645 645  
646 646  == 7.1 Adaptive Data Rate ==
... ... @@ -651,14 +651,13 @@
651 651  
652 652  (% style="color:blue" %)**AT Command: AT+ADR**
653 653  
654 -(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
655 -|=(% colspan="3" style="width: 680px;" %)AT+ADR
656 -|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
657 -|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
651 +(% border="1" style="width:643px" %)
652 +|(% 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**
653 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:209px" %)1(((
658 658  OK
659 659  )))
660 -|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
661 -|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
656 +|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)OK
657 +|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:209px" %)While Error in format, return(((
662 662  AT_PARAM_ERROR
663 663  )))
664 664  
... ... @@ -667,8 +667,11 @@
667 667  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
668 668  
669 669  * **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
666 +
670 670  * **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
671 671  
669 +(% style="display:none" %) (%%)
670 +
672 672  == 7.2 LoRa® Class ==
673 673  
674 674  
... ... @@ -677,9 +677,8 @@
677 677  
678 678  (% style="color:blue" %)**AT Command:  AT+CLASS**
679 679  
680 -(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
681 -|=(% colspan="3" style="width: 504px;" %)AT+CLASS
682 -|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
679 +(% border="1" style="background-color:#f2f2f2; width:507.222px" %)
680 +|(% 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:175px" %)**Response**
683 683  |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
684 684  OK
685 685  )))
... ... @@ -687,17 +687,23 @@
687 687  
688 688  )))
689 689  
688 +(% style="display:none" %)
689 +
690 +(% style="color:red" %)**Notice:**
691 +
692 +* Run AT+FDR before running AT+CLASS=C
693 +* After change to Class=C, Before OTAA Join Successfule, the end node will still shows to use CLASS=A for OTAA Joined. It will use CLASS=C after OTAA Join Succeccful.
694 +
690 690  == 7.3 Duty Cycle Setting ==
691 691  
692 692  
693 -Feature: Get or Set the ETSI Duty Cycle setting** - 0**=disable, **1**=enable - Only for testing.
698 +Feature: Get or Set the ETSI Duty Cycle setting** : 0**=disable, **1**=enable - Only for testing.
694 694  
695 695  
696 696  (% style="color:blue" %)**AT Command:  AT+DCS**
697 697  
698 -(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
699 -|=(% colspan="3" style="width: 512px;" %)AT+DCS
700 -|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
703 +(% border="1" style="background-color:#f2f2f2; width:515.222px" %)
704 +|(% 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**
701 701  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
702 702  OK
703 703  )))
... ... @@ -705,6 +705,8 @@
705 705  
706 706  )))
707 707  
712 +(% style="display:none" %) (%%)
713 +
708 708  == 7.4 Data Rate ==
709 709  
710 710  
... ... @@ -714,13 +714,13 @@
714 714  **Notice:**
715 715  
716 716  * 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.
723 +
717 717  * 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/]]
718 718  
719 719  (% style="color:blue" %)**AT Command: AT+DR**
720 720  
721 -(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
722 -|=(% colspan="3" style="width: 463px;" %)AT+DR
723 -|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
728 +(% border="1" style="background-color:#f2f2f2; width:466.222px" %)
729 +|(% style="background-color:#4f81bd; color:white; width:156px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:167px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:140px" %)**Response**
724 724  |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
725 725  OK
726 726  )))
... ... @@ -733,8 +733,11 @@
733 733  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
734 734  
735 735  * **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
742 +
736 736  * **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
737 737  
745 +(% style="display:none" %) (%%)
746 +
738 738  == 7.5 Frame Counter Downlink ==
739 739  
740 740  
... ... @@ -743,9 +743,8 @@
743 743  
744 744  (% style="color:blue" %)**AT Command:  AT+FCD**
745 745  
746 -(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
747 -|=(% colspan="3" style="width: 690px;" %)AT+FCD
748 -|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
755 +(% border="1" style="background-color:#f2f2f2; width:693.222px" %)
756 +|(% 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**
749 749  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
750 750  OK
751 751  )))
... ... @@ -753,6 +753,8 @@
753 753  OK
754 754  )))
755 755  
764 +(% style="display:none" %) (%%)
765 +
756 756  == 7.6 Frame Counter Uplink ==
757 757  
758 758  Feature: Get or Set the Frame Counter Uplink.
... ... @@ -760,9 +760,8 @@
760 760  
761 761  (% style="color:blue" %)**AT Command:  AT+FCU**
762 762  
763 -(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
764 -|=(% colspan="3" style="width: 531px;" %)AT+FCU
765 -|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
773 +(% border="1" style="background-color:#f2f2f2; width:534.222px" %)
774 +|(% 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**
766 766  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
767 767  OK
768 768  )))
... ... @@ -770,6 +770,8 @@
770 770  
771 771  )))
772 772  
782 +(% style="display:none" %) (%%)
783 +
773 773  == 7.7 Join Accept Delay1 ==
774 774  
775 775  
... ... @@ -778,9 +778,8 @@
778 778  
779 779  (% style="color:blue" %)**AT Command:  AT+JN1DL**
780 780  
781 -(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
782 -|=(% colspan="3" style="width: 534px;" %)AT+JN1DL
783 -|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
792 +(% border="1" style="background-color:#f2f2f2; width:537.222px" %)
793 +|(% 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**
784 784  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
785 785  OK
786 786  )))
... ... @@ -788,6 +788,8 @@
788 788  
789 789  )))
790 790  
801 +(% style="display:none" %) (%%)
802 +
791 791  == 7.8 Join Accept Delay2 ==
792 792  
793 793  
... ... @@ -796,9 +796,8 @@
796 796  
797 797  (% style="color:blue" %)**AT Command:  AT+JN2DL**
798 798  
799 -(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
800 -|=(% colspan="3" style="width: 535px;" %)AT+JN2DL
801 -|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
811 +(% border="1" style="background-color:#f2f2f2; width:538.222px" %)
812 +|(% 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**
802 802  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
803 803  OK
804 804  )))
... ... @@ -806,6 +806,8 @@
806 806  
807 807  )))
808 808  
820 +(% style="display:none" %) (%%)
821 +
809 809  == 7.9 Public Network Mode ==
810 810  
811 811  
... ... @@ -816,9 +816,8 @@
816 816  
817 817  (% style="color:blue" %)**AT Command:  AT+PNM**
818 818  
819 -(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
820 -|=(% colspan="3" style="width: 664px;" %)AT+PNM
821 -|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
832 +(% border="1" style="background-color:#f2f2f2; width:667.222px" %)
833 +|(% 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**
822 822  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
823 823  OK
824 824  )))
... ... @@ -833,6 +833,8 @@
833 833  )))
834 834  |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
835 835  
848 +(% style="display:none" %) (%%)
849 +
836 836  == 7.10 Receive Delay1 ==
837 837  
838 838  
... ... @@ -841,9 +841,8 @@
841 841  
842 842  (% style="color:blue" %)**AT Command: AT+RX1DL**
843 843  
844 -(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
845 -|=(% colspan="3" style="width: 405px;" %)AT+RX1DL
846 -|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
858 +(% border="1" style="background-color:#f2f2f2; width:408.222px" %)
859 +|(% 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**
847 847  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
848 848  OK
849 849  )))
... ... @@ -851,6 +851,8 @@
851 851  
852 852  )))
853 853  
867 +(% style="display:none" %) (%%)
868 +
854 854  == 7.11 Receive Delay2 ==
855 855  
856 856  
... ... @@ -859,9 +859,8 @@
859 859  
860 860  (% style="color:blue" %)**AT Command: AT+RX2DL**
861 861  
862 -(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
863 -|=(% colspan="3" style="width: 478px;" %)AT+RX2DL
864 -|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
877 +(% border="1" style="background-color:#f2f2f2; width:481.222px" %)
878 +|(% 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**
865 865  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
866 866  OK
867 867  )))
... ... @@ -869,6 +869,8 @@
869 869  
870 870  )))
871 871  
886 +(% style="display:none" %) (%%)
887 +
872 872  == 7.12 Rx2 Window Data Rate ==
873 873  
874 874  
... ... @@ -877,9 +877,8 @@
877 877  
878 878  (% style="color:blue" %)**AT Command:  AT+RX2DR**
879 879  
880 -(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
881 -|=(% colspan="3" style="width: 522px;" %)AT+RX2DR
882 -|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
896 +(% border="1" style="background-color:#f2f2f2; width:525.222px" %)
897 +|(% 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**
883 883  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
884 884  OK
885 885  )))
... ... @@ -887,6 +887,8 @@
887 887  
888 888  )))
889 889  
905 +(% style="display:none" %) (%%)
906 +
890 890  == 7.13 Rx2 Window Frequency ==
891 891  
892 892  
... ... @@ -895,9 +895,8 @@
895 895  
896 896  (% style="color:blue" %)**AT Command:  AT+RX2FQ**
897 897  
898 -(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
899 -|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
900 -|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
915 +(% border="1" style="background-color:#f2f2f2; width:587.222px" %)
916 +|(% 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**
901 901  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
902 902  OK
903 903  )))
... ... @@ -905,6 +905,8 @@
905 905  
906 906  )))
907 907  
924 +(% style="display:none" %) (%%)
925 +
908 908  == 7.14 Transmit Power ==
909 909  
910 910  
... ... @@ -915,9 +915,8 @@
915 915  
916 916  (% style="color:blue" %)**AT Command:  AT+TXP**
917 917  
918 -(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
919 -|=(% colspan="3" style="width: 462px;" %)AT+TXP
920 -|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
936 +(% border="1" style="background-color:#f2f2f2; width:465.222px" %)
937 +|(% 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**
921 921  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
922 922  OK
923 923  )))
... ... @@ -930,8 +930,11 @@
930 930  If the downlink payload=22000100, it means setting the TXP to 0.
931 931  
932 932  * **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
933 -* **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+TXP=0.
934 934  
951 +* **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
952 +
953 +(% style="display:none" %) (%%)
954 +
935 935  == 7.15 RSSI of the Last Received Packet ==
936 936  
937 937  
... ... @@ -940,13 +940,14 @@
940 940  
941 941  (% style="color:blue" %)**AT Command:AT+RSSI**
942 942  
943 -(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
944 -|=(% colspan="3" style="width: 554px;" %)AT+RSSI
945 -|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
963 +(% border="1" style="background-color:#f2f2f2; width:557.222px" %)
964 +|(% 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**
946 946  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
947 947  OK
948 948  )))
949 949  
969 +(% style="display:none" %) (%%)
970 +
950 950  == 7.16 SNR of the Last Received Packet ==
951 951  
952 952  
... ... @@ -955,13 +955,14 @@
955 955  
956 956  (% style="color:blue" %)**AT Command:  AT+SNR**
957 957  
958 -(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
959 -|=(% colspan="3" style="width: 568px;" %)AT+SNR
960 -|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
979 +(% border="1" style="background-color:#f2f2f2; width:571.222px" %)
980 +|(% 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**
961 961  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
962 962  OK
963 963  )))
964 964  
985 +(% style="display:none" %) (%%)
986 +
965 965  == 7.17 Application Port ==
966 966  
967 967  
... ... @@ -970,9 +970,8 @@
970 970  
971 971  (% style="color:blue" %)**AT Command: AT+PORT**
972 972  
973 -(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
974 -|=(% colspan="3" style="width: 497px;" %)AT+PORT
975 -|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
995 +(% border="1" style="background-color:#f2f2f2; width:500.222px" %)
996 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:204px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:135px" %)**Response**
976 976  |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
977 977  OK
978 978  )))
... ... @@ -985,8 +985,11 @@
985 985  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
986 986  
987 987  * **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1009 +
988 988  * **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
989 989  
1012 +(% style="display:none" %) (%%)
1013 +
990 990  == 7.18 Single Channel Mode ==
991 991  
992 992  
... ... @@ -995,14 +995,15 @@
995 995  
996 996  (% style="color:blue" %)**AT Command: AT+CHS**
997 997  
998 -(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
999 -|=(% colspan="3" style="width: 600px;" %)AT+CHS
1000 -|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1022 +(% border="1" style="background-color:#f2f2f2; width:603.222px" %)
1023 +|(% 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:122px" %)**Response**
1001 1001  |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
1002 1002  OK
1003 1003  )))
1004 1004  |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1005 1005  
1029 +(% style="display:none" %) (%%)
1030 +
1006 1006  == 7.19 Eight Channel Mode ==
1007 1007  
1008 1008  
... ... @@ -1011,9 +1011,8 @@
1011 1011  
1012 1012  (% style="color:blue" %)**AT Command: AT+CHE**
1013 1013  
1014 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1015 -|=(% colspan="3" style="width: 707px;" %)AT+CHE
1016 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1039 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
1040 +|(% 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**
1017 1017  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1018 1018  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1019 1019  
... ... @@ -1028,8 +1028,11 @@
1028 1028  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1029 1029  
1030 1030  * **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1055 +
1031 1031  * **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1032 1032  
1058 +(% style="display:none" %) (%%)
1059 +
1033 1033  == 7.20 Get or Set RXwindows1 timeout ==
1034 1034  
1035 1035  
... ... @@ -1038,33 +1038,26 @@
1038 1038  
1039 1039  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1040 1040  
1041 -(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1042 -|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1043 -|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1068 +(% border="1" style="background-color:#f2f2f2; width:460.222px" %)
1069 +|(% 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**
1044 1044  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1045 1045  OK
1046 1046  )))
1047 1047  |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
1048 1048  
1049 -(((
1050 -
1075 +(% style="display:none" %) (%%)
1051 1051  
1052 -
1077 +(((
1053 1053  (% style="color:blue" %)**AT+RX1WTO**(%%) is theRxSingle timeout value of receive window 1. If it is not set, then the queriedvalue is the default value. If it is set, then the queried value is the setvalue. AT+RX2TWO is thesame as above. The definitionof RxSingle timeout is as described in the following paragraph.
1054 -
1055 -
1056 1056  )))
1057 1057  
1058 1058  [[image:image-20220526162535-1.png]]
1059 1059  
1060 -
1061 1061  (((
1062 1062  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.
1063 -
1064 -
1065 -
1066 1066  )))
1067 1067  
1087 +
1068 1068  == 7.21 Get or Set RXwindows2 timeout ==
1069 1069  
1070 1070  
... ... @@ -1073,14 +1073,15 @@
1073 1073  
1074 1074  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1075 1075  
1076 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1077 -|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1078 -|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1096 +(% border="1" style="background-color:#f2f2f2; width:497.222px" %)
1097 +|(% style="background-color:#4f81bd; color:white; width:190px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:199px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:104px" %)**Response**
1079 1079  |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1080 1080  OK
1081 1081  )))
1082 1082  |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1083 1083  
1103 +(% style="display:none" %) (%%)
1104 +
1084 1084  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1085 1085  
1086 1086  
... ... @@ -1089,9 +1089,8 @@
1089 1089  
1090 1090  (% style="color:blue" %)**AT Command: AT+DWELLT**
1091 1091  
1092 -(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1093 -|=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1094 -|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1113 +(% border="1" style="background-color:#f2f2f2; width:497.222px" %)
1114 +|(% style="background-color:#4f81bd; color:white; width:183px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:179px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:131px" %)**Response**
1095 1095  |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1096 1096  OK
1097 1097  )))
... ... @@ -1104,8 +1104,11 @@
1104 1104  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1105 1105  
1106 1106  * **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1127 +
1107 1107  * **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1108 1108  
1130 +(% style="display:none" %) (%%)
1131 +
1109 1109  == 7.23 Set Packet Receiving Response Level ==
1110 1110  
1111 1111  
... ... @@ -1112,25 +1112,30 @@
1112 1112  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.
1113 1113  
1114 1114  
1115 -**RPL value:**
1138 +(% style="color:blue" %)**RPL value:**
1116 1116  
1117 1117  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1141 +
1118 1118  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1143 +
1119 1119  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
1145 +
1120 1120  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1147 +
1121 1121  * **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.
1122 1122  
1123 -**Case Analyes:**
1150 +(% style="color:blue" %)**Case Analyes:**
1124 1124  
1125 1125  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1153 +
1126 1126  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
1155 +
1127 1127  * 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.
1128 1128  
1129 1129  (% style="color:blue" %)**AT Command: AT+RPL**
1130 1130  
1131 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1132 -|=(% colspan="3" style="width: 533px;" %)AT+RPL
1133 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1160 +(% border="1" style="background-color:#f2f2f2; width:536.222px" %)
1161 +|(% 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**
1134 1134  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1135 1135  OK
1136 1136  )))
... ... @@ -1143,20 +1143,22 @@
1143 1143  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1144 1144  
1145 1145  * **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1174 +
1146 1146  * **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1147 1147  
1177 +(% style="display:none" %) (%%)
1178 +
1148 1148  == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1149 1149  
1150 1150  
1151 1151  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1152 1152  
1153 -(% border="1" style="background-color:#ffffcc; color:green; width:589px" %)
1154 -|=(% colspan="3" style="width: 586px;" %)AT+**SETMAXNBTRANS**
1155 -|(% style="width:227px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:87px" %)**Response**
1156 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1184 +(% border="1" style="background-color:#f2f2f2; width:589px" %)
1185 +|(% 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**
1186 +|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1157 1157  OK
1158 1158  )))
1159 -|(% style="width:227px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:300px" %)(((
1189 +|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1160 1160  value2: 0: uplink fcnt doesn't change for each NBTrans;
1161 1161  
1162 1162  1: uplink fcnt increase by 1 for each NBTrans.
... ... @@ -1173,16 +1173,23 @@
1173 1173  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1174 1174  
1175 1175  * Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1206 +
1176 1176  * Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1177 1177  
1209 +(% style="display:none" %) (%%)
1210 +
1178 1178  == 7.25 Device offline rejoining (LWS007) ==
1179 1179  
1180 1180  
1181 1181  (% style="color:blue" %)**AT Command: AT+DDETECT**
1182 1182  
1183 -(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1184 -|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1185 -|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1216 +AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1217 +
1218 +* ACK_Timout_1: Unit: min
1219 +* ACK_Timout_2: Unit: min
1220 +
1221 +(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
1222 +|(% 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**
1186 1186  |(% style="width:160px" %)(((
1187 1187  AT+DDETECT=1,1440,2880
1188 1188  
... ... @@ -1211,46 +1211,52 @@
1211 1211  OK
1212 1212  )))
1213 1213  
1214 -(% style="color:blue" %)**Downlink Command: 0x33**
1251 +(% style="color:blue" %)**Downlink Command: 0x32**
1215 1215  
1216 1216  Format: Command Code (0x32) followed by 2 bytes mode value.
1217 1217  
1218 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33.
1255 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1219 1219  
1220 -* **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1257 +* **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1221 1221  
1259 +** 0x01 : Flag
1260 +** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1261 +** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1262 +** **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.
1263 +
1264 +(% style="display:none" %) (%%)
1265 +
1222 1222  == 7.26 Request the server to send an ACK ==
1223 1223  
1224 1224  
1225 1225  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1226 1226  
1227 -(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1228 -|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1229 -|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1230 -|(% 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(((
1271 +(% border="1" style="background-color:#f2f2f2; width:536.222px" %)
1272 +|(% 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**
1273 +|(% 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(((
1231 1231  OK
1232 1232  )))
1233 -|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1276 +|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1234 1234  0
1235 -
1236 1236  OK
1237 1237  )))
1238 1238  
1281 +(% style="display:none" %) (%%)
1282 +
1239 1239  == 7.27 Adjust network rejoining interval ==
1240 1240  
1241 1241  
1242 1242  (% style="color:blue" %)**AT Command: AT+RJTDC**
1243 1243  
1244 -(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1245 -|=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1246 -|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1247 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000(((
1288 +(% border="1" style="background-color:#f2f2f2; width:727.222px" %)
1289 +|(% 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**
1290 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1248 1248  OK
1249 1249  
1250 -the interval is 30000ms = 30s
1293 +the interval is 30 min
1251 1251  )))
1252 -|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1253 -Set the ReJoin data transmission interval to 60000ms = 60 seconds
1295 +|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1296 +Set the ReJoin data transmission interval to 60 min
1254 1254  )))
1255 1255  
1256 1256  (% style="color:blue" %)**Downlink Command: 0x26**
... ... @@ -1259,17 +1259,23 @@
1259 1259  
1260 1260  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1261 1261  
1262 -* **Example 1:** Downlink Payload: 26000A  ~/~/ Set AT+RJTDC=10
1263 -* **Example 2: **Downlink Payload: 260002  ~/~/ Set AT+RJTDC=2
1305 +* **Example 1:** Downlink Payload: 26000A  ~/~/  Set AT+RJTDC=10
1264 1264  
1307 +* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1308 +
1309 +(% style="display:none" %) (%%)
1310 +
1265 1265  = 8. AT Commands Combination =
1266 1266  
1267 1267  == 8.1 Set a fix RX2DR for downlink window ==
1268 1268  
1269 1269  
1270 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~-~->**  Disable ADR first
1271 -* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~-~->**  Set xxxx to your wanted DataRate
1316 +* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1272 1272  
1318 +* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~/~/**  Set xxxx to your wanted DataRate
1319 +
1320 +(% style="display:none" %) (%%)
1321 +
1273 1273  == 8.2 Use Downlink Command to set a fix uplink DR ==
1274 1274  
1275 1275  
... ... @@ -1278,7 +1278,9 @@
1278 1278  **Same as:**
1279 1279  
1280 1280  * AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1330 +
1281 1281  * AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1332 +
1282 1282  * AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1283 1283  
1284 1284  
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0