Changes for page SDI-12-LB/LS -- SDI-12 to LoRaWAN Converter User Manual
Last modified by Mengting Qiu on 2025/07/03 15:42
Summary
-
Page properties (1 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 4 removed)
Details
- Page properties
-
- Content
-
... ... @@ -3,7 +3,6 @@ 3 3 4 4 **Table of Contents:** 5 5 6 -{{toc/}} 7 7 8 8 9 9 ... ... @@ -22,17 +22,17 @@ 22 22 == 1.1 What is SDI-12 to LoRaWAN Converter == 23 23 24 24 25 -The Dragino (% style="color:blue" %)**SDI-12-LB**(%%)is a(% style="color:blue" %)**SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution.24 +The Dragino **SDI-12-LB** is a **SDI-12 to LoRaWAN Converter **designed for Smart Agriculture solution. 26 26 27 27 SDI-12 (Serial Digital Interface at 1200 baud) is an asynchronous [[serial communications>>url:https://en.wikipedia.org/wiki/Serial_communication]] protocol for intelligent sensors that monitor environment data. SDI-12 protocol is widely used in Agriculture sensor and Weather Station sensors. 28 28 29 -SDI-12-LB has SDI-12 interface and support 12v output to power external SDI-12 sensor. It can get the environment data from SDI-12 sensor and sends out the data via LoRaWAN wireless protocol. 28 +**SDI-12-LB** has SDI-12 interface and support 12v output to power external SDI-12 sensor. It can get the environment data from SDI-12 sensor and sends out the data via LoRaWAN wireless protocol. 30 30 31 -The LoRa wireless technology used in SDI-12-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 30 +The LoRa wireless technology used in **SDI-12-LB** allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 32 32 33 -SDI-12-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.32 +**SDI-12-LB** is powered by **8500mAh Li-SOCI2 battery**, it is designed for long term use up to 5 years. 34 34 35 -Each SDI-12-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. 34 +Each **SDI-12-LB** is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on. 36 36 37 37 38 38 [[image:image-20230201084414-1.png||height="464" width="1108"]] ... ... @@ -40,6 +40,8 @@ 40 40 41 41 42 42 42 + 43 + 43 43 == 1.2 Features == 44 44 45 45 ... ... @@ -58,18 +58,18 @@ 58 58 == 1.3 Specification == 59 59 60 60 61 - (% style="color:#037691" %)**Micro Controller:**62 +**Micro Controller:** 62 62 63 63 * MCU: 48Mhz ARM 64 64 * Flash: 256KB 65 65 * RAM: 64KB 66 66 67 - (% style="color:#037691" %)**Common DC Characteristics:**68 +**Common DC Characteristics:** 68 68 69 69 * Supply Voltage: 2.5v ~~ 3.6v 70 70 * Operating Temperature: -40 ~~ 85°C 71 71 72 - (% style="color:#037691" %)**LoRa Spec:**73 +**LoRa Spec:** 73 73 74 74 * Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz 75 75 * Max +22 dBm constant RF output vs. ... ... @@ -76,19 +76,19 @@ 76 76 * RX sensitivity: down to -139 dBm. 77 77 * Excellent blocking immunity 78 78 79 - (% style="color:#037691" %)**Current Input Measuring :**80 +**Current Input Measuring :** 80 80 81 81 * Range: 0 ~~ 20mA 82 82 * Accuracy: 0.02mA 83 83 * Resolution: 0.001mA 84 84 85 - (% style="color:#037691" %)**Voltage Input Measuring:**86 +**Voltage Input Measuring:** 86 86 87 87 * Range: 0 ~~ 30v 88 88 * Accuracy: 0.02v 89 89 * Resolution: 0.001v 90 90 91 - (% style="color:#037691" %)**Battery:**92 +**Battery:** 92 92 93 93 * Li/SOCI2 un-chargeable battery 94 94 * Capacity: 8500mAh ... ... @@ -96,7 +96,7 @@ 96 96 * Max continuously current: 130mA 97 97 * Max boost current: 2A, 1 second 98 98 99 - (% style="color:#037691" %)**Power Consumption**100 +**Power Consumption** 100 100 101 101 * Sleep Mode: 5uA @ 3.3v 102 102 * LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm ... ... @@ -111,9 +111,9 @@ 111 111 == 1.5 Sleep mode and working mode == 112 112 113 113 114 - (% style="color:blue" %)**Deep Sleep Mode: **(%%)Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life.115 +**Deep Sleep Mode: **Sensor doesn't have any LoRaWAN activate. This mode is used for storage and shipping to save battery life. 115 115 116 - (% style="color:blue" %)**Working Mode: **(%%)In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode.117 +**Working Mode: **In this mode, Sensor will work as LoRaWAN Sensor to Join LoRaWAN network and send out sensor data to server. Between each sampling/tx/rx periodically, sensor will be in IDLE mode), in IDLE mode, sensor has the same power consumption as Deep Sleep mode. 117 117 118 118 119 119 == 1.6 Button & LEDs == ... ... @@ -159,6 +159,9 @@ 159 159 == 1.9 Mechanical == 160 160 161 161 163 + 164 + 165 + 162 162 [[image:image-20230201090139-2.png]] 163 163 164 164 [[image:image-20230201090139-3.png]] ... ... @@ -171,7 +171,7 @@ 171 171 == 2.1 How it works == 172 172 173 173 174 -The SDI-12-LB is configured as (% style="color:#037691" %)**LoRaWAN OTAA Class A**(%%)mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and activate the SDI-12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.178 +The SDI-12-LB is configured as **LoRaWAN OTAA Class A** mode by default. It has OTAA keys to join LoRaWAN network. To connect a local LoRaWAN network, you need to input the OTAA keys in the LoRaWAN IoT server and activate the SDI-12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 175 175 176 176 177 177 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -186,47 +186,51 @@ 186 186 The LPS8V2 is already set to connected to [[TTN network >>url:https://console.cloud.thethings.network/]], so what we need to now is configure the TTN server. 187 187 188 188 189 - (% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB.193 +**Step 1**: Create a device in TTN with the OTAA keys from SDI-12-LB. 190 190 191 191 Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 192 192 193 193 194 -[[image:image-20230 201152430-20.jpeg]]198 +[[image:image-20230131134744-2.jpeg]] 195 195 196 196 201 + 202 + 203 + 197 197 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 198 198 199 199 200 - (% style="color:blue" %)**Register the device**207 +**Register the device** 201 201 202 202 [[image:1675213652444-622.png]] 203 203 204 204 205 - (% style="color:blue" %)**Add APP EUI and DEV EUI**212 +**Add APP EUI and DEV EUI** 206 206 207 207 208 208 [[image:1675213661769-223.png]] 209 209 210 210 211 - (% style="color:blue" %)**Add APP EUI in the application**218 +**Add APP EUI in the application** 212 212 213 213 214 214 [[image:1675213675852-577.png]] 215 215 216 216 217 - (% style="color:blue" %)**Add APP KEY**224 +**Add APP KEY** 218 218 219 219 [[image:1675213686734-883.png]] 220 220 221 221 222 - (% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB229 +**Step 2**: Activate on SDI-12-LB 223 223 224 224 225 225 Press the button for 5 seconds to activate the SDI-12-LB. 226 226 227 -(% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode** (%%)for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 228 228 235 +**Green led** will fast blink 5 times, device will enter **OTA mode** for 3 seconds. And then start to JOIN LoRaWAN network. **Green led** will solidly turn on for 5 seconds after joined in network. 229 229 237 + 230 230 [[image:1675213704414-644.png]] 231 231 232 232 ... ... @@ -253,15 +253,15 @@ 253 253 [[image:image-20230201091027-7.png||height="261" width="1179"]] 254 254 255 255 256 -==== (% style="color:blue" %)**al! ~-~- Get SDI-12 sensor Identification**(%%)====264 +==== **al! ~-~- Get SDI-12 sensor Identification** ==== 257 257 258 258 259 259 * AT Command: AT+ADDRI=aa 260 260 * LoRaWAN Downlink(prefix 0xAA00): AA 00 aa 261 261 262 - (% style="color:#037691" %)**Parameter: **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command)270 +**Parameter: **aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 263 263 264 - (% style="color:blue" %)**Example :272 +**Example : **AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 265 265 266 266 267 267 The following is the display information on the serial port and the server. ... ... @@ -273,31 +273,30 @@ 273 273 [[image:image-20230201091257-9.png||height="225" width="1242"]] 274 274 275 275 276 -==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%)====284 +==== **aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!** ==== 277 277 278 278 279 - (% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement287 +**aM! **: Start Non-Concurrent Measurement 280 280 281 - (% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC289 +**aMC! **: Start Non-Concurrent Measurement – Request CRC 282 282 283 - (% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements291 +**aM1!- aM9! **: Additional Measurements 284 284 285 - (% style="color:red" %)**aMC1!- aMC9!**(%%): Additional Measurements – Request CRC293 +**aMC1!- aMC9!** : Additional Measurements – Request CRC 286 286 287 287 288 288 * AT Command : AT+ADDRM=0,1,0,1 289 - 290 290 * LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01 291 291 292 292 Downlink:AA 01 aa bb cc dd 293 293 294 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.301 +**aa**: SDI-12 sensor address. 295 295 296 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC303 +**bb**: 0: no CRC, 1: request CRC 297 297 298 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement305 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 299 299 300 - (% style="color:#037691" %)**dd**(%%): delay (in second) to send(% style="color:#037691" %)**aD0!**(%%)to get return.307 +**dd**: delay (in second) to send **aD0!** to get return. 301 301 302 302 303 303 The following is the display information on the serial port and the server. ... ... @@ -310,16 +310,16 @@ 310 310 311 311 312 312 313 -==== (% style="color:blue" %)**aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! **(%%)====320 +==== **aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! ** ==== 314 314 315 315 316 - (% style="color:red" %)**aC!**(%%): Start Concurrent Measurement323 +**aC!** : Start Concurrent Measurement 317 317 318 - (% style="color:red" %)**aCC!**(%%): Start Concurrent Measurement – Request CRC325 +**aCC!** : Start Concurrent Measurement – Request CRC 319 319 320 - (% style="color:red" %)**aC1!- aC9!**(%%): Start Additional Concurrent Measurements327 +**aC1!- aC9!** : Start Additional Concurrent Measurements 321 321 322 - (% style="color:red" %)**aCC1!- aCC9!**(%%): Start Additional Concurrent Measurements – Request CRC329 +**aCC1!- aCC9!** : Start Additional Concurrent Measurements – Request CRC 323 323 324 324 325 325 * AT Command : AT+ADDRC=0,1,0,1 ... ... @@ -328,13 +328,13 @@ 328 328 329 329 Downlink: AA 02 aa bb cc dd 330 330 331 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.338 +**aa**: SDI-12 sensor address. 332 332 333 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC340 +**bb**: 0: no CRC, 1: request CRC 334 334 335 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement342 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 336 336 337 - (% style="color:#037691" %)**dd**(%%): delay (in second) to send(% style="color:#037691" %)**aD0!**(%%)to get return.344 +**dd**: delay (in second) to send **aD0!** to get return. 338 338 339 339 340 340 The following is the display information on the serial port and the server. ... ... @@ -346,11 +346,11 @@ 346 346 [[image:image-20230201091954-13.png||height="203" width="1117"]] 347 347 348 348 356 +(% style="display:none" %) (%%) 349 349 358 +==== **aR0!- aR9!, aRC0!- aRC9!** ==== 350 350 351 -==== (% style="color:blue" %)**aR0!- aR9!, aRC0!- aRC9!**(%%) ==== 352 352 353 - 354 354 Start Continuous Measurement 355 355 356 356 Start Continuous Measurement – Request CRC ... ... @@ -361,13 +361,13 @@ 361 361 362 362 Downlink: AA 03 aa bb cc dd 363 363 364 - (% style="color:#037691" %)**aa**(%%): SDI-12 sensor address.371 +**aa**: SDI-12 sensor address. 365 365 366 - (% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC373 +**bb**: 0: no CRC, 1: request CRC 367 367 368 - (% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement375 +**cc**: 1-9: Additional Measurement, 0: no additional measurement 369 369 370 - (% style="color:#037691" %)**dd**(%%): delay (in second) to send(% style="color:#037691" %)**aD0!**(%%)to get return.377 +**dd**: delay (in second) to send **aD0!** to get return. 371 371 372 372 373 373 The following is the display information on the serial port and the server. ... ... @@ -380,7 +380,7 @@ 380 380 [[image:image-20230201092208-15.png||height="214" width="1140"]] 381 381 382 382 383 -=== 2.3.2 Advance SDI-12 Debug command === 390 +=== 2.3.2 Advance SDI-12 Debug command === 384 384 385 385 386 386 This command can be used to debug all SDI-12 command. ... ... @@ -388,20 +388,20 @@ 388 388 389 389 LoRaWAN Downlink: A8 aa xx xx xx xx bb cc 390 390 391 - (% style="color:#037691" %)**aa **(%%): total SDI-12 command length398 +**aa **: total SDI-12 command length 392 392 393 - (% style="color:#037691" %)**xx **(%%): SDI-12 command400 +**xx **: SDI-12 command 394 394 395 - (% style="color:#037691" %)**bb **(%%): Delay to wait for return402 +**bb **: Delay to wait for return 396 396 397 - (% style="color:#037691" %)**cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100404 +**cc **: 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100 398 398 399 399 400 - (% style="color:blue" %)**Example: **(%%)AT+CFGDEV =0RC0!,1407 +**Example: **AT+CFGDEV =0RC0!,1 401 401 402 - (% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command,409 +**0RC0! **: SDI-12 Command, 403 403 404 - (% style="color:#037691" %)**1 **(%%): Delay 1 second. ( 0: 810 mini-second)411 +**1 **: Delay 1 second. ( 0: 810 mini-second) 405 405 406 406 Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 407 407 ... ... @@ -412,9 +412,11 @@ 412 412 [[image:image-20230201092355-16.png]] 413 413 414 414 415 -[[image:image-20230201092355-17.png||height="426" width="1135"]] 422 +[[image:image-20230201092355-17.png||height="426" width="1135"]] 416 416 417 417 425 + 426 + 418 418 === 2.3.3 Convert ASCII to String === 419 419 420 420 ... ... @@ -423,7 +423,7 @@ 423 423 AT+CONVFORM ( Max length: 80 bytes) 424 424 425 425 426 - (% style="color:blue" %)**Example:**435 +**Example:** 427 427 428 428 1) AT+CONVFORM=0, string Convert String from String to ASCII 429 429 ... ... @@ -435,6 +435,10 @@ 435 435 [[image:1675214856590-846.png]] 436 436 437 437 447 + 448 + 449 + 450 + 438 438 === 2.3.4 Define periodically SDI-12 commands and uplink. === 439 439 440 440 ... ... @@ -443,31 +443,31 @@ 443 443 User can define max 15 SDI-12 Commands (AT+COMMAND1 ~~ AT+COMMANDF). On each uplink period (TDC time, default 20 minutes), SDI-12-LB will send these SDI-12 commands and wait for return from SDI-12 sensors. SDI-12-LB will then combine these returns and uplink via LoRaWAN. 444 444 445 445 446 -* (% style="color:blue" %)**AT Command:**459 +* ** AT Command:** 447 447 448 - (% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.**461 +**AT+COMMANDx=var1,var2,var3,var4.** 449 449 450 - (% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0!463 +**var1**: SDI-12 command , for example: 0RC0! 451 451 452 - (% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second)465 +**var2**: Wait timeout for return. (unit: second) 453 453 454 - (% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//.467 +**var3**: Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 455 455 456 - (% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries.469 +**var4**: validation check for return. If return invalid, SDI-12-LB will resend this command. Max 2 retries. 457 457 458 - (% style="color:red" %)**0 **(%%)No validation check;471 +**0 ** No validation check; 459 459 460 - (% style="color:red" %)**1**(%%)Check if return chars are printable char(0x20 ~~ 0x7E);473 +**1** Check if return chars are printable char(0x20 ~~ 0x7E); 461 461 462 - (% style="color:#red" %)**2**(%%)Check if there is return from SDI-12 sensor475 +**2** Check if there is return from SDI-12 sensor 463 463 464 - (% style="color:red" %)**3**(%%)Check if return pass CRC check ( SDI-12 command var1 must include CRC request);477 +**3** Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 465 465 466 466 467 -Each AT+COMMANDx is followed by a (% style="color:blue" %)**AT+DATACUT**(%%)command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink.480 +Each AT+COMMANDx is followed by a **AT+DATACUT** command. AT+DATACUT command is used to take the useful string from the SDI-12 sensor so the final payload will have the minimum length to uplink. 468 468 469 469 470 - (% style="color:blue" %)**AT+DATACUTx**(%%): This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes.483 +**AT+DATACUTx** : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 471 471 472 472 (% border="1" style="background-color:#f7faff; width:436px" %) 473 473 |(% style="width:433px" %)((( ... ... @@ -475,7 +475,7 @@ 475 475 476 476 **a**: length for the return of AT+COMMAND 477 477 478 -**b**: 491 +**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 479 479 480 480 **c**: define the position for valid value. 481 481 ))) ... ... @@ -489,49 +489,50 @@ 489 489 |(% style="width:170px" %)34,2,1~~8+12~~16|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 490 490 |(% style="width:170px" %)34,2,1~~34|(% style="width:338px" %)0D 00 01 30 31 33 4D 45 54 45 52 20 20 20 54 45 52 31 32 20 31 31 32 54 31 32 2D 30 30 30 32 34 38 39 35 0D 0A 491 491 492 -* (% style="color:blue" %)** Downlink Payload:**505 +* ** Downlink Payload:** 493 493 494 - (% style="color:blue" %)**0xAF**(%%)downlink command can be used to set AT+COMMANDx or AT+DATACUTx.507 +**0xAF** downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 495 495 496 496 497 - (% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.**510 +**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 498 498 499 499 500 -Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY(%%)**513 +Format: ** AF MM NN LL XX XX XX XX YY** 501 501 502 502 Where: 503 503 504 -* (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F,505 -* (% style="color:#037691" %)**NN **(%%): 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value.506 -* (% style="color:#037691" %)**LL **(%%): The length of AT+COMMAND or AT+DATACUT command507 -* (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command508 -* (% style="color:#037691" %)**YY **(%%): If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command.517 +* **MM **: the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 518 +* **NN **: 1: set the AT+DATACUT value ; 2: set the AT+DATACUT value. 519 +* **LL **: The length of AT+COMMAND or AT+DATACUT command 520 +* **XX XX XX XX **: AT+COMMAND or AT+DATACUT command 521 +* **YY **: If YY=0, RS485-LN will execute the downlink command without uplink; if YY=1, RS485-LN will execute an uplink after got this command. 509 509 510 -(% style="color:blue" %)**Example:** 511 511 524 +**Example:** 525 + 512 512 [[image:image-20230201094129-18.png]] 513 513 514 514 515 - (% style="color:blue" %)**Clear SDI12 Command**529 +**Clear SDI12 Command** 516 516 517 517 The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 518 518 519 519 520 -* (% style="color:#037691" %)**AT Command:**534 +* ** AT Command:** 521 521 522 - (% style="color:#4f81bd" %)**AT+CMDEAR=mm,nn**(%%)mm: start position of erase ,nn: stop position of erase536 +**~ AT+CMDEAR=mm,nn** mm: start position of erase ,nn: stop position of erase 523 523 524 524 525 525 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 526 526 527 527 528 -* (% style="color:#037691" %)** Downlink Payload:**542 +* ** Downlink Payload:** 529 529 530 - (% style="color:#4f81bd" %)**0x09 aa bb**(%%)same as AT+CMDEAR=aa,bb544 +**~ 0x09 aa bb** same as AT+CMDEAR=aa,bb 531 531 532 532 533 533 534 - (% style="color:blue" %)**command combination**548 +**command combination** 535 535 536 536 Below shows a screen shot how the results combines together to a uplink payload. 537 537 ... ... @@ -540,24 +540,23 @@ 540 540 541 541 If user don't want to use DATACUT for some command, he simply want to uplink all returns. AT+ALLDATAMOD can be set to 1. 542 542 543 - (% style="color:blue" %)**AT+ALLDATAMOD**(%%)will simply get all return and don't do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command.557 +**AT+ALLDATAMOD** will simply get all return and don’t do CRC check as result for SDI-12 command. AT+DATACUTx command has higher priority, if AT+DATACUTx has been set, AT+ALLDATAMOD will be ignore for this SDI-12 command. 544 544 545 545 546 - (% style="color:#4f81bd" %)**For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result.560 +**For example: ** as below photo, AT+ALLDATAMOD=1, but AT+DATACUT1 has been set, AT+DATACUT1 will be still effect the result. 547 547 548 548 549 549 [[image:1675215782925-448.png]] 550 550 551 551 552 -If AT+ALLDATAMOD=1, (% style="color:#4f81bd" %)**FX,X**(%%)will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes.566 +If AT+ALLDATAMOD=1, **FX,X** will be added in the payload, FX specify which command is used and X specify the length of return. for example in above screen, F1 05 means the return is from AT+COMMAND1 and the return is 5 bytes. 553 553 554 554 555 555 556 - (% style="color:blue" %)**Compose Uplink**570 +**Compose Uplink** 557 557 572 +**AT+DATAUP=0** 558 558 559 -(% style="color:#4f81bd" %)**AT+DATAUP=0** 560 - 561 561 Compose the uplink payload with value returns in sequence and send with A SIGNLE UPLINK. 562 562 563 563 Final Payload is Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx ... ... @@ -568,7 +568,7 @@ 568 568 [[image:1675215828102-844.png]] 569 569 570 570 571 - (% style="color:#4f81bd" %)**AT+DATAUP=1**584 +**AT+DATAUP=1** 572 572 573 573 Compose the uplink payload with value returns in sequence and send with Multiply UPLINKs. 574 574 ... ... @@ -585,7 +585,7 @@ 585 585 [[image:1675215848113-696.png]] 586 586 587 587 588 - (% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:**601 +**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** 589 589 590 590 * For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 591 591 * For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). ... ... @@ -592,12 +592,12 @@ 592 592 * For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 593 593 * For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 594 594 595 - (% style="color:red" %)**When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;**608 +**~ When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 596 596 597 - (% style="color:red" %)**When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.**610 +**~ When AT+DATAUP=1 and AT+ADR=0, the maximum number of bytes of each payload is determined by the DR value.** 598 598 599 599 600 -== 2.4 Uplink Payload == 613 +== 2.4 Uplink Payload == 601 601 602 602 603 603 Uplink payloads have two types: ... ... @@ -608,13 +608,14 @@ 608 608 The application server should parse the correct value based on FPORT settings. 609 609 610 610 611 - ===2.4.1 Device Payload, FPORT~=5===624 +2.4.1 Device Payload, FPORT=5 612 612 613 - 614 614 Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server. 615 615 628 + 616 616 Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 617 617 631 + 618 618 (% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 619 619 |(% colspan="6" style="width:434px" %)**Device Status (FPORT=5)** 620 620 |(% style="width:102px" %)**Size (bytes)**|(% style="width:67px" %)**1**|(% style="width:80px" %)**2**|(% style="width:89px" %)**1**|(% style="width:52px" %)**1**|(% style="width:44px" %)**2** ... ... @@ -624,13 +624,12 @@ 624 624 625 625 [[image:1675215946738-635.png]] 626 626 641 +**Sensor Model**: For SDI-12-LB, this value is 0x17 627 627 628 - (% style="color:#037691" %)**SensorModel**(%%):For SDI-12-LB,this valueis0x17643 +**Firmware Version**: 0x0100, Means: v1.0.0 version 629 629 630 - (% style="color:#037691" %)**FirmwareVersion**(%%):0x0100, Means:v1.0.0 version645 +**Frequency Band**: 631 631 632 -(% style="color:#037691" %)**Frequency Band**: 633 - 634 634 *0x01: EU868 635 635 636 636 *0x02: US915 ... ... @@ -660,7 +660,7 @@ 660 660 *0x0e: MA869 661 661 662 662 663 - (% style="color:#037691" %)**Sub-Band**:676 +**Sub-Band**: 664 664 665 665 AU915 and US915:value 0x00 ~~ 0x08 666 666 ... ... @@ -669,7 +669,7 @@ 669 669 Other Bands: Always 0x00 670 670 671 671 672 - (% style="color:#037691" %)**Battery Info**:685 +**Battery Info**: 673 673 674 674 Check the battery voltage. 675 675 ... ... @@ -678,9 +678,10 @@ 678 678 Ex2: 0x0B49 = 2889mV 679 679 680 680 681 -=== 2.4.2 Uplink Payload, FPORT~=2 === 694 +1. 695 +11. 696 +111. Uplink Payload, FPORT=2 682 682 683 - 684 684 There are different cases for uplink. See below 685 685 686 686 * SDI-12 Debug Command return: FPORT=100 ... ... @@ -687,24 +687,30 @@ 687 687 688 688 * Periodically Uplink: FPORT=2 689 689 690 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 691 -|(% style="width:93px" %)((( 692 -**Size(bytes)** 693 -)))|(% style="width:83px" %)**2**|(% style="width:70px" %)**1**|(% style="width:234px" %)**Length depends on the return from the commands** 694 -|(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 704 +|((( 705 +**Size** 706 + 707 +**(bytes)** 708 +)))|**2**|**1**|**Length depends on the return from the commands** 709 +|**Value**|((( 695 695 Battery(mV) 711 + 696 696 & 713 + 697 697 Interrupt_Flag 698 -)))|(% style="width:70px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:234px" %)((( 699 -If the valid payload is too long and exceed the maximum support. 715 +)))|[[PAYLOAD_VER>>path:#Probe_Model]]|((( 716 +If the valid payload is too long and exceed the maximum support 717 + 700 700 Payload length in server,server will show payload not provided in the LoRaWAN server. 701 701 ))) 702 702 703 -[[image: 1675216282284-923.png]]721 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image034.png]] 704 704 705 705 706 -=== 2.4.3 Battery Info === 707 707 725 +1. 726 +11. 727 +111. Battery Info 708 708 709 709 Check the battery voltage for SDI-12-LB. 710 710 ... ... @@ -713,12 +713,14 @@ 713 713 Ex2: 0x0B49 = 2889mV 714 714 715 715 716 -=== 2.4.4 Interrupt Pin === 736 +1. 737 +11. 738 +111. Interrupt Pin 717 717 740 +This data field shows if this packet is generated by **Interrupt Pin** or not. [[Click here>>path:#Int_mod]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>path:#pins]]. 718 718 719 -This data field shows if this packet is generated by (% style="color:#037691" %)**Interrupt Pin**(%%) or not. [[Click here>>||anchor="H3.2SetInterruptMode"]] for the hardware and software set up. Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.7PinMapping"]]. 720 720 721 - **Example:**743 +Example: 722 722 723 723 Ex1: 0x0B45:0x0B&0x80= 0x00 Normal uplink packet. 724 724 ... ... @@ -725,60 +725,242 @@ 725 725 Ex2: 0x8B49:0x8B&0x80= 0x80 Interrupt Uplink Packet. 726 726 727 727 728 -=== 2.4.5 Payload version === 750 +1. 751 +11. 752 +111. Payload version 729 729 730 730 731 731 732 -=== 2.4.6 Decode payload in The Things Network === 733 733 734 734 758 +1. 759 +11. 760 +111. Decode payload in The Things Network 761 + 735 735 While using TTN network, you can add the payload format to decode the payload. 736 736 737 -[[image: 1675216779406-595.png]]764 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image035.png]] 738 738 739 739 740 740 There is no fix payload decoder in LoRaWAN server because the SDI-12 sensors returns are different. User need to write the decoder themselves for their case. 741 741 742 -SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 743 743 770 +下面的解码生成超链接放进去. 744 744 745 - == 2.5 UplinkInterval==772 +function Decoder(bytes, port) { 746 746 774 + if(port==5) 747 747 748 - TheSDI-12-LBby default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link:776 + { 749 749 750 - [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H4.1ChangeUplinkInterval]]]]778 + var freq_band; 751 751 780 + var sub_band; 752 752 782 + var sensor; 753 753 754 754 755 - ==2.6FrequencyPlans==785 + if(bytes[0]==0x17) 756 756 787 + sensor= "SDI12-LB"; 757 757 758 -The SDI-12-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. 759 759 760 - [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]790 + var firm_ver= (bytes[1]&0x0f)+'.'+(bytes[2]>>4&0x0f)+'.'+(bytes[2]&0x0f); 761 761 762 762 763 - ==2.7FirmwareChangeLog==793 + if(bytes[3]==0x01) 764 764 795 + freq_band="EU868"; 765 765 797 + else if(bytes[3]==0x02) 798 + 799 + freq_band="US915"; 800 + 801 + else if(bytes[3]==0x03) 802 + 803 + freq_band="IN865"; 804 + 805 + else if(bytes[3]==0x04) 806 + 807 + freq_band="AU915"; 808 + 809 + else if(bytes[3]==0x05) 810 + 811 + freq_band="KZ865"; 812 + 813 + else if(bytes[3]==0x06) 814 + 815 + freq_band="RU864"; 816 + 817 + else if(bytes[3]==0x07) 818 + 819 + freq_band="AS923"; 820 + 821 + else if(bytes[3]==0x08) 822 + 823 + freq_band="AS923_1"; 824 + 825 + else if(bytes[3]==0x09) 826 + 827 + freq_band="AS923_2"; 828 + 829 + else if(bytes[3]==0x0A) 830 + 831 + freq_band="AS923_3"; 832 + 833 + else if(bytes[3]==0x0F) 834 + 835 + freq_band="AS923_4"; 836 + 837 + else if(bytes[3]==0x0B) 838 + 839 + freq_band="CN470"; 840 + 841 + else if(bytes[3]==0x0C) 842 + 843 + freq_band="EU433"; 844 + 845 + else if(bytes[3]==0x0D) 846 + 847 + freq_band="KR920"; 848 + 849 + else if(bytes[3]==0x0E) 850 + 851 + freq_band="MA869"; 852 + 853 + 854 + if(bytes[4]==0xff) 855 + 856 + sub_band="NULL"; 857 + 858 + else 859 + 860 + sub_band=bytes[4]; 861 + 862 + 863 + var bat= (bytes[5]<<8 | bytes[6])/1000; 864 + 865 + 866 + return { 867 + 868 + SENSOR_MODEL:sensor, 869 + 870 + FIRMWARE_VERSION:firm_ver, 871 + 872 + FREQUENCY_BAND:freq_band, 873 + 874 + SUB_BAND:sub_band, 875 + 876 + BAT:bat, 877 + 878 + } 879 + 880 + } 881 + 882 + else if(port==100) 883 + 884 + { 885 + 886 + var datas_sum={}; 887 + 888 + for(var j=0;j<bytes.length;j++) 889 + 890 + { 891 + 892 + var datas= String.fromCharCode(bytes[j]); 893 + 894 + if(j=='0') 895 + 896 + datas_sum.datas_sum=datas; 897 + 898 + else 899 + 900 + datas_sum.datas_sum+=datas; 901 + 902 + } 903 + 904 + 905 + return datas_sum; 906 + 907 + } 908 + 909 + else 910 + 911 + { 912 + 913 + var decode={}; 914 + 915 + decode.EXTI_Trigger= (bytes[0] & 0x80)? "TRUE":"FALSE"; 916 + 917 + decode.BatV= ((bytes[0]<<8 | bytes[1])&0x7FFF)/1000; 918 + 919 + decode.Payver= bytes[2]; 920 + 921 + for(var i=3;i<bytes.length;i++) 922 + 923 + { 924 + 925 + var data= String.fromCharCode(bytes[i]); 926 + 927 + if(i=='3') 928 + 929 + decode.data_sum=data; 930 + 931 + else 932 + 933 + decode.data_sum+=data; 934 + 935 + } 936 + 937 + return decode; 938 + 939 + } 940 + 941 + 942 +} 943 + 944 + 945 +1. 946 +11. Uplink Interval 947 + 948 +The SDI-12-LB by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: 949 + 950 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands#Change_Uplink_Interval>>url:http://wiki.dragino.com/index.php?title=End_Device_AT_Commands_and_Downlink_Commands#Change_Uplink_Interval]] 951 + 952 + 953 + 954 +1. 955 +11. Frequency Plans 956 + 957 +The SDI12-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets. 958 + 959 + 960 +[[https:~~/~~/wiki.dragino.com/index.php?title=End_Device_Frequency_Band>>url:https://wiki.dragino.com/index.php?title=End_Device_Frequency_Band]] 961 + 962 + 963 + 964 +1. 965 +11. Firmware Change Log 966 + 766 766 **Firmware download link:** 767 767 768 768 [[https:~~/~~/www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0>>url:https://www.dropbox.com/sh/gf1glloczbzz19h/AABbuYI4WY6VdAmpXo6o1V2Ka?dl=0]] 769 769 770 770 771 -= 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = 772 772 973 +1. Configure SDI-12-LB via AT Command or LoRaWAN Downlink 773 773 774 774 Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink. 775 775 776 -* AT Command Connection: See [[FAQ>> ||anchor="H7.FAQ"]].777 -* LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.977 +* AT Command Connection: See [[FAQ>>path:#AT_COMMAND]]. 978 +* LoRaWAN Downlink instruction for different platforms: 778 778 980 +[[http:~~/~~/wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server>>url:http://wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server]] 981 + 982 + 779 779 There are two kinds of commands to configure SDI-12-LB, they are: 780 780 781 -* (% style="color:blue" %)**General Commands**.985 +* **General Commands**. 782 782 783 783 These commands are to configure: 784 784 ... ... @@ -787,236 +787,255 @@ 787 787 788 788 They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: 789 789 790 -[[http:~~/~~/wiki.dragino.com/ xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]994 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_Downlink_Command>>url:http://wiki.dragino.com/index.php?title=End_Device_Downlink_Command]] 791 791 792 792 793 -* (% style="color:blue" %)**Commands special design for SDI-12-LB**997 +* **Commands special design for SDI-12-LB** 794 794 795 795 These commands only valid for SDI-12-LB, as below: 796 796 797 797 798 -== 3.1 Set Transmit Interval Time == 799 799 1003 +1. 1004 +11. Set Transmit Interval Time 800 800 801 801 Feature: Change LoRaWAN End Node Transmit Interval. 802 802 803 - (% style="color:blue" %)**AT Command: AT+TDC**1008 +**AT Command: AT+TDC** 804 804 805 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 806 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 137px;" %)**Function**|=**Response** 807 -|(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|((( 1010 +|**Command Example**|**Function**|**Response** 1011 +|AT+TDC=?|Show current transmit Interval|((( 808 808 30000 1013 + 809 809 OK 1015 + 810 810 the interval is 30000ms = 30s 811 811 ))) 812 -| (% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((1018 +|AT+TDC=60000|Set Transmit Interval|((( 813 813 OK 1020 + 814 814 Set transmit interval to 60000ms = 60 seconds 815 815 ))) 816 816 817 - (% style="color:blue" %)**Downlink Command: 0x01**1024 +**Downlink Command: 0x01** 818 818 819 - 820 820 Format: Command Code (0x01) followed by 3 bytes time value. 821 821 822 -If the downlink payload=0100003C, it means set the END Node 's Transmit Interval to 0x00003C=60(S), while type code is 01.1028 +If the downlink payload=0100003C, it means set the END Node’s Transmit Interval to 0x00003C=60(S), while type code is 01. 823 823 824 -* Example 1: Downlink Payload: 0100001E 825 -* Example 2: Downlink Payload: 0100003C 1030 +* Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1031 +* Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 826 826 1033 +1. 1034 +11. Set Interrupt Mode 827 827 828 -== 3.2 Set Interrupt Mode == 829 - 830 - 831 831 Feature, Set Interrupt mode for GPIO_EXIT. 832 832 833 - (% style="color:blue" %)**AT Command: AT+INTMOD**1038 +**AT Command: AT+INTMOD** 834 834 835 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:510px" %) 836 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 187px;" %)**Function**|=(% style="width: 165px;" %)**Response** 837 -|(% style="width:156px" %)AT+INTMOD=?|(% style="width:187px" %)Show current interrupt mode|(% style="width:165px" %)((( 1040 +|**Command Example**|**Function**|**Response** 1041 +|AT+INTMOD=?|Show current interrupt mode|((( 838 838 0 1043 + 839 839 OK 1045 + 840 840 the mode is 0 = No interruption 841 841 ))) 842 -| (% style="width:156px" %)AT+INTMOD=2|(% style="width:187px" %)(((1048 +|AT+INTMOD=2|((( 843 843 Set Transmit Interval 844 -~1. (Disable Interrupt), 845 -2. (Trigger by rising and falling edge) 846 -3. (Trigger by falling edge) 847 -4. (Trigger by rising edge) 848 -)))|(% style="width:165px" %)OK 849 849 850 -(% style="color:blue" %)**Downlink Command: 0x06** 1051 +1. (Disable Interrupt), 1052 +1. (Trigger by rising and falling edge), 1053 +1. (Trigger by falling edge) 1054 +1. (Trigger by rising edge) 1055 +)))|OK 851 851 1057 +**Downlink Command: 0x06** 1058 + 852 852 Format: Command Code (0x06) followed by 3 bytes. 853 853 854 854 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 855 855 856 -* Example 1: Downlink Payload: 06000000 857 -* Example 2: Downlink Payload: 06000003 1063 +* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 1064 +* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 858 858 1066 +1. 1067 +11. Set the output time 859 859 860 -== 3.3 Set the output time == 861 - 862 - 863 863 Feature, Control the output 3V3 , 5V or 12V. 864 864 865 - (% style="color:blue" %)**AT Command: AT+3V3T**1071 +**AT Command: AT+3V3T** 866 866 867 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:474px" %) 868 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 201px;" %)**Function**|=(% style="width: 116px;" %)**Response** 869 -|(% style="width:154px" %)AT+3V3T=?|(% style="width:201px" %)Show 3V3 open time.|(% style="width:116px" %)((( 1073 +|**Command Example**|**Function**|**Response** 1074 +|AT+3V3T=?|Show 3V3 open time.|((( 870 870 0 1076 + 871 871 OK 872 872 ))) 873 -| (% style="width:154px" %)AT+3V3T=0|(% style="width:201px" %)Normally open 3V3 power supply.|(% style="width:116px" %)(((1079 +|AT+3V3T=0|Normally open 3V3 power supply.|((( 874 874 OK 1081 + 875 875 default setting 876 876 ))) 877 -| (% style="width:154px" %)AT+3V3T=1000|(% style="width:201px" %)Close after a delay of 1000 milliseconds.|(% style="width:116px" %)(((1084 +|AT+3V3T=1000|Close after a delay of 1000 milliseconds.|((( 878 878 OK 1086 + 1087 + 879 879 ))) 880 -| (% style="width:154px" %)AT+3V3T=65535|(% style="width:201px" %)Normally closed 3V3 power supply.|(% style="width:116px" %)(((1089 +|AT+3V3T=65535|Normally closed 3V3 power supply.|((( 881 881 OK 1091 + 1092 + 882 882 ))) 883 883 884 - (% style="color:blue" %)**AT Command: AT+5VT**1095 +**AT Command: AT+5VT** 885 885 886 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:470px" %) 887 -|=(% style="width: 155px;" %)**Command Example**|=(% style="width: 196px;" %)**Function**|=(% style="width: 114px;" %)**Response** 888 -|(% style="width:155px" %)AT+5VT=?|(% style="width:196px" %)Show 5V open time.|(% style="width:114px" %)((( 1097 +|**Command Example**|**Function**|**Response** 1098 +|AT+5VT=?|Show 5V open time.|((( 889 889 0 1100 + 890 890 OK 891 891 ))) 892 -| (% style="width:155px" %)AT+5VT=0|(% style="width:196px" %)Normally closed 5V power supply.|(% style="width:114px" %)(((1103 +|AT+5VT=0|Normally closed 5V power supply.|((( 893 893 OK 1105 + 894 894 default setting 895 895 ))) 896 -| (% style="width:155px" %)AT+5VT=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:114px" %)(((1108 +|AT+5VT=1000|Close after a delay of 1000 milliseconds.|((( 897 897 OK 1110 + 1111 + 898 898 ))) 899 -| (% style="width:155px" %)AT+5VT=65535|(% style="width:196px" %)Normally open 5V power supply.|(% style="width:114px" %)(((1113 +|AT+5VT=65535|Normally open 5V power supply.|((( 900 900 OK 1115 + 1116 + 901 901 ))) 902 902 903 - (% style="color:blue" %)**AT Command: AT+12VT**1119 +**AT Command: AT+12VT** 904 904 905 -(% border="1" cellspacing="4" style="background-color:#f7faff; color:black; width:443px" %) 906 -|=(% style="width: 156px;" %)**Command Example**|=(% style="width: 199px;" %)**Function**|=(% style="width: 83px;" %)**Response** 907 -|(% style="width:156px" %)AT+12VT=?|(% style="width:199px" %)Show 12V open time.|(% style="width:83px" %)((( 1121 +|**Command Example**|**Function**|**Response** 1122 +|AT+12VT=?|Show 12V open time.|((( 908 908 0 1124 + 909 909 OK 910 910 ))) 911 -| (% style="width:156px" %)AT+12VT=0|(% style="width:199px" %)Normally closed 12V power supply.|(% style="width:83px" %)OK912 -| (% style="width:156px" %)AT+12VT=500|(% style="width:199px" %)Close after a delay of 500 milliseconds.|(% style="width:83px" %)(((1127 +|AT+12VT=0|Normally closed 12V power supply.|OK 1128 +|AT+12VT=500|Close after a delay of 500 milliseconds.|((( 913 913 OK 1130 + 1131 + 914 914 ))) 915 915 916 - (% style="color:blue" %)**Downlink Command: 0x07**1134 +**Downlink Command: 0x07** 917 917 918 918 Format: Command Code (0x07) followed by 3 bytes. 919 919 920 920 The first byte is which power, the second and third bytes are the time to turn on. 921 921 922 -* Example 1: Downlink Payload: 070101F4 **~-~-->**923 -* Example 2: Downlink Payload: 0701FFFF **~-~-->**AT+3V3T=65535924 -* Example 3: Downlink Payload: 070203E8 **~-~-->**AT+5VT=1000925 -* Example 4: Downlink Payload: 07020000 **~-~-->**AT+5VT=0926 -* Example 5: Downlink Payload: 070301F4 **~-~-->**AT+12VT=500927 -* Example 6: Downlink Payload: 07030000 **~-~-->**AT+12VT=01140 +* Example 1: Downlink Payload: 070101F4 -> AT+3V3T=500 1141 +* Example 2: Downlink Payload: 0701FFFF -> AT+3V3T=65535 1142 +* Example 3: Downlink Payload: 070203E8 -> AT+5VT=1000 1143 +* Example 4: Downlink Payload: 07020000 -> AT+5VT=0 1144 +* Example 5: Downlink Payload: 070301F4 -> AT+12VT=500 1145 +* Example 6: Downlink Payload: 07030000 -> AT+12VT=0 928 928 1147 +1. 1148 +11. Set the all data mode 929 929 930 -== 3.4 Set the all data mode == 931 - 932 - 933 933 Feature, Set the all data mode. 934 934 935 - (% style="color:blue" %)**AT Command: AT+ALLDATAMOD**1152 +**AT Command: AT+ALLDATAMOD** 936 936 937 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 938 -|=**Command Example**|=**Function**|=**Response** 1154 +|**Command Example**|**Function**|**Response** 939 939 |AT+ALLDATAMOD=?|Show current all data mode|((( 940 940 0 1157 + 1158 + 941 941 OK 942 942 ))) 943 943 |AT+ALLDATAMOD=1|Set all data mode is 1.|OK 944 944 945 - (% style="color:blue" %)**Downlink Command: 0xAB**1163 +**Downlink Command: 0xAB** 946 946 947 947 Format: Command Code (0xAB) followed by 1 bytes. 948 948 949 -* Example 1: Downlink Payload: AB 00 950 -* Example 2: Downlink Payload: AB 01 1167 +* Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1168 +* Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 951 951 1170 +1. 1171 +11. Set the splicing payload for uplink 952 952 953 -== 3.5 Set the splicing payload for uplink == 954 - 955 - 956 956 Feature, splicing payload for uplink. 957 957 958 - (% style="color:blue" %)**AT Command: AT+DATAUP**1175 +**AT Command: AT+DATAUP** 959 959 960 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:510px" %) 961 -|=(% style="width: 154px;" %)**Command Example**|=(% style="width: 266px;" %)**Function**|=**Response** 962 -|(% style="width:154px" %)AT+DATAUP =?|(% style="width:266px" %)Show current splicing payload for uplink mode|((( 1177 +|**Command Example**|**Function**|**Response** 1178 +|AT+DATAUP =?|Show current splicing payload for uplink mode|((( 963 963 0 1180 + 1181 + 964 964 OK 965 965 ))) 966 -| (% style="width:154px" %)AT+DATAUP =0|(% style="width:266px" %)(((1184 +|AT+DATAUP =0|((( 967 967 Set splicing payload for uplink mode is 0. 1186 + 1187 + 968 968 )))|((( 969 969 OK 1190 + 1191 + 970 970 ))) 971 -|(% style="width:154px" %)AT+DATAUP =1|(% style="width:266px" %)Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK 972 -|(% style="width:154px" %)AT+DATAUP =1,20000|(% style="width:266px" %)((( 973 -Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1193 +|AT+DATAUP =1|Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|OK 1194 +|AT+DATAUP =1,20000|((( 1195 +Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1196 + 1197 + 974 974 )))|OK 975 975 976 - (% style="color:blue" %)**Downlink Command: 0xAD**1200 +**Downlink Command: 0xAD** 977 977 978 978 Format: Command Code (0xAD) followed by 1 bytes or 5 bytes. 979 979 980 -* Example 1: Downlink Payload: AD 00 981 -* Example 2: Downlink Payload: AD 01 982 -* Example 3: Downlink Payload: AD 01 00 00 14 1204 +* Example 1: Downlink Payload: AD 00 ~/~/ AT+DATAUP=0 1205 +* Example 2: Downlink Payload: AD 01 ~/~/ AT+DATAUP =1 1206 +* Example 3: Downlink Payload: AD 01 00 00 14~/~/ AT+DATAUP =1,20000 983 983 984 984 This means that the interval is set to 0x000014=20S 985 985 986 986 987 -== 3.6 Set the payload version == 1211 +1. 1212 +11. Set the payload version 988 988 989 989 Feature, Set the payload version. 990 990 991 - (% style="color:blue" %)**AT Command: AT+PAYVER**1216 +**AT Command: AT+PAYVER** 992 992 993 -(% border="1" cellspacing="4" style="background-color:#f7faff; width:437px" %) 994 -|=(% style="width: 158px;" %)**Command Example**|=(% style="width: 192px;" %)**Function**|=**Response** 995 -|(% style="width:158px" %)AT+PAYVER=?|(% style="width:192px" %)Show current payload version|((( 1218 +|**Command Example**|**Function**|**Response** 1219 +|AT+PAYVER=?|Show current payload version|((( 996 996 1 1221 + 1222 + 997 997 OK 998 998 ))) 999 -| (% style="width:158px" %)AT+PAYVER=5|(% style="width:192px" %)Set payload version is 5.|OK1225 +|AT+PAYVER=5|Set payload version is 5.|OK 1000 1000 1001 - (% style="color:blue" %)**Downlink Command: 0xAE**1227 +**Downlink Command: 0xAE** 1002 1002 1003 1003 Format: Command Code (0xAE) followed by 1 bytes. 1004 1004 1005 -* Example 1: Downlink Payload: AE 01 1006 -* Example 2: Downlink Payload: AE 05 1231 +* Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1232 +* Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1007 1007 1234 +1. Battery & how to replace 1235 +11. Battery Type 1008 1008 1009 - =4.Battery&how to replace=1237 +SDI-12-LB is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>url:https://www.dragino.com/downloads/index.php?dir=datasheet/Battery/ER26500/]]. The battery is un-rechargeable battery with low discharge rate targeting for 8~~10 years use. This type of battery is commonly used in IoT target for long-term running, such as water meter. 1010 1010 1011 -== 4.1 Battery Type == 1012 1012 1013 - 1014 -SDI-12-LB is equipped with a [[8500mAH ER26500 Li-SOCI2 battery>>https://www.dropbox.com/sh/w9l2oa3ytpculph/AAAPtt-apH4lYfCj-2Y6lHvQa?dl=0]]. The battery is un-rechargeable battery with low discharge rate targeting for 8~~10 years use. This type of battery is commonly used in IoT target for long-term running, such as water meter. 1015 - 1016 - 1017 1017 The discharge curve is not linear so can’t simply use percentage to show the battery level. Below is the battery performance. 1018 1018 1019 -[[image: 1675234124233-857.png]]1242 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image036.png]] 1020 1020 1021 1021 1022 1022 Minimum Working Voltage for the SDI-12-LB: ... ... @@ -1024,25 +1024,31 @@ 1024 1024 SDI-12-LB: 2.45v ~~ 3.6v 1025 1025 1026 1026 1027 -== 4.2 Replace Battery == 1250 +1. 1251 +11. Replace Battery 1028 1028 1029 - 1030 1030 Any battery with range 2.45 ~~ 3.6v can be a replacement. We recommend to use Li-SOCl2 Battery. 1031 1031 1032 1032 And make sure the positive and negative pins match. 1033 1033 1034 1034 1035 -== 4.3 Power Consumption Analyze == 1036 1036 1259 +1. 1260 +11. Power Consumption Analyze 1037 1037 1038 1038 Dragino Battery powered product are all runs in Low Power mode. We have an update battery calculator which base on the measurement of the real device. User can use this calculator to check the battery life and calculate the battery life if want to use different transmit interval. 1039 1039 1264 + 1040 1040 Instruction to use as below: 1041 1041 1042 -(% style="color:blue" %)**Step 1:**(%%) Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: [[https:~~/~~/www.dropbox.com/sh/zwex6i331j5oeq2/AACIMf9f_v2qsJ39CuMQ5Py_a?dl=0>>https://www.dropbox.com/sh/zwex6i331j5oeq2/AACIMf9f_v2qsJ39CuMQ5Py_a?dl=0]] 1043 1043 1044 - (% style="color:blue" %)**Step2:**(%%)Openand choose1268 +Step 1: Downlink the up-to-date DRAGINO_Battery_Life_Prediction_Table.xlsx from: 1045 1045 1270 +[[https:~~/~~/www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/>>url:https://www.dragino.com/downloads/index.php?dir=LoRa_End_Node/Battery_Analyze/]] 1271 + 1272 + 1273 +Step 2: Open it and choose 1274 + 1046 1046 * Product Model 1047 1047 * Uplink Interval 1048 1048 * Working Mode ... ... @@ -1049,47 +1049,56 @@ 1049 1049 1050 1050 And the Life expectation in difference case will be shown on the right. 1051 1051 1281 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image037.png]] 1052 1052 1053 -[[image:1675234155374-163.png]] 1054 1054 1055 - 1056 1056 The battery related documents as below: 1057 1057 1058 -* [[Battery Dimension>>http s://www.dropbox.com/s/ox5g9njwjle7aw3/LSN50-Battery-Dimension.pdf?dl=0]],1059 -* [[Lithium-Thionyl Chloride Battery datasheet, Tech Spec>>http s://www.dropbox.com/sh/d4oyfnp8o94180o/AABQewCNSh5GPeQH86UxRgQQa?dl=0]]1060 -* [[Lithium-ion Battery-Capacitor datasheet>>http s://www.dropbox.com/s/791gjes2lcbfi1p/SPC_1520_datasheet.jpg?dl=0]], [[Tech Spec>>https://www.dropbox.com/s/4pkepr9qqqvtzf2/SPC1520%20Technical%20Specification20171123.pdf?dl=0]]1286 +* [[Battery Dimension>>url:http://www.dragino.com/downloads/index.php?dir=datasheet/Battery/&file=LSN50-Battery-Dimension.pdf]], 1287 +* [[Lithium-Thionyl Chloride Battery>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/ER18505_datasheet-EN.pdf]] datasheet, [[Tech Spec>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/ER18505_datasheet_PM-ER18505-S-02-LF_EN.pdf]] 1288 +* [[Lithium-ion Battery-Capacitor datasheet>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/SPC_1520_datasheet.jpg]], [[Tech Spec>>url:http://www.dragino.com/downloads/downloads/datasheet/Battery/SPC1520%20Technical%20Specification20171123.pdf]] 1061 1061 1062 -[[image:image-20230201145019-19.png]] 1290 +|((( 1291 +JST-XH-2P connector 1292 +))) 1063 1063 1294 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image038.png]] 1064 1064 1065 -=== 4.3.1 Battery Note === 1066 1066 1067 1067 1298 +1. 1299 +11. 1300 +111. Battery Note 1301 + 1068 1068 The Li-SICO battery is designed for small current / long period application. It is not good to use a high current, short period transmit method. The recommended minimum period for use of this battery is 5 minutes. If you use a shorter period time to transmit LoRa, then the battery life may be decreased. 1069 1069 1070 1070 1071 -=== 4.3.2 Replace the battery === 1305 +1. 1306 +11. 1307 +111. Replace the battery 1072 1072 1309 +You can change the battery in the SDI-12-LB.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won’t be voltage drop between battery and main board. 1073 1073 1074 -You can change the battery in the SDI-12-LB.The type of battery is not limited as long as the output is between 3v to 3.6v. On the main board, there is a diode (D1) between the battery and the main circuit. If you need to use a battery with less than 3.3v, please remove the D1 and shortcut the two pads of it so there won't be voltage drop between battery and main board. 1075 1075 1076 -The default battery pack of SDI-12-LB includes a ER26500 plus super capacitor. If user can 't find this pack locally, they can find ER26500 or equivalence, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes)1312 +The default battery pack of SDI-12-LB includes a ER26500 plus super capacitor. If user can’t find this pack locally, they can find ER26500 or equivalence, which will also work in most case. The SPC can enlarge the battery life for high frequency use (update period below 5 minutes) 1077 1077 1078 1078 1079 -= 5. Remote Configure device = 1080 1080 1081 -== 5.1 Connect via BLE == 1082 1082 1083 1083 1084 -Please see this instruction for how to configure via BLE: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]] 1085 1085 1319 +1. Remote Configure device 1320 +11. Connect via BLE 1086 1086 1087 - ==5.2ATCommandSet==1322 +Please see this instruction for how to configure via BLE: 1088 1088 1324 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]] 1089 1089 1090 1090 1091 -= 6. OTA firmware update = 1327 +1. 1328 +11. AT Command Set 1092 1092 1330 +1. OTA firmware update 1093 1093 1094 1094 Please see this link for how to do OTA firmware update. 1095 1095 ... ... @@ -1096,58 +1096,23 @@ 1096 1096 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]] 1097 1097 1098 1098 1099 -= 7. FAQ = 1100 1100 1101 -== 7.1 How to use AT Command to access device? == 1102 1102 1103 1103 1104 -See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]] 1105 1105 1106 1106 1107 -== 7.2 How to update firmware via UART port? == 1108 1108 1109 1109 1110 -See: [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]] 1111 1111 1112 1112 1113 - == 7.3How to change the LoRa FrequencyBands/Region? ==1346 +1. Order Info 1114 1114 1348 +**Package Includes**: 1115 1115 1116 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]]. 1117 -When downloading the images, choose the required image file for download. 1350 +* SDI-12-LB SDI-12 to LoRaWAN Converter 1118 1118 1352 +**Dimension and weight**: 1119 1119 1120 -= 8. Order Info = 1121 - 1122 - 1123 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX** 1124 - 1125 -XXX: The default frequency band 1126 - 1127 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 1128 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 1129 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band 1130 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 1131 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 1132 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band 1133 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 1134 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 1135 - 1136 - 1137 - 1138 - 1139 - 1140 - 1141 - 1142 -= 9. Packing Info = 1143 - 1144 - 1145 -(% style="color:#037691" %)**Package Includes**: 1146 - 1147 -* SDI-12-LB SDI-12 to LoRaWAN Converter x 1 1148 - 1149 -(% style="color:#037691" %)**Dimension and weight**: 1150 - 1151 1151 * Device Size: cm 1152 1152 * Device Weight: g 1153 1153 * Package Size / pcs : cm ... ... @@ -1154,11 +1154,12 @@ 1154 1154 * Weight / pcs : g 1155 1155 1156 1156 1157 -= 10. Support = 1158 1158 1361 +1. Support 1159 1159 1160 1160 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule. 1364 +* Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to 1161 1161 1162 - * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to[[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]]1366 +[[support@dragino.com>>url:http://../../../../../../D:%5C%E5%B8%82%E5%9C%BA%E8%B5%84%E6%96%99%5C%E8%AF%B4%E6%98%8E%E4%B9%A6%5CLoRa%5CLT%E7%B3%BB%E5%88%97%5Csupport@dragino.com]] 1163 1163 1164 1164
- 1675234124233-857.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -75.8 KB - Content
- 1675234155374-163.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -138.2 KB - Content
- image-20230201145019-19.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -82.2 KB - Content
- image-20230201152430-20.jpeg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -16.5 KB - Content