<
From version < 38.118 >
edited by Xiaoling
on 2022/06/01 11:56
To version < 63.39 >
edited by Xiaoling
on 2023/05/29 14:36
>
Change comment: There is no comment for this version

Summary

Details

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