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