<
From version < 63.40 >
edited by Xiaoling
on 2023/05/29 14:50
To version < 50.18 >
edited by Xiaoling
on 2022/07/13 13:49
>
Change comment: There is no comment for this version

Summary

Details

Page properties
Content
... ... @@ -9,36 +9,37 @@
9 9  
10 10  Dragino LoRaWAN End Node support two types of AT Commands and Downlink Commands:
11 11  
12 -* (% style="color:blue" %)**Common Commands:** (%%) They should be available for each sensor, such as: change uplink interval, reset device.
13 -* (% style="color:blue" %)**Sensor Related Commands:** (%%) Only for special sensor, such as control relay, poll RS485 device.
12 +* **Common Commands:** They should be available for each sensor, such as: change uplink interval, reset device.
13 +* **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 +
17 17  )))
18 18  
19 -
20 20  = 2. How to use AT Commands or Downlink command =
21 21  
22 22  
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/]]
24 -* **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:
23 +* For AT Command , See Devices User Manual for Device. The user manual can be found in each product page of [[Dragino Official Website>>url:http://www.dragino.com/]]
24 +* For LoRaWAN Downlink: The gateway transfer downlink command in HEX format. This page shows the HEX format downlink code for each command. but some servers use base64 as downlink code. Below are reference for how to use downlink command:
25 25  ** Use HEX format to send a downlink: [[TTN v3>>Notes for TTN]]
26 -** 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]]?
26 +** Use Base64 format to send a downlink: [[Chirpstack>>Notes for ChirpStack]]
27 27  ** See use note for more serves [[Servers Note>>doc:Main.WebHome]](IoT LoRaWAN Server)
28 28  
29 -(% style="display:none" %) (%%)
30 30  
30 +
31 31  = 3. Support End Node and firmware version =
32 32  
33 33  
34 +(% border="1" style="background-color:#ffffcc; color:green; width:966px" %)
35 +|=(% colspan="3" style="width: 963px;" %)(((
34 34  Dragino STM32 base hardware Firmware / LoRaWAN stack list
35 -
36 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:966px" %)
37 -|(% style="background-color:#4f81bd; color:white; width:187px" %)(((
37 +)))
38 +|(% style="width:187px" %)(((
38 38  **Model**
39 -)))|(% style="background-color:#4f81bd; color:white; width:330px" %)(((
40 +)))|(% style="width:330px" %)(((
40 40  **Description**
41 -)))|(% style="background-color:#4f81bd; color:white; width:445px" %)(((
42 +)))|(% style="width:445px" %)(((
42 42  **Firmware Version <~-~-> Stack Version**
43 43  )))
44 44  |(% style="width:187px" %)(((
... ... @@ -101,10 +101,10 @@
101 101  )))
102 102  )))
103 103  
104 -(% style="display:none" %) (%%)
105 105  
106 106  = 4. System Management Commands =
107 107  
108 +
108 108  == 4.1 Change Uplink Interval ==
109 109  
110 110  
... ... @@ -113,8 +113,9 @@
113 113  
114 114  (% style="color:blue" %)**AT Command: AT+TDC**
115 115  
116 -(% border="1" style="background-color:#f2f2f2; width:727.222px" %)
117 -|(% style="background-color:#4f81bd; color:white; width:165px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:227px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:329px" %)**Response**
117 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
118 +|=(% colspan="3" style="width: 724px;" %)AT+TDC
119 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
118 118  |(% style="width:165px" %)AT+TDC=?|(% style="width:227px" %)Show current transmit Interval|(% style="width:329px" %)30000(((
119 119  OK
120 120  
... ... @@ -125,6 +125,8 @@
125 125  )))
126 126  
127 127  (((
130 +
131 +
128 128  (% style="color:blue" %)**Downlink Command: 0x01**
129 129  
130 130  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -131,14 +131,14 @@
131 131  )))
132 132  
133 133  (((
134 -If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
138 +If the downlink payload=0100003C, it means set the END Nodes Transmit Interval to 0x00003C=60(S), while type code is 01.
135 135  )))
136 136  
137 -* **Example 1**: Downlink Payload:** 0100001E**  ~/~/ Set Transmit Interval (TDC) = 30 seconds
138 -* **Example 2**: Downlink Payload:** 0100003C**  ~/~/ Set Transmit Interval (TDC) = 60 seconds
141 +* **Example 1**: Downlink Payload:** 0100001E** ~/~/ Set Transmit Interval (TDC) = 30 seconds
142 +* **Example 2**: Downlink Payload:** 0100003C** ~/~/ Set Transmit Interval (TDC) = 60 seconds
139 139  
140 -(% style="display:none" %) (%%)
141 141  
145 +
142 142  == 4.2 Reboot End Node ==
143 143  
144 144  
... ... @@ -145,11 +145,12 @@
145 145  Feature: Reboot End Node to perform a new OTAA or ABP Join.
146 146  
147 147  
148 -(% style="color:blue" %)**AT Command: ATZ  ~/~/ **(%%)Trig a reset of the MCU
152 +(% style="color:blue" %)**AT Command: ATZ**
149 149  
150 -(% border="1" style="background-color:#f2f2f2; width:546px" %)
151 -|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:92px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:294px" %)**Response**
152 -|(% style="width:157px" %)ATZ|(% style="width:92px" %)Reset MCU|(% style="width:294px" %)(((
154 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
155 +|=(% colspan="3" %)ATZ: Trig a reset of the MCU
156 +|**Command Example**|**Function**|**Response**
157 +|ATZ|Reset MCU|(((
153 153  Device reset and show booting info
154 154  
155 155  LSN50 Device/LoRa ST Module
... ... @@ -163,6 +163,7 @@
163 163  <followed by the Tx and Rx information>
164 164  )))
165 165  
171 +
166 166  (% style="color:blue" %)**Downlink Command: 0x04**
167 167  
168 168  (((
... ... @@ -170,10 +170,11 @@
170 170  )))
171 171  
172 172  (((
173 -If the downlink payload=**04FF**, the end node will reboot.
179 +If the downlink payload=**04FF**, the end node will reboot.
180 +
181 +
174 174  )))
175 175  
176 -
177 177  == 4.3 Reset to factory Default ==
178 178  
179 179  
... ... @@ -180,11 +180,12 @@
180 180  Feature: Reset the parameters to Factory Default, factory default value depends on the firmware settings, the OTAA and ABP keys will reserve after this command.
181 181  
182 182  
183 -(% style="color:blue" %)**AT Command: AT+FDR  ~/~/  **(%%)Reset to factory default
190 +(% style="color:blue" %)**AT Command: AT+FDR**
184 184  
185 -(% border="1" style="background-color:#f2f2f2; width:789px" %)
186 -|(% style="background-color:#4f81bd; color:white; width:154px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:456px" %)**Response**
187 -|(% style="width:154px" %)AT+FDR|(% style="width:175px" %)Reset to factory default|(% style="width:456px" %)(((
192 +(% border="1" style="background-color:#ffffcc; color:green; width:831.222px" %)
193 +|=(% colspan="3" style="width: 828px;" %)Reset to factory default
194 +|(% style="width:181px" %)**Command Example**|(% style="width:181px" %)**Function**|(% style="width:465px" %)**Response**
195 +|(% style="width:181px" %)AT+FDR|(% style="width:181px" %)Reset to factory default|(% style="width:465px" %)(((
188 188  Device reset to factory default parameters and show booting info
189 189  
190 190  LSN50 Device/LoRa ST Module
... ... @@ -198,6 +198,7 @@
198 198  Please set the parameters or reset Device to apply change
199 199  )))
200 200  
209 +
201 201  (% style="color:blue" %)**Downlink Command: 0x04**
202 202  
203 203  (((
... ... @@ -215,16 +215,18 @@
215 215  Feature: Show firmware version. No downlink command yet.
216 216  
217 217  
218 -(% style="color:blue" %)**AT Command: AT+VER  ~/~/   **(%%)Image Version and Frequency Band
227 +(% style="color:blue" %)**AT Command: AT+VER**
219 219  
220 -(% border="1" style="background-color:#f2f2f2; width:542px" %)
221 -|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:295px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:86px" %)**Response**
222 -|(% style="width:157px" %)AT+VER=?|(% style="width:295px" %)Show Image version and Frequency Band|(% style="width:86px" %)(((
229 +(% border="1" style="background-color:#ffffcc; color:green; width:586px" %)
230 +|=(% colspan="3" style="width: 583px;" %)AT+VER: Image Version and Frequency Band
231 +|(% style="width:170px" %)**Command Example**|(% style="width:300px" %)**Function**|(% style="width:113px" %)**Response**
232 +|(% style="width:170px" %)AT+VER=?|(% style="width:300px" %)Show Image version and Frequency Band|(% style="width:113px" %)(((
223 223  1.3 EU868
224 224  
225 225  OK
226 226  )))
227 227  
238 +
228 228  (% style="color:blue" %)**Downlink Command: 0x26 (Valid in 006 stack)**
229 229  
230 230  (((
... ... @@ -238,7 +238,8 @@
238 238  (((
239 239  
240 240  
241 -(% style="color:#037691" %)**xx: Software Type:**
252 +
253 +**xx: Software Type:**
242 242  )))
243 243  
244 244  * 0x00 01: LGT92 Version
... ... @@ -248,7 +248,8 @@
248 248  (((
249 249  
250 250  
251 -(% style="color:#037691" %)**yy: Frequency Band:**
263 +
264 +**yy: Frequency Band:**
252 252  )))
253 253  
254 254  * 0x01: EU868
... ... @@ -265,7 +265,8 @@
265 265  (((
266 266  
267 267  
268 -(% style="color:#037691" %)**zz: Subband**
281 +
282 +**zz: Subband**
269 269  )))
270 270  
271 271  firmware version: v1.1.0 ~-~-> 110
... ... @@ -277,23 +277,30 @@
277 277  Feature: Show All configure. No downlink command yet.
278 278  
279 279  
280 -(% style="color:blue" %)**AT Command: AT+CFG  ~/~/ **(%%)Print all configurations
294 +(% style="color:blue" %)**AT Command: AT+CFG**
281 281  
282 -(% border="1" style="background-color:#f2f2f2; width:599.222px" %)
283 -|(% style="background-color:#4f81bd; color:white; width:160px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:154px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:280px" %)**Response**
296 +(% border="1" style="background-color:#ffffcc; color:green; width:599.222px" %)
297 +|=(% colspan="3" style="width: 596px;" %)AT+CFG: Print all configurations
298 +|(% style="width:160px" %)**Command Example**|(% style="width:154px" %)**Function**|(% style="width:280px" %)**Response**
284 284  |(% style="width:160px" %)AT+CFG|(% style="width:154px" %)Show all configures|(% style="width:280px" %)(((
285 285  AT+DEUI = XX XX XX XX XX XX XX XX
301 +
286 286  AT+DADDR=XXXXXXXX
303 +
287 287  ……….
305 +
288 288  AT+RX2WTO=X
307 +
289 289  AT+CHS=868100000
309 +
290 290  OK
291 291  )))
292 292  
293 -(% style="display:none" %) (%%)
294 294  
314 +
295 295  = 5. Keys, IDs and EUIs management =
296 296  
317 +
297 297  == 5.1 Application EUI ==
298 298  
299 299  
... ... @@ -302,15 +302,16 @@
302 302  
303 303  (% style="color:blue" %)**AT Command: AT+APPEUI**
304 304  
305 -(% border="1" style="background-color:#f2f2f2; width:686.222px" %)
306 -|(% 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**
326 +(% border="1" style="background-color:#ffffcc; color:green; width:686.222px" %)
327 +|=(% colspan="3" style="width: 683px;" %)AT+APPEUI
328 +|(% style="width:305px" %)**Command Example**|(% style="width:186px" %)**Function**|(% style="width:191px" %)**Response**
307 307  |(% style="width:305px" %)AT+APPEUI=?|(% style="width:186px" %)Get the Application EUI|(% style="width:191px" %)00 b3 d5 00 00 00 00 00(((
308 308  OK
309 309  )))
310 310  |(% style="width:305px" %)AT+APPEUI=00 b3 d5 7e f0 00 4d 34|(% style="width:186px" %)Set the Application EUI|(% style="width:191px" %)OK
311 311  
312 -(% style="display:none" %) (%%)
313 313  
335 +
314 314  == 5.2 Application Key ==
315 315  
316 316  
... ... @@ -319,15 +319,16 @@
319 319  
320 320  (% style="color:blue" %)**AT Command: AT+APPKEY**
321 321  
322 -(% border="1" style="background-color:#f2f2f2; width:976.222px" %)
323 -|(% 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**
344 +(% border="1" style="background-color:#ffffcc; color:green; width:976.222px" %)
345 +|=(% colspan="3" style="width: 973px;" %)AT+APPKEY
346 +|(% style="width:441px" %)**Command Example**|(% style="width:180px" %)**Function**|(% style="width:350px" %)**Response**
324 324  |(% 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(((
325 325  OK
326 326  )))
327 327  |(% 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
328 328  
329 -(% style="display:none" %) (%%)
330 330  
353 +
331 331  == 5.3 Application Session Key ==
332 332  
333 333  
... ... @@ -336,8 +336,9 @@
336 336  
337 337  (% style="color:blue" %)**AT Command: AT+APPSKEY**
338 338  
339 -(% border="1" style="background-color:#f2f2f2; width:1040.22px" %)
340 -|(% 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**
362 +(% border="1" style="background-color:#ffffcc; color:green; width:1040.22px" %)
363 +|=(% colspan="3" style="width: 1037px;" %)AT+APPSKEY
364 +|(% style="width:451px" %)**Command Example**|(% style="width:231px" %)**Function**|(% style="width:354px" %)**Response**
341 341  |(% 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(((
342 342  OK
343 343  )))
... ... @@ -345,8 +345,8 @@
345 345  OK
346 346  )))
347 347  
348 -(% style="display:none" %) (%%)
349 349  
373 +
350 350  == 5.4 Device Address ==
351 351  
352 352  
... ... @@ -355,8 +355,9 @@
355 355  
356 356  (% style="color:blue" %)**AT Command: AT+DADDR**
357 357  
358 -(% border="1" style="background-color:#f2f2f2; width:795.222px" %)
359 -|(% 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**
382 +(% border="1" style="background-color:#ffffcc; color:green; width:795.222px" %)
383 +|=(% colspan="3" style="width: 792px;" %)AT+DADDR
384 +|(% style="width:192px" %)**Command Example**|(% style="width:241px" %)**Function**|(% style="width:359px" %)**Response**
360 360  |(% style="width:192px" %)AT+DADDR=?|(% style="width:241px" %)Get the Application Session Key.|(% style="width:359px" %)(While Error in format, return AT_PARAM_ERROR)(((
361 361  A8 40 41 FF
362 362  
... ... @@ -364,8 +364,8 @@
364 364  )))
365 365  |(% style="width:192px" %)AT+DADDR=A8 40 41 FF|(% style="width:241px" %)Set the Application Session Key.|(% style="width:359px" %)OK
366 366  
367 -(% style="display:none" %) (%%)
368 368  
393 +
369 369  == 5.5 Device EUI ==
370 370  
371 371  
... ... @@ -374,8 +374,9 @@
374 374  
375 375  (% style="color:blue" %)**AT Command: AT+DEUI**
376 376  
377 -(% border="1" style="background-color:#f2f2f2; width:1035.22px" %)
378 -|(% 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**
402 +(% border="1" style="background-color:#ffffcc; color:green; width:1035.22px" %)
403 +|=(% colspan="3" style="width: 1032px;" %)AT+DEUI
404 +|(% style="width:250px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:634px" %)**Response**
379 379  |(% style="width:250px" %)AT+DEUI=?|(% style="width:147px" %)Get the Device EUI.|(% style="width:634px" %)00 44 34 22 33 45 55 55(((
380 380  OK
381 381  )))
... ... @@ -383,8 +383,8 @@
383 383  OK
384 384  )))
385 385  
386 -(% style="display:none" %) (%%)
387 387  
413 +
388 388  == 5.6 Network ID ==
389 389  
390 390  
... ... @@ -393,15 +393,16 @@
393 393  
394 394  (% style="color:blue" %)**AT Command: AT+NWKID**
395 395  
396 -(% border="1" style="background-color:#f2f2f2; width:448.222px" %)
397 -|(% 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**
422 +(% border="1" style="background-color:#ffffcc; color:green; width:448.222px" %)
423 +|=(% colspan="3" style="width: 445px;" %)AT+NWKID
424 +|(% style="width:191px" %)**Command Example**|(% style="width:153px" %)**Function**|(% style="width:101px" %)**Response**
398 398  |(% style="width:191px" %)AT+NWKID=?|(% style="width:153px" %)Get the Network ID.|(% style="width:101px" %)a8 40 41 ff(((
399 399  OK
400 400  )))
401 401  |(% style="width:191px" %)AT+NWKID=A8 40 41 FF|(% style="width:153px" %)Set the Network ID.|(% style="width:101px" %)OK
402 402  
403 -(% style="display:none" %) (%%)
404 404  
431 +
405 405  == 5.7 Network Session Key ==
406 406  
407 407  
... ... @@ -410,19 +410,22 @@
410 410  
411 411  (% style="color:blue" %)**AT Command: AT+NWKSKEY**
412 412  
413 -(% border="1" style="background-color:#f2f2f2; width:1017.22px" %)
414 -|(% 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**
440 +(% border="1" style="background-color:#ffffcc; color:green; width:1017.22px" %)
441 +|=(% colspan="3" style="width: 1014px;" %)AT+NWKSKEY
442 +|(% style="width:455px" %)**Command Example**|(% style="width:215px" %)**Function**|(% style="width:343px" %)**Response**
415 415  |(% 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(((
416 416  OK
417 417  )))
418 418  |(% 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
419 419  
420 -(% style="display:none" %) (%%)
421 421  
449 +
422 422  = 6. Joining and sending date on LoRaWAN network =
423 423  
452 +
424 424  == 6.1 Confirm Mode ==
425 425  
455 +
426 426  === 6.1.1  AT+CFM command before DR-LWS007 software stack ===
427 427  
428 428  
... ... @@ -431,8 +431,9 @@
431 431  
432 432  (% style="color:blue" %)**AT Command: AT+CFM**
433 433  
434 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
435 -|(% 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**
464 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
465 +|=(% colspan="3" style="width: 707px;" %)AT+CFM
466 +|(% style="width:155px" %)**Command Example**|(% style="width:205px" %)**Function**|(% style="width:346px" %)**Response**
436 436  |(% style="width:155px" %)AT+CFM=?|(% style="width:205px" %)Get the confirmation mode|(% style="width:346px" %)0(((
437 437  OK
438 438  )))
... ... @@ -439,6 +439,7 @@
439 439  |(% style="width:155px" %)AT+CFM=1|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)OK
440 440  |(% style="width:155px" %)AT+CFM=2|(% style="width:205px" %)Set the confirmation mode|(% style="width:346px" %)While Error in format, return AT_PARAM_ERROR
441 441  
473 +
442 442  (% style="color:blue" %)**Downlink Command: 0x05**
443 443  
444 444  Format: Command Code (0x05) followed by 2 bytes mode value.
... ... @@ -445,18 +445,20 @@
445 445  
446 446  If the downlink payload=0501, it means set end node to use confirm mode, while type code is 05.
447 447  
448 -* **Example 1:** Downlink Payload: 0501  ~/~/ Set AT+CFM=1
449 -* **Example 2:** Downlink Payload: 0500  ~/~/ Set AT+CFM=0
480 +* Example 1: Downlink Payload: 0501 ~/~/ Set AT+CFM=1
481 +* Example 2: Downlink Payload: 0500 ~/~/ Set AT+CFM=0
450 450  
451 -(% style="display:none" %) (%%)
452 452  
484 +
485 +
453 453  === 6.1.2  AT+CFM command since DR-LWS007 software stack ===
454 454  
455 455  
456 456  (% style="color:blue" %)**AT Command: AT+CFM**
457 457  
458 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
459 -|(% 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**
491 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
492 +|=(% colspan="3" style="width: 707px;" %)AT+CFM
493 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
460 460  |(% style="width:160px" %)(((
461 461  AT+CFM=1,0,0
462 462  
... ... @@ -485,6 +485,7 @@
485 485  OK
486 486  )))
487 487  
522 +
488 488  (% style="color:blue" %)**Downlink Command: 0x05**
489 489  
490 490  Format: Command Code (0x05) followed by 2 bytes mode value.
... ... @@ -491,11 +491,12 @@
491 491  
492 492  If the downlink payload=05010101, it means set end node to use confirm mode, while type code is 05.
493 493  
494 -* **Example 1:** Downlink Payload: 05010101  ~/~/ Set AT+CFM=1,1,1
495 -* **Example 2:** Downlink Payload: 05000700  ~/~/ Set AT+CFM=0,7,0
529 +* Example 1: Downlink Payload: 05010101 ~/~/ Set AT+CFM=1,1,1
530 +* Example 2: Downlink Payload: 05000700 ~/~/ Set AT+CFM=0,7,0
496 496  
497 -(% style="display:none" %) (%%)
498 498  
533 +
534 +
499 499  == 6.2 Confirm Status ==
500 500  
501 501  
... ... @@ -504,14 +504,15 @@
504 504  
505 505  (% style="color:blue" %)**AT Command: AT+CFS**
506 506  
507 -(% border="1" style="background-color:#f2f2f2; width:463px" %)
508 -|(% 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**
509 -|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:107px" %)0(((
543 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
544 +|=(% colspan="3" style="width: 531px;" %)AT+CFS
545 +|(% style="width:156px" %)**Command Example**|(% style="width:193px" %)**Function**|(% style="width:178px" %)**Response**
546 +|(% style="width:156px" %)AT+CFS=?|(% style="width:193px" %)Get confirmation status|(% style="width:178px" %)0(((
510 510  OK
511 511  )))
512 512  
513 -(% style="display:none" %) (%%)
514 514  
551 +
515 515  == 6.3 Join LoRa® Network ==
516 516  
517 517  
... ... @@ -520,15 +520,17 @@
520 520  
521 521  (% style="color:blue" %)**AT Command: AT+JOIN**
522 522  
523 -(% border="1" style="background-color:#f2f2f2; width:647.222px" %)
524 -|(% 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**
560 +(% border="1" style="background-color:#ffffcc; color:green; width:647.222px" %)
561 +|=(% colspan="3" style="width: 644px;" %)AT+JOIN
562 +|(% style="width:163px" %)**Command Example**|(% style="width:147px" %)**Function**|(% style="width:334px" %)**Response**
525 525  |(% style="width:163px" %)AT+JOIN ?|(% style="width:147px" %)Get imformation.|(% style="width:334px" %)AT+JOIN: Join network(((
526 526  OK
565 +
527 527  While Error in format, return AT_BUSY_ERROR
528 528  )))
529 529  
530 -(% style="display:none" %) (%%)
531 531  
570 +
532 532  == 6.4 LoRa® Network Join Mode ==
533 533  
534 534  
... ... @@ -537,8 +537,9 @@
537 537  
538 538  (% style="color:blue" %)**AT Command: AT+NJM**
539 539  
540 -(% border="1" style="background-color:#f2f2f2; width:753.222px" %)
541 -|(% 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**
579 +(% border="1" style="background-color:#ffffcc; color:green; width:753.222px" %)
580 +|=(% colspan="3" style="width: 750px;" %)AT+NJM
581 +|(% style="width:162px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:361px" %)**Response**
542 542  |(% style="width:162px" %)AT+NJM=?|(% style="width:227px" %)Get the Network Join Mode|(% style="width:361px" %)1(((
543 543  OK
544 544  )))
... ... @@ -545,6 +545,7 @@
545 545  |(% style="width:162px" %)AT+NJM=0|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)OK
546 546  |(% style="width:162px" %)AT+NJM=2|(% style="width:227px" %)Set the Network Join Mode|(% style="width:361px" %)While Error in format, return AT_PARAM_ERROR
547 547  
588 +
548 548  (% style="color:blue" %)**Downlink Command: 0x20**
549 549  
550 550  Format: Command Code (0x20) followed by 1 bytes mode value.
... ... @@ -551,11 +551,12 @@
551 551  
552 552  If the downlink payload=2000, it means set the Network Join Mode, while type code is 20.
553 553  
554 -* **Example 1: **Downlink Payload: **2000                  ** ~/~/ Set AT+NJM=0
555 -* **Example 2:** Downlink Payload: **2001**  ~/~/ Set AT+NJM=1
595 +* **Example 1: **Downlink Payload: **2000** ~/~/ Set AT+NJM=0
596 +* **Example 2:** Downlink Payload: **2001** ~/~/ Set AT+NJM=1
556 556  
557 -(% style="display:none" %) (%%)
558 558  
599 +
600 +
559 559  == 6.5 LoRa® Network Join Status ==
560 560  
561 561  
... ... @@ -564,14 +564,15 @@
564 564  
565 565  (% style="color:blue" %)**AT Command: AT+NJS**
566 566  
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**
609 +(% border="1" style="background-color:#ffffcc; color:green; width:498.222px" %)
610 +|=(% colspan="3" style="width: 495px;" %)AT+NJS
611 +|(% style="width:169px" %)**Command Example**|(% style="width:164px" %)**Function**|(% style="width:161px" %)**Response**
569 569  |(% style="width:169px" %)AT+NJS=?|(% style="width:164px" %)Get the join status.|(% style="width:161px" %)0(((
570 570  OK
571 571  )))
572 572  
573 -(% style="display:none" %) (%%)
574 574  
617 +
575 575  == 6.6 Print Last Received Data in Raw Format ==
576 576  
577 577  
... ... @@ -580,14 +580,15 @@
580 580  
581 581  (% style="color:blue" %)**AT Command: AT+RECV**
582 582  
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**
626 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
627 +|=(% colspan="3" style="width: 584px;" %)AT+RECV
628 +|(% style="width:161px" %)**Command Example**|(% style="width:272px" %)**Function**|(% style="width:150px" %)**Response**
585 585  |(% style="width:161px" %)AT+RECV=?|(% style="width:272px" %)print last received data in raw format.|(% style="width:150px" %)0:(((
586 586  OK
587 587  )))
588 588  
589 -(% style="display:none" %) (%%)
590 590  
634 +
591 591  == 6.7 Print Last Received Data in Binary Format ==
592 592  
593 593  
... ... @@ -596,14 +596,15 @@
596 596  
597 597  (% style="color:blue" %)**AT Command: AT+RECVB**
598 598  
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**
643 +(% border="1" style="background-color:#ffffcc; color:green; width:793.222px" %)
644 +|=(% colspan="3" style="width: 790px;" %)AT+RECVB
645 +|(% style="width:173px" %)**Command Example**|(% style="width:497px" %)**Function**|(% style="width:120px" %)**Response**
601 601  |(% style="width:173px" %)AT+RECVB=?|(% style="width:497px" %)print last received data in binary format (with hexadecimal values).|(% style="width:120px" %)2: 0010(((
602 602  OK
603 603  )))
604 604  
605 -(% style="display:none" %) (%%)
606 606  
651 +
607 607  == 6.8 Send Text Data ==
608 608  
609 609  
... ... @@ -612,15 +612,19 @@
612 612  
613 613  (% style="color:blue" %)**AT Command: AT+SEND**
614 614  
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**
660 +(% border="1" style="background-color:#ffffcc; color:green; width:991.222px" %)
661 +|=(% colspan="3" style="width: 988px;" %)AT+SEND
662 +|(% style="width:201px" %)**Command Example**|(% style="width:340px" %)**Function**|(% style="width:446px" %)**Response**
617 617  |(% style="width:201px" %)AT+SEND=12:hello world|(% style="width:340px" %)Send text data along with the application port.|(% style="width:446px" %)OK(((
618 618  While Error in format, return
665 +
619 619  AT_BUSY_ERROR/AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
667 +
668 +
620 620  )))
621 621  
622 -(% style="display:none" %) (%%)
623 623  
672 +
624 624  == 6.9 Send Hexadecimal Data ==
625 625  
626 626  
... ... @@ -629,17 +629,21 @@
629 629  
630 630  (% style="color:blue" %)**AT Command: AT+SENDB**
631 631  
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
681 +(% border="1" style="background-color:#ffffcc; color:green; width:1120.22px" %)
682 +|=(% colspan="3" style="width: 1117px;" %)AT+SENDB
683 +|(% style="width:257px" %)**Command Example**|(% style="width:406px" %)**Function**|(% style="width:453px" %)**Response**
684 +|(% style="width:257px" %)AT+SENDB=12:abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)OK
685 +|(% style="width:257px" %)AT+SENDB=abcdef0123456789|(% style="width:406px" %)Send hexadecimal data along with the application port.|(% style="width:453px" %)While Error in format, return(((
686 +AT_PARAM_ERROR AT_BUSY_ERROR/AT_NO_NETWORK_JOINED
687 +
688 +
637 637  )))
638 638  
639 -(% style="display:none" %) (%%)
640 640  
692 +
641 641  = 7. LoRaWAN network management =
642 642  
695 +
643 643  == 7.1 Adaptive Data Rate ==
644 644  
645 645  
... ... @@ -648,25 +648,28 @@
648 648  
649 649  (% style="color:blue" %)**AT Command: AT+ADR**
650 650  
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(((
704 +(% border="1" style="background-color:#ffffcc; color:green; width:683.222px" %)
705 +|=(% colspan="3" style="width: 680px;" %)AT+ADR
706 +|(% style="width:162px" %)**Command Example**|(% style="width:266px" %)**Function**|(% style="width:250px" %)**Response**
707 +|(% style="width:162px" %)AT+ADR=?|(% style="width:266px" %)Get the Adaptive Data Rate setting.|(% style="width:250px" %)1(((
654 654  OK
655 655  )))
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(((
710 +|(% style="width:162px" %)AT+ADR=0|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)OK
711 +|(% style="width:162px" %)AT+ADR=2|(% style="width:266px" %)Set the Adaptive Data Rate setting.|(% style="width:250px" %)While Error in format, return(((
658 658  AT_PARAM_ERROR
659 659  )))
660 660  
715 +
661 661  (% style="color:blue" %)**Downlink Command: 0x22**
662 662  
663 663  If the downlink payload=2201, it means setting the adaptive data rate to 1, while type code is 22.
664 664  
665 -* **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
666 -* **Example 2**: Downlink Payload: **2200FFFF**  ~/~/ Set AT+ADR=0.
720 +* **Example 1**: Downlink Payload: **2201**  ~/~/ Set AT+ADR=1.
721 +* **Example 2**: Downlink Payload: **2200FFFF** ~/~/ Set AT+ADR=0.
667 667  
668 -(% style="display:none" %) (%%)
669 669  
724 +
725 +
670 670  == 7.2 LoRa® Class ==
671 671  
672 672  
... ... @@ -673,10 +673,11 @@
673 673  Feature: Get or Set the Device Class(Currently only support class A, class C).
674 674  
675 675  
676 -(% style="color:blue" %)**AT Command:  AT+CLASS**
732 +(% style="color:blue" %)**AT Command:AT+CLASS**
677 677  
678 -(% border="1" style="background-color:#f2f2f2; width:507.222px" %)
679 -|(% 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**
734 +(% border="1" style="background-color:#ffffcc; color:green; width:507.222px" %)
735 +|=(% colspan="3" style="width: 504px;" %)AT+CLASS
736 +|(% style="width:163px" %)**Command Example**|(% style="width:166px" %)**Function**|(% style="width:175px" %)**Response**
680 680  |(% style="width:163px" %)AT+CLASS=?|(% style="width:166px" %)Get the Device Class.|(% style="width:175px" %)A(((
681 681  OK
682 682  )))
... ... @@ -684,23 +684,19 @@
684 684  
685 685  )))
686 686  
687 -(% style="display:none" %)
688 688  
689 -(% style="color:red" %)**Notice:**
690 690  
691 -* Run AT+FDR before running AT+CLASS=C
692 -* 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.
693 -
694 694  == 7.3 Duty Cycle Setting ==
695 695  
696 696  
697 -Feature: Get or Set the ETSI Duty Cycle setting** : 0**=disable, **1**=enable - Only for testing.
749 +Feature: Get or Set the ETSI Duty Cycle setting - 0=disable, 1=enable - Only for testing.
698 698  
699 699  
700 -(% style="color:blue" %)**AT Command:  AT+DCS**
752 +(% style="color:blue" %)**AT Command:AT+DCS**
701 701  
702 -(% border="1" style="background-color:#f2f2f2; width:515.222px" %)
703 -|(% 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**
754 +(% border="1" style="background-color:#ffffcc; color:green; width:515.222px" %)
755 +|=(% colspan="3" style="width: 512px;" %)AT+DCS
756 +|(% style="width:165px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:107px" %)**Response**
704 704  |(% style="width:165px" %)AT+DCS=?|(% style="width:239px" %)Get the ETSI Duty Cycle setting.|(% style="width:107px" %)1(((
705 705  OK
706 706  )))
... ... @@ -708,23 +708,19 @@
708 708  
709 709  )))
710 710  
711 -(% style="display:none" %) (%%)
712 712  
765 +
713 713  == 7.4 Data Rate ==
714 714  
715 715  
716 -Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) .
769 +Feature: Get or Set the Data Rate. (0-7 corresponding to DR_X) . Note: while set Data Rate, please use set Adptive Data Rate, ADR=0 first. otherwise device will response to server's ADR command and change the DR to the setting from server
717 717  
718 -(% style="color:red" %)
719 -**Notice:**
720 720  
721 -* 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.
722 -* 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/]]
723 -
724 724  (% style="color:blue" %)**AT Command: AT+DR**
725 725  
726 -(% border="1" style="background-color:#f2f2f2; width:466.222px" %)
727 -|(% 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**
774 +(% border="1" style="background-color:#ffffcc; color:green; width:466.222px" %)
775 +|=(% colspan="3" style="width: 463px;" %)AT+DR
776 +|(% style="width:156px" %)**Command Example**|(% style="width:167px" %)**Function**|(% style="width:140px" %)**Response**
728 728  |(% style="width:156px" %)AT+DR=?|(% style="width:167px" %)Get the Data Rate.|(% style="width:140px" %)5(((
729 729  OK
730 730  )))
... ... @@ -732,15 +732,17 @@
732 732  
733 733  )))
734 734  
784 +
735 735  (% style="color:blue" %)**Downlink Command: 0x2200aaFF**
736 736  
737 737  If the downlink payload=220001FF, it means setting the data rate to 1, while type code is 22 00 aa FF.
738 738  
739 -* **Example 1**: Downlink Payload: **220001FF**  ~/~/ Set AT+DR=1.
740 -* **Example 2**: Downlink Payload: **220000FF**  ~/~/ Set AT+DR=0.
789 +* **Example 1**: Downlink Payload: **220001FF** ~/~/ Set AT+DR=1.
790 +* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+DR=0.
741 741  
742 -(% style="display:none" %) (%%)
743 743  
793 +
794 +
744 744  == 7.5 Frame Counter Downlink ==
745 745  
746 746  
... ... @@ -747,10 +747,11 @@
747 747  Feature: Get or Set the Frame Counter Downlink.
748 748  
749 749  
750 -(% style="color:blue" %)**AT Command:  AT+FCD**
801 +(% style="color:blue" %)**AT Command:AT+FCD**
751 751  
752 -(% border="1" style="background-color:#f2f2f2; width:693.222px" %)
753 -|(% 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**
803 +(% border="1" style="background-color:#ffffcc; color:green; width:693.222px" %)
804 +|=(% colspan="3" style="width: 690px;" %)AT+FCD
805 +|(% style="width:162px" %)**Command Example**|(% style="width:258px" %)**Function**|(% style="width:269px" %)**Response**
754 754  |(% style="width:162px" %)AT+FCD=?|(% style="width:258px" %)Get the Frame Counter Downlink.|(% style="width:269px" %)0(((
755 755  OK
756 756  )))
... ... @@ -758,17 +758,19 @@
758 758  OK
759 759  )))
760 760  
761 -(% style="display:none" %) (%%)
762 762  
814 +
763 763  == 7.6 Frame Counter Uplink ==
764 764  
765 765  Feature: Get or Set the Frame Counter Uplink.
766 766  
767 767  
768 -(% style="color:blue" %)**AT Command:  AT+FCU**
820 +(% style="color:blue" %)**AT Command:AT+FCU**
769 769  
770 -(% border="1" style="background-color:#f2f2f2; width:534.222px" %)
771 -|(% 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**
822 +
823 +(% border="1" style="background-color:#ffffcc; color:green; width:534.222px" %)
824 +|=(% colspan="3" style="width: 531px;" %)AT+FCU
825 +|(% style="width:177px" %)**Command Example**|(% style="width:239px" %)**Function**|(% style="width:113px" %)**Response**
772 772  |(% style="width:177px" %)AT+FCU=?|(% style="width:239px" %)Get the Frame Counter Uplink.|(% style="width:113px" %)0(((
773 773  OK
774 774  )))
... ... @@ -776,18 +776,17 @@
776 776  
777 777  )))
778 778  
779 -(% style="display:none" %) (%%)
780 -
781 781  == 7.7 Join Accept Delay1 ==
782 782  
783 -
784 784  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 1 in ms.
785 785  
786 786  
787 -(% style="color:blue" %)**AT Command:  AT+JN1DL**
838 +(% style="color:blue" %)**AT Command:AT+JN1DL**
788 788  
789 -(% border="1" style="background-color:#f2f2f2; width:537.222px" %)
790 -|(% 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**
840 +
841 +(% border="1" style="background-color:#ffffcc; color:green; width:537.222px" %)
842 +|=(% colspan="3" style="width: 534px;" %)AT+JN1DL
843 +|(% style="width:164px" %)**Command Example**|(% style="width:229px" %)**Function**|(% style="width:140px" %)**Response**
791 791  |(% style="width:164px" %)AT+JN1DL=?|(% style="width:229px" %)Get the Join Accept Delay.|(% style="width:140px" %)5000(((
792 792  OK
793 793  )))
... ... @@ -795,18 +795,17 @@
795 795  
796 796  )))
797 797  
798 -(% style="display:none" %) (%%)
799 -
800 800  == 7.8 Join Accept Delay2 ==
801 801  
802 -
803 803  Feature: Get or Set the Join Accept Delay between the end of the Tx and the Join Rx Window 2 in ms.
804 804  
805 805  
806 -(% style="color:blue" %)**AT Command:  AT+JN2DL**
856 +(% style="color:blue" %)**AT Command:AT+JN2DL**
807 807  
808 -(% border="1" style="background-color:#f2f2f2; width:538.222px" %)
809 -|(% 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**
858 +
859 +(% border="1" style="background-color:#ffffcc; color:green; width:538.222px" %)
860 +|=(% colspan="3" style="width: 535px;" %)AT+JN2DL
861 +|(% style="width:160px" %)**Command Example**|(% style="width:228px" %)**Function**|(% style="width:146px" %)**Response**
810 810  |(% style="width:160px" %)AT+JN2DL=?|(% style="width:228px" %)Get the Join Accept Delay.|(% style="width:146px" %)6000(((
811 811  OK
812 812  )))
... ... @@ -814,20 +814,19 @@
814 814  
815 815  )))
816 816  
817 -(% style="display:none" %) (%%)
818 -
819 819  == 7.9 Public Network Mode ==
820 820  
821 -
822 822  Feature: Get or Set the public network mode. (0: off, 1: on). A Public LoRaWAN network use 0x34 as syncword. Default Settings; PNM=1
823 823  
824 -(% style="color:red" %)**Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network.**
873 +Notice: If user build their own LoRaWAN server but still use syncword=0x34, this is still considered a public LoRaWAN network
825 825  
826 826  
827 -(% style="color:blue" %)**AT Command:  AT+PNM**
876 +(% style="color:blue" %)**AT Command:AT+PNM**
828 828  
829 -(% border="1" style="background-color:#f2f2f2; width:667.222px" %)
830 -|(% 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**
878 +
879 +(% border="1" style="background-color:#ffffcc; color:green; width:667.222px" %)
880 +|=(% colspan="3" style="width: 664px;" %)AT+PNM
881 +|(% style="width:166px" %)**Command Example**|(% style="width:225px" %)**Function**|(% style="width:272px" %)**Response**
831 831  |(% style="width:166px" %)AT+PNM=?|(% style="width:225px" %)Get the public network mode.|(% style="width:272px" %)1(((
832 832  OK
833 833  )))
... ... @@ -842,18 +842,17 @@
842 842  )))
843 843  |(% style="width:166px" %)AT+PNM=0|(% style="width:225px" %)Set to use private network autoset syncword=0x12|(% style="width:272px" %)
844 844  
845 -(% style="display:none" %) (%%)
846 -
847 847  == 7.10 Receive Delay1 ==
848 848  
849 -
850 850  Feature: Get or Set the delay between the end of the Tx and the Rx Window 1 in ms
851 851  
852 852  
853 -(% style="color:blue" %)**AT Command: AT+RX1DL**
901 +(% style="color:blue" %)**AT Command:AT+RX1DL**
854 854  
855 -(% border="1" style="background-color:#f2f2f2; width:408.222px" %)
856 -|(% 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**
903 +
904 +(% border="1" style="background-color:#ffffcc; color:green; width:408.222px" %)
905 +|=(% colspan="3" style="width: 405px;" %)AT+RX1DL
906 +|(% style="width:155px" %)**Command Example**|(% style="width:128px" %)**Function**|(% style="width:122px" %)**Response**
857 857  |(% style="width:155px" %)AT+RX1DL=?|(% style="width:128px" %)Get the delay.|(% style="width:122px" %)1000(((
858 858  OK
859 859  )))
... ... @@ -861,18 +861,17 @@
861 861  
862 862  )))
863 863  
864 -(% style="display:none" %) (%%)
865 -
866 866  == 7.11 Receive Delay2 ==
867 867  
868 -
869 869  Feature: Get or Set the delay between the end of the Tx and the Rx Window 2 in ms
870 870  
871 871  
872 -(% style="color:blue" %)**AT Command: AT+RX2DL**
919 +(% style="color:blue" %)**AT Command:AT+RX2DL**
873 873  
874 -(% border="1" style="background-color:#f2f2f2; width:481.222px" %)
875 -|(% 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**
921 +
922 +(% border="1" style="background-color:#ffffcc; color:green; width:481.222px" %)
923 +|=(% colspan="3" style="width: 478px;" %)AT+RX2DL
924 +|(% style="width:175px" %)**Command Example**|(% style="width:152px" %)**Function**|(% style="width:150px" %)**Response**
876 876  |(% style="width:175px" %)AT+RX2DL=?|(% style="width:152px" %)Get the delay.|(% style="width:150px" %)2000(((
877 877  OK
878 878  )))
... ... @@ -880,18 +880,17 @@
880 880  
881 881  )))
882 882  
883 -(% style="display:none" %) (%%)
884 -
885 885  == 7.12 Rx2 Window Data Rate ==
886 886  
887 -
888 888  Feature: Get or Set the Rx2 window data rate (0-7 corresponding to DR_X)
889 889  
890 890  
891 -(% style="color:blue" %)**AT Command:  AT+RX2DR**
937 +(% style="color:blue" %)**AT Command:AT+RX2DR**
892 892  
893 -(% border="1" style="background-color:#f2f2f2; width:525.222px" %)
894 -|(% 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**
939 +
940 +(% border="1" style="background-color:#ffffcc; color:green; width:525.222px" %)
941 +|=(% colspan="3" style="width: 522px;" %)AT+RX2DR
942 +|(% style="width:160px" %)**Command Example**|(% style="width:232px" %)**Function**|(% style="width:130px" %)**Response**
895 895  |(% style="width:160px" %)AT+RX2DR=?|(% style="width:232px" %)Get the Rx2 window data rate.|(% style="width:130px" %)2(((
896 896  OK
897 897  )))
... ... @@ -899,18 +899,17 @@
899 899  
900 900  )))
901 901  
902 -(% style="display:none" %) (%%)
903 -
904 904  == 7.13 Rx2 Window Frequency ==
905 905  
906 -
907 907  Feature: Get or Set the Rx2 window frequency
908 908  
909 909  
910 -(% style="color:blue" %)**AT Command:  AT+RX2FQ**
955 +(% style="color:blue" %)**AT Command:AT+RX2FQ**
911 911  
912 -(% border="1" style="background-color:#f2f2f2; width:587.222px" %)
913 -|(% 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**
957 +
958 +(% border="1" style="background-color:#ffffcc; color:green; width:587.222px" %)
959 +|=(% colspan="3" style="width: 584px;" %)AT+RX2FQ
960 +|(% style="width:183px" %)**Command Example**|(% style="width:240px" %)**Function**|(% style="width:160px" %)**Response**
914 914  |(% style="width:183px" %)AT+RX2FQ=?|(% style="width:240px" %)Get the Rx2 window frequency.|(% style="width:160px" %)434665000(((
915 915  OK
916 916  )))
... ... @@ -918,20 +918,17 @@
918 918  
919 919  )))
920 920  
921 -(% style="display:none" %) (%%)
922 -
923 923  == 7.14 Transmit Power ==
924 924  
925 -
926 926  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. )
927 927  
928 -(% 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**
929 929  
973 +(% style="color:blue" %)**AT Command:AT+TXP**
930 930  
931 -(% style="color:blue" %)**AT Command:  AT+TXP**
932 932  
933 -(% border="1" style="background-color:#f2f2f2; width:465.222px" %)
934 -|(% 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**
976 +(% border="1" style="background-color:#ffffcc; color:green; width:465.222px" %)
977 +|=(% colspan="3" style="width: 462px;" %)AT+TXP
978 +|(% style="width:161px" %)**Command Example**|(% style="width:189px" %)**Function**|(% style="width:112px" %)**Response**
935 935  |(% style="width:161px" %)AT+TXP=?|(% style="width:189px" %)Get the Transmit Power.|(% style="width:112px" %)0(((
936 936  OK
937 937  )))
... ... @@ -943,53 +943,50 @@
943 943  
944 944  If the downlink payload=22000100, it means setting the TXP to 0.
945 945  
946 -* **Example 1**: Downlink Payload: **22000102**  ~/~/ Set AT+TXP=2.
947 -* **Example 2**: Downlink Payload: **22000000**  ~/~/ Set AT+TXP=0.
990 +* **Example 1**: Downlink Payload: **22000102** ~/~/ Set AT+TXP=2.
991 +* **Example 2**: Downlink Payload: **220000FF** ~/~/ Set AT+TXP=0.
948 948  
949 -(% style="display:none" %) (%%)
950 -
951 951  == 7.15 RSSI of the Last Received Packet ==
952 952  
953 -
954 954  Feature: Get or Set the Rx2 window frequency
955 955  
956 956  
957 957  (% style="color:blue" %)**AT Command:AT+RSSI**
958 958  
959 -(% border="1" style="background-color:#f2f2f2; width:557.222px" %)
960 -|(% 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**
1000 +
1001 +(% border="1" style="background-color:#ffffcc; color:green; width:557.222px" %)
1002 +|=(% colspan="3" style="width: 554px;" %)AT+RSSI
1003 +|(% style="width:164px" %)**Command Example**|(% style="width:289px" %)**Function**|(% style="width:100px" %)**Response**
961 961  |(% style="width:164px" %)AT+RSSI=?|(% style="width:289px" %)Get the RSSI of the last received packet.|(% style="width:100px" %)0(((
962 962  OK
963 963  )))
964 964  
965 -(% style="display:none" %) (%%)
966 -
967 967  == 7.16 SNR of the Last Received Packet ==
968 968  
969 -
970 970  Feature: Get the SNR of the last received packet
971 971  
972 972  
973 -(% style="color:blue" %)**AT Command:  AT+SNR**
1013 +(% style="color:blue" %)**AT Command:AT+SNR**
974 974  
975 -(% border="1" style="background-color:#f2f2f2; width:571.222px" %)
976 -|(% 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 +
1016 +(% border="1" style="background-color:#ffffcc; color:green; width:571.222px" %)
1017 +|=(% colspan="3" style="width: 568px;" %)AT+SNR
1018 +|(% style="width:164px" %)**Command Example**|(% style="width:290px" %)**Function**|(% style="width:113px" %)**Response**
977 977  |(% style="width:164px" %)AT+SNR=?|(% style="width:290px" %)Get the RSSI of the last received packet.|(% style="width:113px" %)0(((
978 978  OK
979 979  )))
980 980  
981 -(% style="display:none" %) (%%)
982 -
983 983  == 7.17 Application Port ==
984 984  
985 -
986 986  Feature: Get or set the application port.
987 987  
988 988  
989 989  (% style="color:blue" %)**AT Command: AT+PORT**
990 990  
991 -(% border="1" style="background-color:#f2f2f2; width:500.222px" %)
992 -|(% 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**
1030 +
1031 +(% border="1" style="background-color:#ffffcc; color:green; width:500.222px" %)
1032 +|=(% colspan="3" style="width: 497px;" %)AT+PORT
1033 +|(% style="width:157px" %)**Command Example**|(% style="width:204px" %)**Function**|(% style="width:135px" %)**Response**
993 993  |(% style="width:157px" %)AT+PORT=?|(% style="width:204px" %)Get the application port|(% style="width:135px" %)21(((
994 994  OK
995 995  )))
... ... @@ -997,42 +997,41 @@
997 997  
998 998  (% style="color:blue" %)**Downlink Command: 0x23**
999 999  
1041 +
1000 1000  Format: Command Code (0x23) followed by 1 bytes port value.
1001 1001  
1002 1002  If the downlink payload=2301, it means set the application port to 1, while type code is 23.
1003 1003  
1004 -* **Example 1**: Downlink Payload: **2301**  ~/~/ set the application port to 1
1005 -* **Example 2**: Downlink Payload:** 2305**  ~/~/ set the application port to 5
1046 +* **Example 1**: Downlink Payload: **2301** ~/~/ set the application port to 1
1047 +* **Example 2**: Downlink Payload:** 2305** ~/~/ set the application port to 5
1006 1006  
1007 -(% style="display:none" %) (%%)
1008 -
1009 1009  == 7.18 Single Channel Mode ==
1010 1010  
1011 -
1012 1012  Feature:Get or Set Frequency (Unit: Hz) for Single Channel Mode.
1013 1013  
1014 1014  
1015 1015  (% style="color:blue" %)**AT Command: AT+CHS**
1016 1016  
1017 -(% border="1" style="background-color:#f2f2f2; width:603.222px" %)
1018 -|(% 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**
1056 +
1057 +(% border="1" style="background-color:#ffffcc; color:green; width:603.222px" %)
1058 +|=(% colspan="3" style="width: 600px;" %)AT+CHS
1059 +|(% style="width:182px" %)**Command Example**|(% style="width:295px" %)**Function**|(% style="width:122px" %)**Response**
1019 1019  |(% style="width:182px" %)AT+CHS=?|(% style="width:295px" %)Get Frequency for Single Channel Mode|(% style="width:122px" %)0(((
1020 1020  OK
1021 1021  )))
1022 1022  |(% style="width:182px" %)AT+CHS=868100000|(% style="width:295px" %)Set Frequency for Single Channel Mode|(% style="width:122px" %)OK
1023 1023  
1024 -(% style="display:none" %) (%%)
1025 -
1026 1026  == 7.19 Eight Channel Mode ==
1027 1027  
1028 -
1029 1029  Feature: Get or Set eight channels mode,Only for US915,AU915,CN470.
1030 1030  
1031 1031  
1032 1032  (% style="color:blue" %)**AT Command: AT+CHE**
1033 1033  
1034 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
1035 -|(% 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**
1072 +
1073 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1074 +|=(% colspan="3" style="width: 707px;" %)AT+CHE
1075 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1036 1036  |(% style="width:160px" %)AT+CHE=?|(% style="width:198px" %)Get eight channels mode|(% style="width:349px" %)1(((
1037 1037  902.3 902.5 902.7 902.9 903.1 903.3 903.5 903.7
1038 1038  
... ... @@ -1040,36 +1040,34 @@
1040 1040  )))
1041 1041  |(% style="width:160px" %)AT+CHE=1|(% style="width:198px" %)Set eight channels mode|(% style="width:349px" %)OK
1042 1042  
1043 -(% style="color:blue" %)**Downlink Command: 0x24 (LHT65,LHT65N Downlink Command:0x07)**
1083 +(% style="color:blue" %)**Downlink Command: 0x24**
1044 1044  
1085 +
1045 1045  Format: Command Code (0x24) followed by 1 bytes channel value.
1046 1046  
1047 1047  If the downlink payload=2401, it means set channel mode to 1, while type code is 24.
1048 1048  
1049 -* **Example 1**: Downlink Payload: 2401  ~/~/ set channel mode to 1
1050 -* **Example 2**: Downlink Payload: 2405  ~/~/ set channel mode to 5
1090 +* **Example 1**: Downlink Payload: 2401 ~/~/ set channel mode to 1
1091 +* **Example 2**: Downlink Payload: 2405 ~/~/ set channel mode to 5
1051 1051  
1052 -(% style="display:none" %) (%%)
1053 -
1054 1054  == 7.20 Get or Set RXwindows1 timeout ==
1055 1055  
1095 +Feature:Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
1056 1056  
1057 -Feature: Get or Set the number of symbols to detect and timeout from RXwindow1(0 to 255).
1058 1058  
1059 -
1060 1060  (% style="color:blue" %)**AT Command: AT+RX1WTO**
1061 1061  
1062 -(% border="1" style="background-color:#f2f2f2; width:460.222px" %)
1063 -|(% 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**
1100 +
1101 +(% border="1" style="background-color:#ffffcc; color:green; width:460.222px" %)
1102 +|=(% colspan="3" style="width: 457px;" %)AT+ RX1WTO
1103 +|(% style="width:163px" %)**Command Example**|(% style="width:201px" %)**Function**|(% style="width:93px" %)**Response**
1064 1064  |(% style="width:163px" %)AT+RX1WTO=?|(% style="width:201px" %)Get RXwindows1 timeout|(% style="width:93px" %)14(((
1065 1065  OK
1066 1066  )))
1067 1067  |(% style="width:163px" %)AT+RX1WTO=60|(% style="width:201px" %)Set RXwindows1 timeout|(% style="width:93px" %)OK
1068 1068  
1069 -(% style="display:none" %) (%%)
1070 -
1071 1071  (((
1072 -(% 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.
1110 +**AT+RX1TWO** 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.
1073 1073  )))
1074 1074  
1075 1075  [[image:image-20220526162535-1.png]]
... ... @@ -1076,36 +1076,37 @@
1076 1076  
1077 1077  (((
1078 1078  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.
1117 +
1118 +
1079 1079  )))
1080 1080  
1081 -
1082 1082  == 7.21 Get or Set RXwindows2 timeout ==
1083 1083  
1123 +Feature:Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
1084 1084  
1085 -Feature: Get or Set the number of symbols to detect and timeout from RXwindow2(0 to 255).
1086 1086  
1087 -
1088 1088  (% style="color:blue" %)**AT Command: AT+RX2WTO**
1089 1089  
1090 -(% border="1" style="background-color:#f2f2f2; width:497.222px" %)
1091 -|(% 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**
1128 +
1129 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1130 +|=(% colspan="3" style="width: 494px;" %)AT+ RX2WTO
1131 +|(% style="width:190px" %)**Command Example**|(% style="width:199px" %)**Function**|(% style="width:104px" %)**Response**
1092 1092  |(% style="width:190px" %)AT+RX2WTO=?|(% style="width:199px" %)Get RXwindows2 timeout|(% style="width:104px" %)7(((
1093 1093  OK
1094 1094  )))
1095 1095  |(% style="width:190px" %)AT+RX2WTO=20|(% style="width:199px" %)Set RXwindows2 timeout|(% style="width:104px" %)OK
1096 1096  
1097 -(% style="display:none" %) (%%)
1098 -
1099 1099  == 7.22 Setting up uplinkdwelltime (as923, au915) ==
1100 1100  
1101 -
1102 1102  Feature: Get or Set uplinkdwelltime
1103 1103  
1104 1104  
1105 1105  (% style="color:blue" %)**AT Command: AT+DWELLT**
1106 1106  
1107 -(% border="1" style="background-color:#f2f2f2; width:497.222px" %)
1108 -|(% 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**
1144 +
1145 +(% border="1" style="background-color:#ffffcc; color:green; width:497.222px" %)
1146 +|=(% colspan="3" style="width: 494px;" %)AT+DWELLT
1147 +|(% style="width:183px" %)**Command Example**|(% style="width:179px" %)**Function**|(% style="width:131px" %)**Response**
1109 1109  |(% style="width:183px" %)AT+DWELLT=?|(% style="width:179px" %)Get uplinkdwelltime|(% style="width:131px" %)1(((
1110 1110  OK
1111 1111  )))
... ... @@ -1113,23 +1113,20 @@
1113 1113  
1114 1114  (% style="color:blue" %)**Downlink Command: 0x25**
1115 1115  
1155 +
1116 1116  Format: Command Code (0x25) followed by 1 bytes state value.
1117 1117  
1118 1118  If the downlink payload=2501, it means set uplinkdwelltime to 1, while type code is 25.
1119 1119  
1120 -* **Example 1**: Downlink Payload: **2501**  ~/~/ set uplinkdwelltime to 1
1121 -* **Example 2**: Downlink Payload: **2500**  ~/~/ set uplinkdwelltime to 0
1160 +* **Example 1**: Downlink Payload: **2501** ~/~/ set uplinkdwelltime to 1
1161 +* **Example 2**: Downlink Payload: **2500** ~/~/ set uplinkdwelltime to 0
1122 1122  
1123 -(% style="display:none" %) (%%)
1124 -
1125 1125  == 7.23 Set Packet Receiving Response Level ==
1126 1126  
1127 -
1128 1128  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.
1129 1129  
1167 +RPL value:
1130 1130  
1131 -(% style="color:blue" %)**RPL value:**
1132 -
1133 1133  * **AT+RPL=0:** Device won't immediately reply any downlink commands from platform.
1134 1134  * **AT+RPL=1:** Device will immediately reply message to Unconfirmed Data Down. Payload is 0x00.
1135 1135  * **AT+RPL=2:** Device will immediately reply message to Confirmed Data Down. Payload is 0x00 and requied response header for this command.
... ... @@ -1136,7 +1136,7 @@
1136 1136  * **AT+RPL=3:** Device will immediately reply message to MAC Command. Payload is 0x00 and requied response header for this command.
1137 1137  * **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.
1138 1138  
1139 -(% style="color:blue" %)**Case Analyes:**
1175 +Case Analyes:
1140 1140  
1141 1141  * For Class A devices, AT+RPL=0 is ok. that is defaut settings in software.
1142 1142  * For Class C devices used in ChirpStack, need to set AT+RPL=4 because Chirpstack require immedietely reply message to MAC Command.
... ... @@ -1144,8 +1144,10 @@
1144 1144  
1145 1145  (% style="color:blue" %)**AT Command: AT+RPL**
1146 1146  
1147 -(% border="1" style="background-color:#f2f2f2; width:536.222px" %)
1148 -|(% 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**
1183 +
1184 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1185 +|=(% colspan="3" style="width: 533px;" %)AT+RPL
1186 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1149 1149  |(% style="width:160px" %)AT+RPL=?|(% style="width:263px" %)Get packet receiving response level|(% style="width:109px" %)1(((
1150 1150  OK
1151 1151  )))
... ... @@ -1153,30 +1153,27 @@
1153 1153  
1154 1154  (% style="color:blue" %)**Downlink Command: 0x21**
1155 1155  
1194 +
1156 1156  Format: Command Code (0x21) followed by 1 bytes level value.
1157 1157  
1158 1158  If the downlink payload=2101, it means set packet receiving response level to 1, while type code is 21.
1159 1159  
1160 -* **Example 1**: Downlink Payload: **2101**  ~/~/ set packet receiving response level to 1
1161 -* **Example 2**: Downlink Payload: **2102**  ~/~/ set packet receiving response level to 2
1199 +* **Example 1**: Downlink Payload: **2101** ~/~/ set packet receiving response level to 1
1200 +* **Example 2**: Downlink Payload: **2102** ~/~/ set packet receiving response level to 2
1162 1162  
1163 -(% style="display:none" %) (%%)
1164 -
1165 1165  == 7.24 Controls NBTrans in unconfirmed uplink mode(LWS007 NBTrans:Set retransmission packets) ==
1166 1166  
1167 1167  
1168 1168  (% style="color:blue" %)**AT Command: AT+SETMAXNBTRANS **
1169 1169  
1170 -(% border="1" style="background-color:#f2f2f2; width:589px" %)
1171 -|(% 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**
1172 -|(% style="width:227px" %)AT+SETMAXNBTRANS=1,0|(% style="width:300px" %)Value1: set the maximum NBTrans.|(% style="width:87px" %)1(((
1207 +
1208 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1209 +|=(% colspan="3" style="width: 533px;" %)AT+**SETMAXNBTRANS**
1210 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1211 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=1,0**|(% style="width:263px" %)Value1: set the maximum NBTrans.|(% style="width:109px" %)1(((
1173 1173  OK
1174 1174  )))
1175 -|(% style="width:227px" %)AT+SETMAXNBTRANS=?,1|(% style="width:300px" %)(((
1176 -value2: 0: uplink fcnt doesn't change for each NBTrans;
1177 -
1178 -1: uplink fcnt increase by 1 for each NBTrans.
1179 -)))|(% style="width:87px" %)(((
1214 +|(% style="width:160px" %)**AT+SETMAXNBTRANS=?,1**|(% style="width:263px" %)value2: 0: uplink fcnt doesn't change for each NBTrans; 1: uplink fcnt increase by 1 for each NBTrans.|(% style="width:109px" %)(((
1180 1180  1
1181 1181  
1182 1182  OK
... ... @@ -1184,27 +1184,23 @@
1184 1184  
1185 1185  (% style="color:blue" %)**Downlink Command: 0x33**
1186 1186  
1222 +
1187 1187  Format: Command Code (0x33) followed by 2 bytes mode value.
1188 1188  
1189 1189  If the downlink payload=330100, it means set end node to use confirm mode, while type code is 33.
1190 1190  
1191 -* Example 1: Downlink Payload: 330100  ~/~/ Set AT+SETMAXNBTRANS=1,0
1192 -* Example 2: Downlink Payload: 330201  ~/~/ Set AT+SETMAXNBTRANS=2,1
1227 +* Example 1: Downlink Payload: 330100 ~/~/ Set AT+SETMAXNBTRANS=1,0
1228 +* Example 2: Downlink Payload: 330201 ~/~/ Set AT+SETMAXNBTRANS=2,1
1193 1193  
1194 -(% style="display:none" %) (%%)
1195 -
1196 1196  == 7.25 Device offline rejoining (LWS007) ==
1197 1197  
1198 1198  
1199 1199  (% style="color:blue" %)**AT Command: AT+DDETECT**
1200 1200  
1201 -AT+DDETECT=<Flag>,<ACK_Timout_1>,<ACK_Timout_2> (Default Value: AT+DDETECT=1,1440,2880)
1202 1202  
1203 -* ACK_Timout_1: Unit: min
1204 -* ACK_Timout_2: Unit: min
1205 -
1206 -(% border="1" style="background-color:#f2f2f2; width:710.222px" %)
1207 -|(% 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**
1236 +(% border="1" style="background-color:#ffffcc; color:green; width:710.222px" %)
1237 +|=(% colspan="3" style="width: 707px;" %)AT+**DDETECT**
1238 +|(% style="width:160px" %)**Command Example**|(% style="width:198px" %)**Function**|(% style="width:349px" %)**Response**
1208 1208  |(% style="width:160px" %)(((
1209 1209  AT+DDETECT=1,1440,2880
1210 1210  
... ... @@ -1233,86 +1233,76 @@
1233 1233  OK
1234 1234  )))
1235 1235  
1236 -(% style="color:blue" %)**Downlink Command: 0x32**
1267 +(% style="color:blue" %)**Downlink Command: 0x33**
1237 1237  
1269 +
1238 1238  Format: Command Code (0x32) followed by 2 bytes mode value.
1239 1239  
1240 -If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 32.
1272 +If the downlink payload=320105A00B40, it means set end node to use confirm mode, while type code is 33.
1241 1241  
1242 -* **Example 1:** Downlink Payload: 320105A00B40  ~/~/ Set AT+DDETECT=1,1440,2880
1243 -** 0x01 : Flag
1244 -** 0x05A0: ACK_Timout_1 : 1440minutes (24 hours)
1245 -** 0x0B40: ACK_Timout_2 : 2880minutes (48 hours)
1246 -** **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.
1274 +* Example 1: Downlink Payload: 320105A00B40 ~/~/ Set AT+DDETECT=1,1440,2880
1247 1247  
1248 -(% style="display:none" %) (%%)
1249 -
1250 1250  == 7.26 Request the server to send an ACK ==
1251 1251  
1252 1252  
1253 1253  (% style="color:blue" %)**AT Command: AT+PNACKMD**
1254 1254  
1255 -(% border="1" style="background-color:#f2f2f2; width:536.222px" %)
1256 -|(% 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**
1257 -|(% 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(((
1281 +
1282 +(% border="1" style="background-color:#ffffcc; color:green; width:536.222px" %)
1283 +|=(% colspan="3" style="width: 533px;" %)**AT+PNACKMD**
1284 +|(% style="width:160px" %)**Command Example**|(% style="width:263px" %)**Function**|(% style="width:109px" %)**Response**
1285 +|(% 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(((
1258 1258  OK
1259 1259  )))
1260 -|(% style="width:160px" %)AT+PNACKMD=0|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1288 +|(% style="width:160px" %)**AT+PNACKMD=0**|(% style="width:263px" %)off request the server to send an ACK|(% style="width:109px" %)(((
1261 1261  0
1290 +
1262 1262  OK
1263 1263  )))
1264 1264  
1265 -(% style="display:none" %) (%%)
1266 -
1267 1267  == 7.27 Adjust network rejoining interval ==
1268 1268  
1269 1269  
1270 1270  (% style="color:blue" %)**AT Command: AT+RJTDC**
1271 1271  
1272 -(% border="1" style="background-color:#f2f2f2; width:727.222px" %)
1273 -|(% 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**
1274 -|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30(((
1299 +
1300 +(% border="1" style="background-color:#ffffcc; color:green; width:727.222px" %)
1301 +|=(% colspan="3" style="width: 724px;" %)AT+RJTDC
1302 +|(% style="width:165px" %)**Command Example**|(% style="width:227px" %)**Function**|(% style="width:329px" %)**Response**
1303 +|(% style="width:165px" %)AT+RJTDC=?|(% style="width:227px" %)Show the ReJoin data transmission interval in min|(% style="width:329px" %)30000(((
1275 1275  OK
1276 1276  
1277 -the interval is 30 min
1306 +the interval is 30000ms = 30s
1278 1278  )))
1279 -|(% style="width:165px" %)AT+RJTDC=60|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1280 -Set the ReJoin data transmission interval to 60 min
1308 +|(% style="width:165px" %)AT+RJTDC=60000|(% style="width:227px" %)Set the ReJoin data transmission interval in min|(% style="width:329px" %)OK(((
1309 +Set the ReJoin data transmission interval to 60000ms = 60 seconds
1281 1281  )))
1282 1282  
1283 1283  (% style="color:blue" %)**Downlink Command: 0x26**
1284 1284  
1314 +
1285 1285  Format: Command Code (0x26) followed by 2 bytes mode value.
1286 1286  
1287 1287  If the downlink payload=26000A, it means set end node to use confirm mode, while type code is 26.
1288 1288  
1289 -* **Example 1:** Downlink Payload: 26000A  ~/~/  Set AT+RJTDC=10
1290 -* **Example 2: **Downlink Payload: 260002  ~/~/  Set AT+RJTDC=2
1319 +* Example 1: Downlink Payload: 26000A ~/~/ Set AT+RJTDC=10
1320 +* Example 2: Downlink Payload: 260002 ~/~/ Set AT+RJTDC=2
1291 1291  
1292 -(% style="display:none" %) (%%)
1293 -
1294 1294  = 8. AT Commands Combination =
1295 1295  
1296 1296  == 8.1 Set a fix RX2DR for downlink window ==
1297 1297  
1326 +* **AT+ADR=0 **~-~-> Disable ADR first
1327 +* **AT+RX2DR=xxxx** ~-~-> Set xxxx to your wanted DataRate
1298 1298  
1299 -* (% style="color:blue" %)**AT+ADR=0             **(%%) **~/~/**  Disable ADR first
1300 -
1301 -* (% style="color:blue" %)**AT+RX2DR=xxxx**   (%%) **~/~/**  Set xxxx to your wanted DataRate
1302 -
1303 -(% style="display:none" %) (%%)
1304 -
1305 1305  == 8.2 Use Downlink Command to set a fix uplink DR ==
1306 1306  
1307 1307  
1308 1308  (% style="color:blue" %)**Downlink Command: 0x22000500**
1309 1309  
1310 -**Same as:**
1311 1311  
1312 -* AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1335 +Same as:
1313 1313  
1314 -* AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1315 -
1316 -* AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
1317 -
1318 -
1337 +* AT+ADR=0  [[Reference>>||anchor="H7.1AdaptiveDataRate"]]
1338 +* AT+DR=5  [[Reference>>||anchor="H7.4DataRate"]]
1339 +* AT+TXP=0  [[Reference>>||anchor="H7.14TransmitPower"]]
Copyright ©2010-2024 Dragino Technology Co., LTD. All rights reserved
Dragino Wiki v2.0