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 (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 62 removed)
- 1675212538524-889.png
- 1675212633011-651.png
- 1675213198663-754.png
- 1675213652444-622.png
- 1675213661769-223.png
- 1675213675852-577.png
- 1675213686734-883.png
- 1675213704414-644.png
- 1675214845056-885.png
- 1675214856590-846.png
- 1675215745275-920.png
- 1675215782925-448.png
- 1675215828102-844.png
- 1675215848113-696.png
- 1675215946738-635.png
- 1675216282284-923.png
- 1675216779406-595.png
- 1675234124233-857.png
- 1675234155374-163.png
- image-20230131183542-1.jpeg
- image-20230201084414-1.png
- image-20230201090139-2.png
- image-20230201090139-3.png
- image-20230201090139-4.png
- image-20230201090528-5.png
- image-20230201091027-6.png
- image-20230201091027-7.png
- image-20230201091257-8.png
- image-20230201091257-9.png
- image-20230201091630-10.png
- image-20230201091630-11.png
- image-20230201091954-12.png
- image-20230201091954-13.png
- image-20230201092208-14.png
- image-20230201092208-15.png
- image-20230201092355-16.png
- image-20230201092355-17.png
- image-20230201094129-18.png
- image-20230201145019-19.png
- image-20230201152430-20.jpeg
- image-20230222143809-1.png
- image-20230426084456-1.png
- image-20230603120127-1.png
- image-20230603120209-2.png
- image-20230603120515-3.png
- image-20230603120648-4.png
- image-20230603120726-5.png
- image-20230603120859-6.png
- image-20230603121606-7.png
- image-20230603121643-8.png
- image-20230603121721-9.png
- image-20230603121752-10.png
- image-20230603121826-11.png
- image-20230603122040-12.png
- image-20230603122109-13.png
- image-20230603122139-14.png
- image-20230603122212-15.png
- image-20230603122248-16.png
- image-20230603122508-17.png
- image-20230603122549-18.png
- image-20230603122623-19.png
- image-20230603122719-20.png
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Saxer1 +XWiki.Xiaoling - Content
-
... ... @@ -1,1342 +1,0 @@ 1 -(% style="text-align:center" %) 2 -[[image:image-20230131183542-1.jpeg||_mstalt="470678" height="694" width="694"]] 3 - 4 -**Table of Contents:** 5 - 6 -{{toc/}} 7 - 8 - 9 - 10 - 11 - 12 - 13 - 14 - 15 - 16 - 17 - 18 - 19 - 20 -= 1. Introduction = 21 - 22 -== 1.1 What is SDI-12 to LoRaWAN Converter == 23 - 24 - 25 -((( 26 -The Dragino (% style="color:blue" %)**SDI-12-LB**(%%) is a (% style="color:blue" %)**SDI-12 to LoRaWAN Converter **(%%)designed for Smart Agriculture solution. 27 -))) 28 - 29 -((( 30 -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. 31 -))) 32 - 33 -((( 34 -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. 35 -))) 36 - 37 -((( 38 -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. 39 -))) 40 - 41 -((( 42 -SDI-12-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 43 -))) 44 - 45 -((( 46 -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. 47 -))) 48 - 49 - 50 -[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]] 51 - 52 - 53 -== 1.2 Features == 54 - 55 - 56 -* LoRaWAN 1.0.3 Class A 57 -* Ultra-low power consumption 58 -* Controllable 3.3v, 5v and 12v output to power external sensor 59 -* SDI-12 Protocol to connect to SDI-12 Sensor 60 -* Monitor Battery Level 61 -* Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 62 -* Support Bluetooth v5.1 and LoRaWAN remote configure. 63 -* Support wireless OTA update firmware 64 -* Uplink on periodically 65 -* Downlink to change configure 66 -* 8500mAh Battery for long term use 67 - 68 - 69 -== 1.3 Specification == 70 - 71 - 72 -(% style="color:#037691" %)**Micro Controller:** 73 - 74 -* MCU: 48Mhz ARM 75 -* Flash: 256KB 76 -* RAM: 64KB 77 - 78 -(% style="color:#037691" %)**Common DC Characteristics:** 79 - 80 -* Supply Voltage: 2.5v ~~ 3.6v 81 -* Support current: 5V 300mA 82 - 12V 100mA 83 -* Operating Temperature: -40 ~~ 85°C 84 - 85 -(% style="color:#037691" %)**LoRa Spec:** 86 - 87 -* Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz 88 -* Max +22 dBm constant RF output vs. 89 -* RX sensitivity: down to -139 dBm. 90 -* Excellent blocking immunity 91 - 92 -(% style="color:#037691" %)**Current Input Measuring :** 93 - 94 -* Range: 0 ~~ 20mA 95 -* Accuracy: 0.02mA 96 -* Resolution: 0.001mA 97 - 98 -(% style="color:#037691" %)**Voltage Input Measuring:** 99 - 100 -* Range: 0 ~~ 30v 101 -* Accuracy: 0.02v 102 -* Resolution: 0.001v 103 - 104 -(% style="color:#037691" %)**Battery:** 105 - 106 -* Li/SOCI2 un-chargeable battery 107 -* Capacity: 8500mAh 108 -* Self-Discharge: <1% / Year @ 25°C 109 -* Max continuously current: 130mA 110 -* Max boost current: 2A, 1 second 111 - 112 -(% style="color:#037691" %)**Power Consumption** 113 - 114 -* Sleep Mode: 5uA @ 3.3v 115 -* LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 116 - 117 - 118 -== 1.4 Connect to SDI-12 Sensor == 119 - 120 - 121 - 122 -[[image:1675212538524-889.png||_mstalt="298272"]] 123 - 124 - 125 -== 1.5 Sleep mode and working mode == 126 - 127 - 128 -(% 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. 129 - 130 -(% 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. 131 - 132 - 133 -== 1.6 Button & LEDs == 134 - 135 - 136 -[[image:1675212633011-651.png||_mstalt="291538"]] 137 - 138 - 139 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 140 -|=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action** 141 -|(% style="background-color:#f2f2f2; width:167px" %)Pressing ACT between 1s < time < 3s|(% style="background-color:#f2f2f2; width:117px" %)Send an uplink|(% style="background-color:#f2f2f2; width:225px" %)((( 142 -If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 143 -Meanwhile, BLE module will be active and user can connect via BLE to configure device. 144 -))) 145 -|(% style="background-color:#f2f2f2; width:167px" %)Pressing ACT for more than 3s|(% style="background-color:#f2f2f2; width:117px" %)Active Device|(% style="background-color:#f2f2f2; width:225px" %)((( 146 -(% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:#037691" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. 147 -(% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 148 -Once sensor is active, BLE module will be active and user can connect via BLE to configure device, no matter if device join or not join LoRaWAN network. 149 -))) 150 -|(% style="background-color:#f2f2f2; width:167px" %)Fast press ACT 5 times.|(% style="background-color:#f2f2f2; width:117px" %)Deactivate Device|(% style="background-color:#f2f2f2; width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means PS-LB-NA is in Deep Sleep Mode. 151 - 152 - 153 -== 1.7 Pin Mapping == 154 - 155 - 156 -[[image:1675213198663-754.png||_mstalt="297167"]] 157 - 158 - 159 -== 1.8 BLE connection == 160 - 161 - 162 -SDI-12-LB support BLE remote configure. 163 - 164 -BLE can be used to configure the parameter of sensor or see the console output from sensor. BLE will be only activate on below case: 165 - 166 -* Press button to send an uplink 167 -* Press button to active device. 168 -* Device Power on or reset. 169 - 170 -If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode. 171 - 172 - 173 -== 1.9 Mechanical == 174 - 175 - 176 -[[image:image-20230201090139-2.png||_mstalt="428623"]] 177 - 178 -[[image:image-20230201090139-3.png||_mstalt="428987"]] 179 - 180 -[[image:image-20230201090139-4.png||_mstalt="429351"]] 181 - 182 - 183 -= 2. Configure SDI-12 to connect to LoRaWAN network = 184 - 185 -== 2.1 How it works == 186 - 187 - 188 -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. 189 - 190 - 191 -== 2.2 Quick guide to connect to LoRaWAN server (OTAA) == 192 - 193 - 194 -Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example. 195 - 196 - 197 -[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]] 198 - 199 - 200 -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. 201 - 202 - 203 -(% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB. 204 - 205 -Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 206 - 207 - 208 -[[image:image-20230426084456-1.png||height="241" width="519"]] 209 - 210 - 211 -You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 212 - 213 - 214 -(% style="color:blue" %)**Register the device** 215 - 216 -[[image:1675213652444-622.png||_mstalt="293657"]] 217 - 218 - 219 -(% style="color:blue" %)**Add APP EUI and DEV EUI** 220 - 221 - 222 -[[image:1675213661769-223.png||_mstalt="295217"]] 223 - 224 - 225 -(% style="color:blue" %)**Add APP EUI in the application** 226 - 227 - 228 -[[image:1675213675852-577.png||_mstalt="297947"]] 229 - 230 - 231 -(% style="color:blue" %)**Add APP KEY** 232 - 233 -[[image:1675213686734-883.png||_mstalt="298064"]] 234 - 235 - 236 -(% style="color:blue" %)**Step 2**(%%): Activate on SDI-12-LB 237 - 238 - 239 -Press the button for 5 seconds to activate the SDI-12-LB. 240 - 241 -(% 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. 242 - 243 - 244 -[[image:1675213704414-644.png||_mstalt="293748"]] 245 - 246 - 247 -== 2.3 SDI-12 Related Commands == 248 - 249 - 250 -User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes. 251 - 252 - 253 -=== 2.3.1 Basic SDI-12 debug command === 254 - 255 - 256 -User can run some basic SDI-12 command to debug the connection to the SDI-12 sensor. These commands can be sent via AT Command or LoRaWAN downlink command. 257 - 258 -If SDI-12 sensor return value after get these commands, //SDI-12-LB// will uplink the return on FPORT=100, otherwise, if there is no response from SDI-12 sensor. //SDI-12-LB// will uplink NULL (0x 4E 55 4C 4C) to server. 259 - 260 -The following is the display information on the serial port and the server. 261 - 262 - 263 -[[image:image-20230201091027-6.png||_mstalt="429065"]] 264 - 265 - 266 -[[image:image-20230201091027-7.png||_mstalt="429429" height="261" width="1179"]] 267 - 268 - 269 - 270 -==== (% style="color:blue" %)**al! ~-~- Get SDI-12 sensor Identification**(%%) ==== 271 - 272 - 273 -* AT Command: AT+ADDRI=aa 274 -* LoRaWAN Downlink(prefix 0xAA00): AA 00 aa 275 - 276 -(% style="color:#037691" %)**Parameter: **(%%)aa: ASCII value of SDI-12 sensor address in downlink or HEX value in AT Command) 277 - 278 -(% style="color:blue" %)**Example : **(%%)AT+ADDRI=0 ( Equal to downlink: 0x AA 00 30) 279 - 280 - 281 -The following is the display information on the serial port and the server. 282 - 283 - 284 -[[image:image-20230201091257-8.png||_mstalt="431392"]] 285 - 286 - 287 -[[image:image-20230201091257-9.png||_mstalt="431756" height="225" width="1242"]] 288 - 289 - 290 -==== (% style="color:blue" %)**aM!,aMC!, aM1!- aM9!, aMC1!- aMC9!**(%%) ==== 291 - 292 - 293 -(% style="color:red" %)**aM! **(%%): Start Non-Concurrent Measurement 294 - 295 -(% style="color:red" %)**aMC! **(%%): Start Non-Concurrent Measurement – Request CRC 296 - 297 -(% style="color:red" %)**aM1!- aM9! **(%%): Additional Measurements 298 - 299 -(% style="color:red" %)**aMC1!- aMC9!**(%%) : Additional Measurements – Request CRC 300 - 301 - 302 -* AT Command : AT+ADDRM=0,1,0,1 303 - 304 -* LoRaWAN Downlink(prefix 0xAA01): 0xAA 01 30 01 00 01 305 - 306 -Downlink:AA 01 aa bb cc dd 307 - 308 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address. 309 - 310 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC 311 - 312 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 313 - 314 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return. 315 - 316 - 317 -The following is the display information on the serial port and the server. 318 - 319 - 320 -[[image:image-20230201091630-10.png||_mstalt="449995"]] 321 - 322 - 323 -[[image:image-20230201091630-11.png||_mstalt="450372" height="247" width="1165"]] 324 - 325 - 326 - 327 -==== (% style="color:blue" %)**aC!, aCC!, aC1!- aC9!, aCC1!- aCC9! **(%%) ==== 328 - 329 - 330 -(% style="color:red" %)**aC!**(%%) : Start Concurrent Measurement 331 - 332 -(% style="color:red" %)**aCC!** (%%): Start Concurrent Measurement – Request CRC 333 - 334 -(% style="color:red" %)**aC1!- aC9!**(%%) : Start Additional Concurrent Measurements 335 - 336 -(% style="color:red" %)**aCC1!- aCC9!**(%%) : Start Additional Concurrent Measurements – Request CRC 337 - 338 - 339 -* AT Command : AT+ADDRC=0,1,0,1 340 - 341 -* LoRaWAN Downlink(0xAA02): 0xAA 02 30 01 00 01 342 - 343 -Downlink: AA 02 aa bb cc dd 344 - 345 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address. 346 - 347 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC 348 - 349 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 350 - 351 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%)__ __to get return. 352 - 353 - 354 -The following is the display information on the serial port and the server. 355 - 356 - 357 -[[image:image-20230201091954-12.png||_mstalt="453687"]] 358 - 359 - 360 -[[image:image-20230201091954-13.png||_mstalt="454064" height="203" width="1117"]] 361 - 362 - 363 - 364 - 365 -==== (% style="color:blue" %)**aR0!- aR9!, aRC0!- aRC9!**(%%) ==== 366 - 367 - 368 -Start Continuous Measurement 369 - 370 -Start Continuous Measurement – Request CRC 371 - 372 - 373 -* AT Command : AT+ADDRR=0,1,0,1 374 -* LoRaWAN Downlink (0xAA 03): 0xAA 03 30 01 00 01 375 - 376 -Downlink: AA 03 aa bb cc dd 377 - 378 -(% style="color:#037691" %)**aa**(%%): SDI-12 sensor address. 379 - 380 -(% style="color:#037691" %)**bb**(%%): 0: no CRC, 1: request CRC 381 - 382 -(% style="color:#037691" %)**cc**(%%): 1-9: Additional Measurement, 0: no additional measurement 383 - 384 -(% style="color:#037691" %)**dd**(%%): delay (in second) to send (% style="color:#037691" %)__**aD0!**__(%%) to get return. 385 - 386 - 387 -The following is the display information on the serial port and the server. 388 - 389 - 390 -[[image:image-20230201092208-14.png||_mstalt="452283"]] 391 - 392 - 393 -[[image:image-20230201092208-15.png||_mstalt="452660" height="214" width="1140"]] 394 - 395 - 396 -=== 2.3.2 Advance SDI-12 Debug command === 397 - 398 - 399 -This command can be used to debug all SDI-12 command. 400 - 401 - 402 -LoRaWAN Downlink: A8 aa xx xx xx xx bb cc dd 403 - 404 -(% style="color:#037691" %)**aa **(%%): total SDI-12 command length 405 - 406 -(% style="color:#037691" %)**xx **(%%): SDI-12 command 407 - 408 -(% style="color:#037691" %)**bb **(%%): Delay to wait for return 409 - 410 -(% style="color:#037691" %)**cc **(%%): 0: don't uplink return to LoRaWAN, 1: Uplink return to LoRaWAN on FPORT=100 411 - 412 -(% style="color:#037691" %)**dd: **(%%) 0: Do not use aD0! command access, 1: use aD0! command access. 413 - 414 - 415 -(% style="color:blue" %)**Example1: **(%%) AT+CFGDEV =0RC0!,1 416 - 417 -(% style="color:#037691" %)**0RC0! **(%%): SDI-12 Command, 418 - 419 -(% style="color:#037691" %)**1 **(%%): Delay 1 second. ( 0: 810 mini-second) 420 - 421 -Equal Downlink: 0xA8 05 30 52 43 30 21 01 01 422 - 423 - 424 -The following is the display information on the serial port and the server. 425 - 426 - 427 -[[image:image-20230201092355-16.png||_mstalt="453960"]] 428 - 429 - 430 -[[image:image-20230201092355-17.png||_mstalt="454337" height="426" width="1135"]] 431 - 432 - 433 -(% style="color:blue" %)**Example2: **(%%) AT+CFGDEV =0M!,1,1 or AT+CFGDEV =0C!,1,1 434 - 435 -(% style="color:#037691" %)**0M! **(%%): SDI-12 Command, 436 - 437 -(% style="color:#037691" %)**1 **(%%): Delay 1 second. ( 0: 810 mini-second) 438 - 439 -(% style="color:#037691" %)**1 **(%%):Use aD0! command access. 440 - 441 -Equal Downlink: 0xA8 03 30 4D 21 01 01 01 442 - 443 - 444 -=== 2.3.3 Convert ASCII to String === 445 - 446 - 447 -This command is used to convert between ASCII and String format. 448 - 449 -AT+CONVFORM ( Max length: 80 bytes) 450 - 451 - 452 -(% style="color:blue" %)**Example:** 453 - 454 -1) AT+CONVFORM=0, string Convert String from String to ASCII 455 - 456 -[[image:1675214845056-885.png||_mstalt="297622"]] 457 - 458 - 459 -2) AT+CONVFORM=1, ASCII Convert ASCII to String. 460 - 461 -[[image:1675214856590-846.png||_mstalt="297739"]] 462 - 463 - 464 -=== 2.3.4 Define periodically SDI-12 commands and uplink. === 465 - 466 - 467 -AT+COMMANDx & AT+DATACUTx 468 - 469 -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. 470 - 471 - 472 -* (% style="color:blue" %)**AT Command:** 473 - 474 -(% style="color:#037691" %)**AT+COMMANDx=var1,var2,var3,var4.** 475 - 476 -(% style="color:red" %)**var1**(%%): SDI-12 command , for example: 0RC0! 477 - 478 -(% style="color:red" %)**var2**(%%): Wait timeout for return. (unit: second) 479 - 480 -(% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 481 - 482 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries. 483 - 484 -(% style="color:red" %)**0 **(%%) No validation check; 485 - 486 -(% style="color:red" %)**1** (%%) Check if return chars are printable char(0x20 ~~ 0x7E); 487 - 488 -(% style="color:red" %)**2**(%%) Check if there is return from SDI-12 sensor 489 - 490 -(% style="color:red" %)**3** (%%) Check if return pass CRC check ( SDI-12 command var1 must include CRC request); 491 - 492 - 493 -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. 494 - 495 - 496 -(% style="color:blue" %)**AT+DATACUTx**(%%) : This command defines how to handle the return from AT+COMMANDx, max return length is 100 bytes. 497 - 498 -(% border="1" style="width:436px" %) 499 -|(% style="background-color:#f2f2f2; width:433px" %)((( 500 -(% style="color:#0070c0" %)**AT+DATACUTx=a,b,c** 501 - 502 -**a**: length for the return of AT+COMMAND 503 - 504 -**b**: 1: grab valid value by byte, max 6 bytes. 2: grab valid value by bytes section, max 3 sections. 505 - 506 -**c**: define the position for valid value. 507 -))) 508 - 509 -For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload: 510 - 511 - 512 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 513 -|=(% style="width: 164px;background-color:#D9E2F3;color:#0070C0" %)**AT+DATACUT1 value**|=(% style="width: 344px;background-color:#D9E2F3;color:#0070C0" %)**Final Result to combine Payload** 514 -|(% style="background-color:#f2f2f2; width:164px" %)34,1,1+2+3|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33 515 -|(% style="background-color:#f2f2f2; width:164px" %)34,2,1~~8+12~~16|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33 4D 45 54 45 52 54 45 52 31 32 516 -|(% style="background-color:#f2f2f2; width:164px" %)34,2,1~~34|(% style="background-color:#f2f2f2; width:344px" %)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 517 - 518 -* (% style="color:blue" %)** Downlink Payload:** 519 - 520 -(% style="color:blue" %)**0xAF**(%%) downlink command can be used to set AT+COMMANDx or AT+DATACUTx. 521 - 522 - 523 -(% style="color:red" %)**Note : if user use AT+COMMANDx to add a new command, he also need to send AT+DATACUTx downlink.** 524 - 525 - 526 -Format: ** (% style="color:#037691" %)AF MM NN LL XX XX XX XX YY(%%)** 527 - 528 -Where: 529 - 530 -* (% style="color:#037691" %)**MM **(%%): the AT+COMMAND or AT+DATACUT to be set. Value from 01 ~~ 0F, 531 -* (% style="color:#037691" %)**NN **(%%): 1: set the AT+COMMAND value ; 2: set the AT+DATACUT value. 532 -* (% style="color:#037691" %)**LL **(%%): The length of AT+COMMAND or AT+DATACUT command 533 -* (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command 534 -* (% style="color:#037691" %)**YY **(%%): If YY=0, SDI-12-LB will execute the downlink command without uplink; if YY=1, SDI-12-LB will execute an uplink after got this command. 535 - 536 -(% style="color:blue" %)**Example:** 537 - 538 -[[image:image-20230201094129-18.png||_mstalt="455065"]] 539 - 540 - 541 - 542 -(% style="color:blue" %)**Clear SDI12 Command** 543 - 544 -The AT+COMMANDx and AT+DATACUTx settings are stored in special location, user can use below command to clear them. 545 - 546 - 547 -* (% style="color:#037691" %)**AT Command:** 548 - 549 -(% style="color:#4f81bd" %)**AT+CMDEAR=mm,nn** (%%) mm: start position of erase ,nn: stop position of erase 550 - 551 - 552 -Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 553 - 554 - 555 -* (% style="color:#037691" %)** Downlink Payload:** 556 - 557 -(% style="color:#4f81bd" %)**0x09 aa bb**(%%) same as AT+CMDEAR=aa,bb 558 - 559 - 560 - 561 -(% style="color:blue" %)**command combination** 562 - 563 -Below shows a screen shot how the results combines together to a uplink payload. 564 - 565 -[[image:1675215745275-920.png||_mstalt="295334"]] 566 - 567 - 568 -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. 569 - 570 -(% 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. 571 - 572 - 573 -(% 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. 574 - 575 - 576 -[[image:1675215782925-448.png||_mstalt="297466"]] 577 - 578 - 579 -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. 580 - 581 - 582 - 583 -(% style="color:blue" %)**Compose Uplink** 584 - 585 -(% style="color:#4f81bd" %)**AT+DATAUP=0** 586 - 587 -Compose the uplink payload with value returns in sequence and send with **__A SIGNLE UPLINK__**. 588 - 589 -Final Payload is **__Battery Info+PAYVER + VALID Value from RETURN1 + Valid Value from RETURN2 + … + RETURNx__** 590 - 591 -Where PAYVER is defined by AT+PAYVER, below is an example screen shot. 592 - 593 - 594 -[[image:1675215828102-844.png||_mstalt="294645"]] 595 - 596 - 597 -(% style="color:#4f81bd" %)**AT+DATAUP=1** 598 - 599 -Compose the uplink payload with value returns in sequence and send with **__Multiply UPLINKs__**. 600 - 601 -Final Payload is __**Battery Info+PAYVER + PAYLOAD COUNT + PAYLOAD# + DATA**__ 602 - 603 -1. Battery Info (2 bytes): Battery voltage 604 -1. PAYVER (1 byte): Defined by AT+PAYVER 605 -1. PAYLOAD COUNT (1 byte): Total how many uplinks of this sampling. 606 -1. PAYLOAD# (1 byte): Number of this uplink. (from 0,1,2,3…,to PAYLOAD COUNT) 607 -1. DATA: Valid value: max 6 bytes(US915 version here, Notice*!) for each uplink so each uplink <= 11 bytes. For the last uplink, DATA will might less than 6 bytes 608 - 609 -[[image:1675215848113-696.png||_mstalt="296998"]] 610 - 611 - 612 -(% style="color:red" %)**Notice: the Max bytes is according to the max support bytes in different Frequency Bands for lowest SF. As below:** 613 - 614 -* For AU915/AS923 bands, if UplinkDwell time=0, max 51 bytes for each uplink ( so 51 -5 = 46 max valid date) 615 -* For AU915/AS923 bands, if UplinkDwell time=1, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 616 -* For US915 band, max 11 bytes for each uplink ( so 11 -5 = 6 max valid date). 617 -* For all other bands: max 51 bytes for each uplink ( so 51 -5 = 46 max valid date). 618 - 619 -(% style="color:red" %)**When AT+DATAUP=1, the maximum number of segments is 15, and the maximum total number of bytes is 1500;** 620 - 621 -(% 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.** 622 - 623 - 624 -== 2.4 Uplink Payload == 625 - 626 -=== 2.4.1 Device Payload, FPORT~=5 === 627 - 628 - 629 -Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server. 630 - 631 -Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 632 - 633 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 634 -|(% colspan="6" style="background-color:#d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)** 635 -|(% style="background-color:#f2f2f2; width:103px" %)**Size (bytes)**|(% style="background-color:#f2f2f2; width:72px" %)**1**|(% style="background-color:#f2f2f2" %)**2**|(% style="background-color:#f2f2f2; width:91px" %)**1**|(% style="background-color:#f2f2f2; width:86px" %)**1**|(% style="background-color:#f2f2f2; width:44px" %)**2** 636 -|(% style="background-color:#f2f2f2; width:103px" %)**Value**|(% style="background-color:#f2f2f2; width:72px" %)Sensor Model|(% style="background-color:#f2f2f2" %)Firmware Version|(% style="background-color:#f2f2f2; width:91px" %)Frequency Band|(% style="background-color:#f2f2f2; width:86px" %)Sub-band|(% style="background-color:#f2f2f2; width:44px" %)BAT 637 - 638 -Example parse in TTNv3 639 - 640 -[[image:1675215946738-635.png||_mstalt="297778"]] 641 - 642 - 643 -(% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17 644 - 645 -(% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 646 - 647 -(% style="color:#037691" %)**Frequency Band**: 648 - 649 -*0x01: EU868 650 - 651 -*0x02: US915 652 - 653 -*0x03: IN865 654 - 655 -*0x04: AU915 656 - 657 -*0x05: KZ865 658 - 659 -*0x06: RU864 660 - 661 -*0x07: AS923 662 - 663 -*0x08: AS923-1 664 - 665 -*0x09: AS923-2 666 - 667 -*0x0a: AS923-3 668 - 669 -*0x0b: CN470 670 - 671 -*0x0c: EU433 672 - 673 -*0x0d: KR920 674 - 675 -*0x0e: MA869 676 - 677 - 678 -(% style="color:#037691" %)**Sub-Band**: 679 - 680 -AU915 and US915:value 0x00 ~~ 0x08 681 - 682 -CN470: value 0x0B ~~ 0x0C 683 - 684 -Other Bands: Always 0x00 685 - 686 - 687 -(% style="color:#037691" %)**Battery Info**: 688 - 689 -Check the battery voltage. 690 - 691 -Ex1: 0x0B45 = 2885mV 692 - 693 -Ex2: 0x0B49 = 2889mV 694 - 695 - 696 -=== 2.4.2 Uplink Payload, FPORT~=2 === 697 - 698 - 699 -There are different cases for uplink. See below 700 - 701 -* SDI-12 Debug Command return: FPORT=100 702 - 703 -* Periodically Uplink: FPORT=2 704 - 705 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:500px" %) 706 -|=(% style="width: 90px;background-color:#D9E2F3" %)((( 707 -**Size(bytes)** 708 -)))|=(% style="width: 80px;background-color:#D9E2F3" %)**2**|=(% style="width: 90px;background-color:#D9E2F3" %)**1**|=(% style="width: 240px;background-color:#D9E2F3" %)**Length depends on the return from the commands** 709 -|(% style="width:93px" %)**Value**|(% style="width:83px" %)((( 710 -Battery(mV) 711 -& 712 -Interrupt_Flag 713 -)))|(% style="width:91px" %)[[PAYLOAD_VER>>||anchor="H3.6Setthepayloadversion"]]|(% style="width:212px" %)((( 714 -If the valid payload is too long and exceed the maximum support. 715 -Payload length in server,server will show payload not provided in the LoRaWAN server. 716 -))) 717 - 718 -[[image:1675216282284-923.png||_mstalt="295633"]] 719 - 720 - 721 -=== 2.4.3 Battery Info === 722 - 723 - 724 -Check the battery voltage for SDI-12-LB. 725 - 726 -Ex1: 0x0B45 = 2885mV 727 - 728 -Ex2: 0x0B49 = 2889mV 729 - 730 - 731 -=== 2.4.4 Interrupt Pin === 732 - 733 - 734 -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"]]. 735 - 736 -**Example:** 737 - 738 -Ex1: 0x0B45:0x0B&0x80= 0x00 Normal uplink packet. 739 - 740 -Ex2: 0x8B49:0x8B&0x80= 0x80 Interrupt Uplink Packet. 741 - 742 - 743 -=== 2.4.5 Payload version === 744 - 745 - 746 -The version number of the payload, mainly used for decoding. The default is 01. 747 - 748 - 749 -=== 2.4.6 Decode payload in The Things Network === 750 - 751 - 752 -While using TTN network, you can add the payload format to decode the payload. 753 - 754 -[[image:1675216779406-595.png||_mstalt="298376"]] 755 - 756 - 757 -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. 758 - 759 -SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 760 - 761 - 762 -== 2.5 Uplink Interval == 763 - 764 - 765 -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: 766 - 767 -[[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]] 768 - 769 - 770 -== 2.6 Examples To Set SDI commands == 771 - 772 -=== 2.6.1 Examples 1 ~-~- General Example === 773 - 774 - 775 -COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication. 776 - 777 -[[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]] 778 - 779 - 780 -(% style="color:blue" %)**1) The AT+COMMANDx command is applied to the red arrow part, and sends the SDI12 command to the SDI12 sensor:** 781 - 782 -a. Send the first command and get the first reply: 783 - 784 -(% style="color:#037691" %)**AT+COMMANDx=1I!,0,0,1** 785 - 786 -b. Send the second command and get the second reply: 787 - 788 -(% style="color:#037691" %)**AT+COMMANDx=2I!,0,0,1** 789 - 790 -c. Send the third command and get the third reply: 791 - 792 -(% style="color:#037691" %)**AT+COMMANDx=3I!,0,0,1** 793 - 794 -d. Send the fourth command and get the fourth reply: 795 - 796 -(% style="color:#037691" %)**AT+COMMANDx=4I!,0,0,1** 797 - 798 -e. Send the fifth command plus the sixth command, get the sixth reply: 799 - 800 -(% style="color:#037691" %)**AT+COMMANDx=1M!,2,1,1** 801 - 802 -f. Send the seventh command plus the eighth command, get the eighth reply: 803 - 804 -(% style="color:#037691" %)**AT+COMMANDx=2M!,2,1,1** 805 - 806 -g. Send the ninth command plus the tenth command, get the tenth reply: 807 - 808 -(% style="color:#037691" %)**AT+COMMANDx=3M!,1,1,1** 809 - 810 -h. Send the eleventh command plus the twelfth command, get the twelfth reply: 811 - 812 -(% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1** 813 - 814 - 815 -(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:** 816 - 817 -a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 818 - 819 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %); 820 - 821 -b. The sixth reply, all 31 characters:”1+19210+1.04+0.00+22.49+11.75<CR><LF>” 822 - 823 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 824 - 825 -c. The eighth reply, all 31 characters:”2+18990+1.08+0.00+22.24+11.80<CR><LF>” 826 - 827 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 828 - 829 -d. The tenth reply, all 15 characters:”3-2919.8+24.0<CR><LF>” 830 - 831 -Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %); 832 - 833 -e. The twelfth reply, all 25 characters:”4+30.8+22.84+4.7+954.38<CR><LF>” 834 - 835 -Partial cut, the cut sensor address and the first two parameters:(% style="color:#037691" %)**AT+DATACUTx=25,2,1~~12, cut out the character field ” 4+30.8+22.84”**. 836 - 837 - 838 -=== 2.6.2 Example 2 ~-~- Connect to Hygrovue10 === 839 - 840 -==== 2.6.2.1 Reference Manual and Command ==== 841 - 842 - 843 -* [[Hygrovue10 Product Page>>https://www.campbellsci.com/hygrovue10]] 844 - 845 -* Commands to be used in PC and output. 846 - 847 -~1. check device address 848 - 849 -2. change device address 850 - 851 -3. check device ID 852 - 853 -4. start measure 854 - 855 -5. Get Meausre result 856 - 857 -[[image:image-20230603120209-2.png||height="281" width="267"]] 858 - 859 - 860 -==== 2.6.2.2 Hardware Connection to SDI-12-LB ==== 861 - 862 - 863 -[[image:image-20230603120515-3.png]] 864 - 865 - 866 -==== 2.6.2.3 Commands set in SDI-12-LB and uplink payload ==== 867 - 868 - 869 -[[image:image-20230603120648-4.png]] 870 - 871 -[[image:image-20230603120726-5.png]] 872 - 873 - 874 -**Data in TTN:** 875 - 876 -[[image:image-20230603120859-6.png||height="118" width="1285"]] 877 - 878 - 879 -=== (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.3 Example 3 ~-~- Connect to SIL-400 === 880 - 881 -==== 2.6.3.1 Reference Manual and Command ==== 882 - 883 - 884 -* [[SIL-400 Product Page>>https://www.apogeeinstruments.com/sil-411-commercial-grade-sdi-12-digital-output-standard-field-of-view-infrared-radiometer-sensor/]] 885 - 886 -* Commands to be used in PC and output. 887 - 888 -~1. check device address 889 - 890 -2. change device address 891 - 892 -3. check device ID 893 - 894 -4. start measure 895 - 896 -5. Get Meausre result 897 - 898 -[[image:image-20230603121606-7.png||height="242" width="307"]] 899 - 900 - 901 -==== 2.6.3.2 Hardware Connection to SDI-12-LB ==== 902 - 903 - 904 -[[image:image-20230603121643-8.png||height="442" width="656"]] 905 - 906 - 907 -==== 2.6.3.3 Commands set in SDI-12-LB and uplink payload ==== 908 - 909 - 910 -[[image:image-20230603121721-9.png]] 911 - 912 -[[image:image-20230603121752-10.png]] 913 - 914 -Data in TTN: 915 - 916 -[[image:image-20230603121826-11.png||height="155" width="1104"]] 917 - 918 - 919 - 920 -=== (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.4 Example 4 ~-~- Connect to TEROS-12 === 921 - 922 -==== 2.6.4.1 Reference Manual and Command ==== 923 - 924 - 925 -* [[TEROS-12 Product Page>>https://www.metergroup.com/en/meter-environment/products/teros-12-soil-moisture-sensor]] 926 - 927 -* Commands to be used in PC and output. 928 - 929 -1.check device address 930 - 931 -2.change device address 932 - 933 -3.check device ID 934 - 935 -4.start measure 936 - 937 -5.Get Meausre result 938 - 939 -[[image:image-20230603122248-16.png||height="196" width="198"]] 940 - 941 - 942 -==== 2.6.4.2 Hardware Connection to SDI-12-LB ==== 943 - 944 - 945 -[[image:image-20230603122212-15.png||height="502" width="667"]] 946 - 947 - 948 -==== 2.6.4.3 Commands set in SDI-12-LB and uplink payload ==== 949 - 950 -[[image:image-20230603122040-12.png]] 951 - 952 -[[image:image-20230603122109-13.png||height="469" width="762"]] 953 - 954 - 955 -**Data in TTN:** 956 - 957 -[[image:image-20230603122139-14.png||height="148" width="1128"]] 958 - 959 - 960 -=== (% id="cke_bm_1489640S" style="display:none" %) (% id="cke_bm_1172015S" style="display:none" %) (%%)2.6.5 Example 5 ~-~- Connect to SIL-400/TEROS-12 & Hygrovue10 === 961 - 962 -==== 2.6.5.1 Important Notice! ==== 963 - 964 - 965 -* The product page and reference command see above example 2,3,4 966 - 967 -* All of these SDI-12 sensors use the same address (address 0) by default. So we need to change their address to different address, by using **aAb!** command. See above example. 968 - 969 -* The sensor needs to be powered to a steady statue. So the 12VT time need to be set to the maximum stable time for the sensors. in this example, it is 13 seconds. 970 - 971 -* If these SDI-12 sensors are powered by external power source. It will add 300uA in the total current in SDI-12-LB. 972 - 973 - 974 -==== 2.6.5.2 Hardware Connection to SDI-12-LB ==== 975 - 976 - 977 -[[image:image-20230603122508-17.png||height="526" width="742"]] 978 - 979 - 980 -==== 2.6.5.3 Commands set in SDI-12-LB and uplink payload ==== 981 - 982 - 983 -[[image:image-20230603122549-18.png]] 984 - 985 -[[image:image-20230603122623-19.png||height="483" width="1121"]] 986 - 987 - 988 -**Data in TTN:** 989 - 990 -[[image:image-20230603122719-20.png||height="151" width="1179"]] 991 - 992 - 993 -== 2.7 Frequency Plans == 994 - 995 - 996 -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. 997 - 998 -[[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/]] 999 - 1000 - 1001 -== 2.8 Firmware Change Log == 1002 - 1003 - 1004 -**Firmware download link:** 1005 - 1006 -[[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]] 1007 - 1008 - 1009 -= 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = 1010 - 1011 - 1012 -Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink. 1013 - 1014 -* AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]]. 1015 -* LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 1016 - 1017 -There are two kinds of commands to configure SDI-12-LB, they are: 1018 - 1019 -* (% style="color:blue" %)**General Commands**. 1020 - 1021 -These commands are to configure: 1022 - 1023 -* General system settings like: uplink interval. 1024 -* LoRaWAN protocol & radio related command. 1025 - 1026 -They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki: 1027 - 1028 -[[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/]] 1029 - 1030 - 1031 -* (% style="color:blue" %)**Commands special design for SDI-12-LB** 1032 - 1033 -These commands only valid for SDI-12-LB, as below: 1034 - 1035 - 1036 -== 3.1 Set Transmit Interval Time == 1037 - 1038 - 1039 -Feature: Change LoRaWAN End Node Transmit Interval. 1040 - 1041 -(% style="color:blue" %)**AT Command: AT+TDC** 1042 - 1043 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1044 -|=(% style="width: 160px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 160px; background-color: rgb(217, 226, 243); color: rgb(0, 112, 192);" %)**Function**|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1045 -|(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)((( 1046 -30000 1047 -OK 1048 -the interval is 30000ms = 30s 1049 -))) 1050 -|(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=60000|(% style="background-color:#f2f2f2; width:166px" %)Set Transmit Interval|(% style="background-color:#f2f2f2" %)((( 1051 -OK 1052 -Set transmit interval to 60000ms = 60 seconds 1053 -))) 1054 - 1055 -(% style="color:blue" %)**Downlink Command: 0x01** 1056 - 1057 - 1058 -Format: Command Code (0x01) followed by 3 bytes time value. 1059 - 1060 -If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01. 1061 - 1062 -* Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds 1063 -* Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds 1064 - 1065 - 1066 -== 3.2 Set Interrupt Mode == 1067 - 1068 - 1069 -Feature, Set Interrupt mode for GPIO_EXIT. 1070 - 1071 -(% style="color:blue" %)**AT Command: AT+INTMOD** 1072 - 1073 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1074 -|=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 157px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1075 -|(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)((( 1076 -0 1077 -OK 1078 -the mode is 0 =Disable Interrupt 1079 -))) 1080 -|(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=2|(% style="background-color:#f2f2f2; width:196px" %)((( 1081 -Set Transmit Interval 1082 -0. (Disable Interrupt), 1083 -~1. (Trigger by rising and falling edge) 1084 -2. (Trigger by falling edge) 1085 -3. (Trigger by rising edge) 1086 -)))|(% style="background-color:#f2f2f2; width:157px" %)OK 1087 - 1088 -(% style="color:blue" %)**Downlink Command: 0x06** 1089 - 1090 -Format: Command Code (0x06) followed by 3 bytes. 1091 - 1092 -This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06. 1093 - 1094 -* Example 1: Downlink Payload: 06000000 ~/~/ Turn off interrupt mode 1095 -* Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 1096 - 1097 - 1098 -== 3.3 Set the output time == 1099 - 1100 - 1101 -Feature, Control the output 3V3 , 5V or 12V. 1102 - 1103 -(% style="color:blue" %)**AT Command: AT+3V3T** 1104 - 1105 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:474px" %) 1106 -|=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 201px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 116px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1107 -|(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)((( 1108 -0 1109 -OK 1110 -))) 1111 -|(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=0|(% style="background-color:#f2f2f2; width:201px" %)Normally open 3V3 power supply.|(% style="background-color:#f2f2f2; width:116px" %)((( 1112 -OK 1113 -default setting 1114 -))) 1115 -|(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=1000|(% style="background-color:#f2f2f2; width:201px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2; width:116px" %)((( 1116 -OK 1117 -))) 1118 -|(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=65535|(% style="background-color:#f2f2f2; width:201px" %)Normally closed 3V3 power supply.|(% style="background-color:#f2f2f2; width:116px" %)((( 1119 -OK 1120 -))) 1121 - 1122 -(% style="color:blue" %)**AT Command: AT+5VT** 1123 - 1124 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:470px" %) 1125 -|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 114px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1126 -|(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2; width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2; width:114px" %)((( 1127 -0 1128 -OK 1129 -))) 1130 -|(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=0|(% style="background-color:#f2f2f2; width:196px" %)Normally closed 5V power supply.|(% style="background-color:#f2f2f2; width:114px" %)((( 1131 -OK 1132 -default setting 1133 -))) 1134 -|(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=1000|(% style="background-color:#f2f2f2; width:196px" %)Close after a delay of 1000 milliseconds.|(% style="background-color:#f2f2f2; width:114px" %)((( 1135 -OK 1136 -))) 1137 -|(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=65535|(% style="background-color:#f2f2f2; width:196px" %)Normally open 5V power supply.|(% style="background-color:#f2f2f2; width:114px" %)((( 1138 -OK 1139 -))) 1140 - 1141 -(% style="color:blue" %)**AT Command: AT+12VT ** 1142 - 1143 -(% style="color:blue" %)**(The v1.2 version is enabled for 1 second by default, and the version below v1.2 is disabled by default)** 1144 - 1145 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %) 1146 -|=(% style="width: 156px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 199px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 83px;background-color:#D9E2F3;color:#0070C0" %)**Response** 1147 -|(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)((( 1148 -0 1149 -OK 1150 -))) 1151 -|(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=0|(% style="background-color:#f2f2f2; width:199px" %)Normally closed 12V power supply.|(% style="background-color:#f2f2f2; width:83px" %)OK 1152 -|(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=500|(% style="background-color:#f2f2f2; width:199px" %)Close after a delay of 500 milliseconds.|(% style="background-color:#f2f2f2; width:83px" %)((( 1153 -OK 1154 -))) 1155 - 1156 -(% style="color:blue" %)**Downlink Command: 0x07** 1157 - 1158 -Format: Command Code (0x07) followed by 3 bytes. 1159 - 1160 -The first byte is which power, the second and third bytes are the time to turn on. 1161 - 1162 -* Example 1: Downlink Payload: 070101F4 **~-~-->** AT+3V3T=500 1163 -* Example 2: Downlink Payload: 0701FFFF **~-~-->** AT+3V3T=65535 1164 -* Example 3: Downlink Payload: 070203E8 **~-~-->** AT+5VT=1000 1165 -* Example 4: Downlink Payload: 07020000 **~-~-->** AT+5VT=0 1166 -* Example 5: Downlink Payload: 070301F4 **~-~-->** AT+12VT=500 1167 -* Example 6: Downlink Payload: 07030000 **~-~-->** AT+12VT=0 1168 - 1169 - 1170 -== 3.4 Set the all data mode == 1171 - 1172 - 1173 -Feature, Set the all data mode. 1174 - 1175 -(% style="color:blue" %)**AT Command: AT+ALLDATAMOD** 1176 - 1177 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %) 1178 -|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response** 1179 -|(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=?|(% style="background-color:#f2f2f2" %)Show current all data mode|(% style="background-color:#f2f2f2" %)((( 1180 -0 1181 -OK 1182 -))) 1183 -|(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=1|(% style="background-color:#f2f2f2" %)Set all data mode is 1.|(% style="background-color:#f2f2f2" %)OK 1184 - 1185 -(% style="color:blue" %)**Downlink Command: 0xAB** 1186 - 1187 -Format: Command Code (0xAB) followed by 1 bytes. 1188 - 1189 -* Example 1: Downlink Payload: AB 00 ~/~/ AT+ALLDATAMOD=0 1190 -* Example 2: Downlink Payload: AB 01 ~/~/ AT+ALLDATAMOD=1 1191 - 1192 - 1193 -== 3.5 Set the splicing payload for uplink == 1194 - 1195 - 1196 -Feature, splicing payload for uplink. 1197 - 1198 -(% style="color:blue" %)**AT Command: AT+DATAUP** 1199 - 1200 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 1201 -|=(% style="width: 154px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 266px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response** 1202 -|(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =?|(% style="background-color:#f2f2f2; width:266px" %)Show current splicing payload for uplink mode|(% style="background-color:#f2f2f2" %)((( 1203 -0 1204 -OK 1205 -))) 1206 -|(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =0|(% style="background-color:#f2f2f2; width:266px" %)((( 1207 -Set splicing payload for uplink mode is 0. 1208 -)))|(% style="background-color:#f2f2f2" %)((( 1209 -OK 1210 -))) 1211 -|(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =1|(% style="background-color:#f2f2f2; width:266px" %)Set splicing payload for uplink mode is 1 , and the each splice uplink is sent sequentially.|(% style="background-color:#f2f2f2" %)OK 1212 -|(% style="background-color:#f2f2f2; width:154px" %)AT+DATAUP =1,20000|(% style="background-color:#f2f2f2; width:266px" %)((( 1213 -Set splicing payload for uplink mode is 1, and the uplink interval of each splice to 20000 milliseconds. 1214 -)))|(% style="background-color:#f2f2f2" %)OK 1215 - 1216 -(% style="color:blue" %)**Downlink Command: 0xAD** 1217 - 1218 -Format: Command Code (0xAD) followed by 1 bytes or 5 bytes. 1219 - 1220 -* Example 1: Downlink Payload: AD 00 ~/~/ AT+DATAUP=0 1221 -* Example 2: Downlink Payload: AD 01 ~/~/ AT+DATAUP =1 1222 -* Example 3: Downlink Payload: AD 01 00 00 14 ~/~/ AT+DATAUP =1,20000 1223 - 1224 -This means that the interval is set to 0x000014=20S 1225 - 1226 - 1227 -== 3.6 Set the payload version == 1228 - 1229 - 1230 -Feature, Set the payload version. 1231 - 1232 -(% style="color:blue" %)**AT Command: AT+PAYVER** 1233 - 1234 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:437px" %) 1235 -|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 192px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response** 1236 -|(% style="background-color:#f2f2f2; width:158px" %)AT+PAYVER=?|(% style="background-color:#f2f2f2; width:192px" %)Show current payload version|(% style="background-color:#f2f2f2" %)((( 1237 -1 1238 -OK 1239 -))) 1240 -|(% style="background-color:#f2f2f2; width:158px" %)AT+PAYVER=5|(% style="background-color:#f2f2f2; width:192px" %)Set payload version is 5.|(% style="background-color:#f2f2f2" %)OK 1241 - 1242 -(% style="color:blue" %)**Downlink Command: 0xAE** 1243 - 1244 -Format: Command Code (0xAE) followed by 1 bytes. 1245 - 1246 -* Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1247 -* Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1248 - 1249 - 1250 -= 4. Battery & Power Consumption = 1251 - 1252 - 1253 -SDI-12-LB uses ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace. 1254 - 1255 -[[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . 1256 - 1257 - 1258 -= 5. Remote Configure device = 1259 - 1260 -== 5.1 Connect via BLE == 1261 - 1262 - 1263 -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/]] 1264 - 1265 - 1266 -== 5.2 AT Command Set == 1267 - 1268 - 1269 - 1270 -= 6. OTA firmware update = 1271 - 1272 - 1273 -Please see this link for how to do OTA firmware update. 1274 - 1275 -[[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/]] 1276 - 1277 - 1278 -= 7. FAQ = 1279 - 1280 -== 7.1 How to use AT Command via UART to access device? == 1281 - 1282 - 1283 -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]] 1284 - 1285 - 1286 -== 7.2 How to update firmware via UART port? == 1287 - 1288 - 1289 -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]] 1290 - 1291 - 1292 -== 7.3 How to change the LoRa Frequency Bands/Region? == 1293 - 1294 - 1295 -You can follow the instructions for [[how to upgrade image>>doc:Main.Firmware Upgrade Instruction for STM32 base products.WebHome]]. 1296 -When downloading the images, choose the required image file for download. 1297 - 1298 - 1299 -= 8. Order Info = 1300 - 1301 - 1302 -((( 1303 -(% style="color:blue" %)**Part Number: SDI-12-LB-XXX** 1304 -))) 1305 - 1306 -((( 1307 -XXX: The default frequency band 1308 -))) 1309 - 1310 -((( 1311 -(% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band 1312 -(% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band 1313 -(% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band 1314 -(% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band 1315 -(% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band 1316 -(% style="color:red" %)**US915**(%%): LoRaWAN US915 band 1317 -(% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band 1318 -(% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 1319 -))) 1320 - 1321 - 1322 -= 9. Packing Info = 1323 - 1324 - 1325 -(% style="color:#037691" %)**Package Includes**: 1326 - 1327 -* SDI-12-LB SDI-12 to LoRaWAN Converter x 1 1328 - 1329 -(% style="color:#037691" %)**Dimension and weight**: 1330 - 1331 -* Device Size: cm 1332 -* Device Weight: g 1333 -* Package Size / pcs : cm 1334 -* Weight / pcs : g 1335 - 1336 - 1337 -= 10. Support = 1338 - 1339 - 1340 -* 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. 1341 - 1342 -* 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]]
- 1675212538524-889.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -905.1 KB - Content
- 1675212633011-651.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -18.2 KB - Content
- 1675213198663-754.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -508.9 KB - Content
- 1675213652444-622.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -59.6 KB - Content
- 1675213661769-223.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -53.8 KB - Content
- 1675213675852-577.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -83.1 KB - Content
- 1675213686734-883.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -65.2 KB - Content
- 1675213704414-644.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -50.1 KB - Content
- 1675214845056-885.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -20.4 KB - Content
- 1675214856590-846.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -18.6 KB - Content
- 1675215745275-920.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -187.6 KB - Content
- 1675215782925-448.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -142.5 KB - Content
- 1675215828102-844.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -231.3 KB - Content
- 1675215848113-696.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -50.5 KB - Content
- 1675215946738-635.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -38.4 KB - Content
- 1675216282284-923.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -47.0 KB - Content
- 1675216779406-595.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -59.2 KB - Content
- 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-20230131183542-1.jpeg
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -695.5 KB - Content
- image-20230201084414-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -560.9 KB - Content
- image-20230201090139-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -8.3 KB - Content
- image-20230201090139-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -4.9 KB - Content
- image-20230201090139-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -7.2 KB - Content
- image-20230201090528-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -560.9 KB - Content
- image-20230201091027-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -10.4 KB - Content
- image-20230201091027-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -43.7 KB - Content
- image-20230201091257-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -15.8 KB - Content
- image-20230201091257-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.3 KB - Content
- image-20230201091630-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -15.1 KB - Content
- image-20230201091630-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -53.1 KB - Content
- image-20230201091954-12.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -13.8 KB - Content
- image-20230201091954-13.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.7 KB - Content
- image-20230201092208-14.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -14.3 KB - Content
- image-20230201092208-15.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -46.6 KB - Content
- image-20230201092355-16.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -21.6 KB - Content
- image-20230201092355-17.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -80.0 KB - Content
- image-20230201094129-18.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.8 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
- image-20230222143809-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Bei - Size
-
... ... @@ -1,1 +1,0 @@ 1 -322.1 KB - Content
- image-20230426084456-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -190.0 KB - Content
- image-20230603120127-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -5.7 KB - Content
- image-20230603120209-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -22.8 KB - Content
- image-20230603120515-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -489.3 KB - Content
- image-20230603120648-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -100.8 KB - Content
- image-20230603120726-5.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -133.2 KB - Content
- image-20230603120859-6.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -55.9 KB - Content
- image-20230603121606-7.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -24.4 KB - Content
- image-20230603121643-8.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -889.7 KB - Content
- image-20230603121721-9.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -105.4 KB - Content
- image-20230603121752-10.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -160.0 KB - Content
- image-20230603121826-11.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -52.8 KB - Content
- image-20230603122040-12.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -128.1 KB - Content
- image-20230603122109-13.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -271.1 KB - Content
- image-20230603122139-14.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -70.4 KB - Content
- image-20230603122212-15.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -818.3 KB - Content
- image-20230603122248-16.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -12.7 KB - Content
- image-20230603122508-17.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -980.2 KB - Content
- image-20230603122549-18.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -90.9 KB - Content
- image-20230603122623-19.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -139.5 KB - Content
- image-20230603122719-20.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Edwin - Size
-
... ... @@ -1,1 +1,0 @@ 1 -83.8 KB - Content