<
From version < 63.41 >
edited by Xiaoling
on 2023/05/29 14:51
To version < 38.48 >
edited by Xiaoling
on 2022/05/31 09:13
>
Change comment: There is no comment for this version

Summary

Details

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