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