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