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