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
From version 90.3
edited by Xiaoling
on 2024/01/03 16:59
on 2024/01/03 16:59
Change comment:
There is no comment for this version
To version 144.4
edited by Mengting Qiu
on 2025/05/15 09:25
on 2025/05/15 09:25
Change comment:
There is no comment for this version
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 32 added, 0 removed)
- image-20240423143921-1.png
- image-20240423145522-2.png
- image-20240423151202-3.png
- image-20240423162322-4.png
- image-20240423162811-5.png
- image-20240423162851-6.png
- image-20240823165402-1.jpeg
- image-20240823165526-2.png
- image-20240903152517-1.png
- image-20240903152627-2.png
- image-20240903152650-3.png
- image-20240903152742-4.jpeg
- image-20240903153004-5.png
- image-20240903153258-6.png
- image-20240903153627-7.png
- image-20240903153727-8.png
- image-20240903153854-9.png
- image-20240903154020-10.png
- image-20241118164859-1.png
- image-20241118165221-2.png
- image-20241118165746-3.png
- image-20241118165832-4.png
- image-20250329133856-1.jpeg
- image-20250329133946-2.jpeg
- image-20250329134001-3.jpeg
- image-20250416150535-1.jpeg
- image-20250416151346-2.png
- image-20250416151406-3.jpeg
- image-20250416151419-4.jpeg
- image-20250416154628-5.jpeg
- image-20250416154700-6.jpeg
- image-20250416154716-7.jpeg
Details
- Page properties
-
- Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.ting - Content
-
... ... @@ -1,7 +1,7 @@ 1 1 2 2 3 3 (% style="text-align:center" %) 4 -[[image:image-20240103165259-3.png]] 4 +[[image:image-20240103165259-3.png||height="433" width="591"]] 5 5 6 6 7 7 ... ... @@ -47,7 +47,7 @@ 47 47 ))) 48 48 49 49 ((( 50 -SDI-12-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%) or (% style="color:blue" %)**solar powered + li-on battery**(%%) it is designed for long term use up to 5 years.50 +SDI-12-LB/LS is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%) or (% style="color:blue" %)**solar powered + Li-ion battery,**(%%) it is designed for long term use up to 5 years. 51 51 ))) 52 52 53 53 ((( ... ... @@ -55,9 +55,6 @@ 55 55 ))) 56 56 57 57 58 -[[image:image-20230201084414-1.png||_mstalt="427765" height="464" width="1108"]] 59 - 60 - 61 61 == 1.2 Features == 62 62 63 63 ... ... @@ -71,7 +71,8 @@ 71 71 * Support wireless OTA update firmware 72 72 * Uplink on periodically 73 73 * Downlink to change configure 74 -* 8500mAh Battery for long term use 71 +* 8500mAh Li/SOCl2 Battery (SDI-12-LB) 72 +* Solar panel + 3000mAh Li-ion battery (SDI-12-LS) 75 75 76 76 == 1.3 Specification == 77 77 ... ... @@ -84,7 +84,7 @@ 84 84 85 85 (% style="color:#037691" %)**Common DC Characteristics:** 86 86 87 -* Supply Voltage: 2.5v ~~ 3.6v 85 +* Supply Voltage: Built-in Battery, 2.5v ~~ 3.6v 88 88 * Support current: 5V 300mA, 12V 100mA 89 89 * Operating Temperature: -40 ~~ 85°C 90 90 ... ... @@ -137,11 +137,10 @@ 137 137 == 1.6 Button & LEDs == 138 138 139 139 140 -[[image: 1675212633011-651.png||_mstalt="291538"]]138 +[[image:image-20250416151419-4.jpeg]] 141 141 142 - 143 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 144 -|=(% 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** 140 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 141 +|=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 226px;background-color:#4F81BD;color:white" %)**Action** 145 145 |(% 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" %)((( 146 146 If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 147 147 Meanwhile, BLE module will be active and user can connect via BLE to configure device. ... ... @@ -151,7 +151,7 @@ 151 151 (% style="background-color:#f2f2f2; color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 152 152 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. 153 153 ))) 154 -|(% 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-NAis in Deep Sleep Mode.151 +|(% 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 SDI-12-LB/LS is in Deep Sleep Mode. 155 155 156 156 == 1.7 Pin Mapping == 157 157 ... ... @@ -162,7 +162,7 @@ 162 162 == 1.8 BLE connection == 163 163 164 164 165 -SDI-12-LB support BLE remote configure. 162 +SDI-12-LB/LS support BLE remote configure. 166 166 167 167 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: 168 168 ... ... @@ -175,20 +175,24 @@ 175 175 176 176 == 1.9 Mechanical == 177 177 175 +=== 1.9.1 for LB version === 178 178 179 -[[image:image-20230201090139-2.png||_mstalt="428623"]] 180 180 181 -[[image:image-202 30201090139-3.png||_mstalt="428987"]]178 +[[image:image-20250416151406-3.jpeg]] 182 182 183 -[[image:image-20230201090139-4.png||_mstalt="429351"]] 184 184 181 +=== 1.9.2 for LS version === 185 185 183 + 184 +[[image:image-20250329133856-1.jpeg]] 185 + 186 + 186 186 = 2. Configure SDI-12 to connect to LoRaWAN network = 187 187 188 188 == 2.1 How it works == 189 189 190 190 191 -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. 192 +The SDI-12-LB/LS 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/LS. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 192 192 193 193 194 194 == 2.2 Quick guide to connect to LoRaWAN server (OTAA) == ... ... @@ -196,16 +196,15 @@ 196 196 197 197 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. 198 198 200 +[[image:image-20250416151346-2.png]] 199 199 200 -[[image:image-20230201090528-5.png||_mstalt="430300" height="465" width="1111"]] 201 201 202 - 203 203 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. 204 204 205 205 206 -(% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB. 206 +(% style="color:blue" %)**Step 1**(%%): Create a device in TTN with the OTAA keys from SDI-12-LB/LS. 207 207 208 -Each SDI-12-LB is shipped with a sticker with the default device EUI as below: 208 +Each SDI-12-LB/LS is shipped with a sticker with the default device EUI as below: 209 209 210 210 [[image:image-20230426084456-1.png||height="241" width="519"]] 211 211 ... ... @@ -212,37 +212,53 @@ 212 212 213 213 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot: 214 214 215 +**Create the application.** 215 215 216 - (% style="color:blue"%)**Registerdevice**217 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SAC01L_LoRaWAN_Temperature%26Humidity_Sensor_User_Manual/WebHome/image-20250423093843-1.png?width=756&height=264&rev=1.1||alt="image-20250423093843-1.png"]] 217 217 218 -[[image: 1675213652444-622.png||_mstalt="293657"]]219 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111305-2.png?width=1000&height=572&rev=1.1||alt="image-20240907111305-2.png"]] 219 219 220 220 221 - (%style="color:blue" %)**AddAPP EUIand DEV EUI**222 +**Add devices to the created Application.** 222 222 224 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111659-3.png?width=977&height=185&rev=1.1||alt="image-20240907111659-3.png"]] 223 223 224 -[[image: 1675213661769-223.png||_mstalt="295217"]]226 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111820-5.png?width=975&height=377&rev=1.1||alt="image-20240907111820-5.png"]] 225 225 226 226 227 - (% style="color:blue"%)**AddAPP EUIin theapplication**229 +**Enter end device specifics manually.** 228 228 231 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112136-6.png?width=697&height=687&rev=1.1||alt="image-20240907112136-6.png"]] 229 229 230 -[[image:1675213675852-577.png||_mstalt="297947"]] 231 231 234 +**Add DevEUI and AppKey.** 232 232 233 - (%style="color:blue"%)**AddAPPKEY**236 +**Customize a platform ID for the device.** 234 234 235 -[[image: 1675213686734-883.png||_mstalt="298064"]]238 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112427-7.png?rev=1.1||alt="image-20240907112427-7.png"]] 236 236 237 237 238 -(% style="color:blue" %)**Step 2**(%%) :Activateon SDI-12-LB241 +(% style="color:blue" %)**Step 2: **(%%)Add decoder 239 239 243 +While using TTN network, you can add the payload format to decode the payload. 240 240 241 - Pressthe button for5secondstoactivate theSDI-12-LB.245 +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. 242 242 243 - (%style="color:green" %)**Green led**(%%) will fastlink 5 times,device will enter (% style="color:blue" %)**OTA mode** (%%)for 3 seconds. And then starto JOIN LoRaWAN network. (%style="color:green" %)**Green led**(%%) will solidly turnn for 5 seconds after joinedin network.247 +SDI-12-LB/LS TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 244 244 249 +Below is TTN screen shot: 245 245 251 +[[image:image-20241118165746-3.png||height="470" width="869"]] 252 + 253 +[[image:image-20241118165832-4.png||height="336" width="724"]] 254 + 255 + 256 +(% style="color:blue" %)**Step 3**(%%): Activate on SDI-12-LB/LS 257 + 258 +Press the button for 5 seconds to activate the SDI-12-LB/LS. 259 + 260 +(% 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. 261 + 246 246 [[image:1675213704414-644.png||_mstalt="293748"]] 247 247 248 248 ... ... @@ -249,15 +249,24 @@ 249 249 == 2.3 SDI-12 Related Commands == 250 250 251 251 252 -User need to configure SDI-12-LB to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes. 268 +User need to configure SDI-12-LB/LS to communicate with SDI-12 sensors otherwise the uplink payload will only include a few bytes. 253 253 270 +If you use UART to connect a computer, refer to the following connection methods: 254 254 272 +[[image:image-20240823165402-1.jpeg||height="488" width="678"]] 273 + 274 +Screenshot example: 275 + 276 +[[image:image-20240823165526-2.png||height="489" width="690"]] 277 + 278 + 279 + 255 255 === 2.3.1 Basic SDI-12 debug command === 256 256 257 257 258 258 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. 259 259 260 -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. 285 +If SDI-12 sensor return value after get these commands, //SDI-12-LB/LS// will uplink the return on FPORT=100, otherwise, if there is no response from SDI-12 sensor. //SDI-12-LB/LS// will uplink NULL (0x 4E 55 4C 4C) to server. 261 261 262 262 The following is the display information on the serial port and the server. 263 263 ... ... @@ -475,7 +475,7 @@ 475 475 476 476 AT+COMMANDx & AT+DATACUTx 477 477 478 -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. 503 +User can define max 15 SDI-12 Commands (AT+COMMAND1 ~~ AT+COMMANDF). On each uplink period (TDC time, default 20 minutes), SDI-12-LB/LS will send these SDI-12 commands and wait for return from SDI-12 sensors. SDI-12-LB/LS will then combine these returns and uplink via LoRaWAN. 479 479 480 480 481 481 * (% style="color:blue" %)**AT Command:** ... ... @@ -488,7 +488,7 @@ 488 488 489 489 (% style="color:red" %)**var3**(%%): Whether to send //addrD0!// to get return after var2 timeout. 0: Don't Send //addrD0! //; 1: Send //addrD0!//. 490 490 491 -(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB will resend this command. Max 3 retries. 516 +(% style="color:red" %)**var4**(%%): validation check for return. If return invalid, SDI-12-LB/LS will resend this command. Max 3 retries. 492 492 493 493 (% style="color:red" %)**0 **(%%) No validation check; 494 494 ... ... @@ -518,8 +518,8 @@ 518 518 For example, if return from AT+COMMAND1 is “013METER TER12 112T12-00024895<CR><LF>” , Below AT+DATACUT1 will get different result to combine payload: 519 519 520 520 521 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)522 -|=(% style="width: 164px;background-color:# D9E2F3;color:#0070C0" %)**AT+DATACUT1 value**|=(% style="width: 344px;background-color:#D9E2F3;color:#0070C0" %)**Final Result to combine Payload**546 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 547 +|=(% style="width: 164px;background-color:#4F81BD;color:white" %)**AT+DATACUT1 value**|=(% style="width: 346px;background-color:#4F81BD;color:white" %)**Final Result to combine Payload** 523 523 |(% style="background-color:#f2f2f2; width:164px" %)34,1,1+2+3|(% style="background-color:#f2f2f2; width:344px" %)0D 00 01 30 31 33 524 524 |(% 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 525 525 |(% 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 ... ... @@ -540,7 +540,7 @@ 540 540 * (% style="color:#037691" %)**NN **(%%): 1: set the AT+COMMAND value ; 2: set the AT+DATACUT value. 541 541 * (% style="color:#037691" %)**LL **(%%): The length of AT+COMMAND or AT+DATACUT command 542 542 * (% style="color:#037691" %)**XX XX XX XX **(%%): AT+COMMAND or AT+DATACUT command 543 -* (% 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. 568 +* (% style="color:#037691" %)**YY **(%%): If YY=0, SDI-12-LB/LS will execute the downlink command without uplink; if YY=1, SDI-12-LB/LS will execute an uplink after got this command. 544 544 545 545 (% style="color:blue" %)**Example:** 546 546 ... ... @@ -561,7 +561,7 @@ 561 561 Etc. AT+CMDEAR=1,10 means erase AT+COMMAND1/AT+DATACUT1 to AT+COMMAND10/AT+DATACUT10 562 562 563 563 564 -* (% style="color:#037691" %)** 589 +* (% style="color:#037691" %)**Downlink Payload:** 565 565 566 566 (% style="color:#4f81bd" %)**0x09 aa bb**(%%) same as AT+CMDEAR=aa,bb 567 567 ... ... @@ -588,7 +588,6 @@ 588 588 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. 589 589 590 590 591 - 592 592 (% style="color:blue" %)**Compose Uplink** 593 593 594 594 (% style="color:#4f81bd" %)**AT+DATAUP=0** ... ... @@ -635,12 +635,12 @@ 635 635 === 2.4.1 Device Payload, FPORT~=5 === 636 636 637 637 638 -Include device configure status. Once SDI-12-LB Joined the network, it will uplink this message to the server. 662 +Include device configure status. Once SDI-12-LB/LS Joined the network, it will uplink this message to the server. 639 639 640 -Users can also use the downlink command(0x26 01) to ask SDI-12-LB to resend this uplink. 664 +Users can also use the downlink command(0x26 01) to ask SDI-12-LB/LS to resend this uplink. 641 641 642 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)643 -|(% colspan="6" style="background-color:# d9e2f3; color:#0070c0" %)**Device Status (FPORT=5)**666 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 667 +|(% colspan="6" style="background-color:#4f81bd; color:white" %)**Device Status (FPORT=5)** 644 644 |(% 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** 645 645 |(% 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 646 646 ... ... @@ -649,7 +649,7 @@ 649 649 [[image:1675215946738-635.png||_mstalt="297778"]] 650 650 651 651 652 -(% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB, this value is 0x17 676 +(% style="color:#037691" %)**Sensor Model**(%%): For SDI-12-LB/LS, this value is 0x17 653 653 654 654 (% style="color:#037691" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 655 655 ... ... @@ -711,10 +711,10 @@ 711 711 712 712 * Periodically Uplink: FPORT=2 713 713 714 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:500px" %)715 -|=(% style="width: 90px;background-color:# D9E2F3;color:#0070C0" %)(((738 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:500px" %) 739 +|=(% style="width: 90px;background-color:#4F81BD;color:white" %)((( 716 716 **Size(bytes)** 717 -)))|=(% style="width: 80px;background-color:# D9E2F3;color:#0070C0" %)**2**|=(% style="width: 90px;background-color:#D9E2F3;color:#0070C0" %)**1**|=(% style="width: 240px;background-color:#D9E2F3;color:#0070C0" %)**Length depends on the return from the commands**741 +)))|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 240px;background-color:#4F81BD;color:white" %)**Length depends on the return from the commands** 718 718 |(% style="width:93px" %)Value|(% style="width:83px" %)((( 719 719 Battery(mV) 720 720 & ... ... @@ -730,7 +730,7 @@ 730 730 === 2.4.3 Battery Info === 731 731 732 732 733 -Check the battery voltage for SDI-12-LB. 757 +Check the battery voltage for SDI-12-LB/LS. 734 734 735 735 Ex1: 0x0B45 = 2885mV 736 736 ... ... @@ -765,13 +765,13 @@ 765 765 766 766 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. 767 767 768 -SDI-12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 792 +SDI-12-LB/LS TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>url:https://github.com/dragino/dragino-end-node-decoder]] 769 769 770 770 771 771 == 2.5 Uplink Interval == 772 772 773 773 774 -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: 798 +The SDI-12-LB/LS by default uplink the sensor data every 20 minutes. User can change this interval by AT Command or LoRaWAN Downlink Command. See this link: 775 775 776 776 [[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]] 777 777 ... ... @@ -781,7 +781,7 @@ 781 781 === 2.6.1 Examples 1 ~-~- General Example === 782 782 783 783 784 -COM port and SDI-12 sensor communication converted to SDI-12-LB and SDI-12 sensor communication. 808 +COM port and SDI-12 sensor communication converted to SDI-12-LB/LS and SDI-12 sensor communication. 785 785 786 786 [[image:image-20230222143809-1.png||_mstalt="429962" height="564" width="729"]] 787 787 ... ... @@ -821,27 +821,27 @@ 821 821 (% style="color:#037691" %)**AT+COMMANDx=4M!,1,1,1** 822 822 823 823 824 -(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor :**848 +(% style="color:blue" %)**2) The AT+DATACUTx command is applied to the green arrow part, receiving and cut out data from the SDI12 sensor:** 825 825 826 826 a. The first reply, all 34 characters: ”113TRUEBNERSMT100038220303182331<CR><LF>” 827 827 828 828 Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=34,2,1~~34**(% style="color:#037691" %); 829 829 830 -b. The sixth reply, all 31 characters :”1+19210+1.04+0.00+22.49+11.75<CR><LF>”854 +b. The sixth reply, all 31 characters: "1+19210+1.04+0.00+22.49+11.75<CR><LF>" 831 831 832 832 Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 833 833 834 -c. The eighth reply, all 31 characters :”2+18990+1.08+0.00+22.24+11.80<CR><LF>”858 +c. The eighth reply, all 31 characters: "2+18990+1.08+0.00+22.24+11.80<CR><LF>" 835 835 836 836 Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=31,2,1~~31**(% style="color:#037691" %); 837 837 838 -d. The tenth reply, all 15 characters :”3-2919.8+24.0<CR><LF>”862 +d. The tenth reply, all 15 characters: "3-2919.8+24.0<CR><LF>" 839 839 840 840 Cut out all characters: (% _mstmutation="1" style="color:#037691" %)**AT+ALLDATAMOD=1 or AT+DATACUTx=15,2,1~~15**(% style="color:#037691" %); 841 841 842 -e. The twelfth reply, all 25 characters :”4+30.8+22.84+4.7+954.38<CR><LF>”866 +e. The twelfth reply, all 25 characters: "4+30.8+22.84+4.7+954.38<CR><LF>" 843 843 844 -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”**.868 +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"**. 845 845 846 846 847 847 === 2.6.2 Example 2 ~-~- Connect to Hygrovue10 === ... ... @@ -866,13 +866,13 @@ 866 866 [[image:image-20230603120209-2.png||height="281" width="267"]] 867 867 868 868 869 -==== 2.6.2.2 Hardware Connection to SDI-12-LB ==== 893 +==== 2.6.2.2 Hardware Connection to SDI-12-LB/LS ==== 870 870 871 871 872 872 [[image:image-20230603120515-3.png]] 873 873 874 874 875 -==== 2.6.2.3 Commands set in SDI-12-LB and uplink payload ==== 899 +==== 2.6.2.3 Commands set in SDI-12-LB/LS and uplink payload ==== 876 876 877 877 878 878 [[image:image-20230603120648-4.png]] ... ... @@ -907,13 +907,13 @@ 907 907 [[image:image-20230603121606-7.png||height="242" width="307"]] 908 908 909 909 910 -==== 2.6.3.2 Hardware Connection to SDI-12-LB ==== 934 +==== 2.6.3.2 Hardware Connection to SDI-12-LB/LS ==== 911 911 912 912 913 913 [[image:image-20230603121643-8.png||height="442" width="656"]] 914 914 915 915 916 -==== 2.6.3.3 Commands set in SDI-12-LB and uplink payload ==== 940 +==== 2.6.3.3 Commands set in SDI-12-LB/LS and uplink payload ==== 917 917 918 918 919 919 [[image:image-20230603121721-9.png]] ... ... @@ -925,7 +925,6 @@ 925 925 [[image:image-20230603121826-11.png||height="155" width="1104"]] 926 926 927 927 928 - 929 929 === 2.6.4 Example 4 ~-~- Connect to TEROS-12 === 930 930 931 931 ==== 2.6.4.1 Reference Manual and Command ==== ... ... @@ -948,13 +948,13 @@ 948 948 [[image:image-20230603122248-16.png||height="196" width="198"]] 949 949 950 950 951 -==== 2.6.4.2 Hardware Connection to SDI-12-LB ==== 974 +==== 2.6.4.2 Hardware Connection to SDI-12-LB/LS ==== 952 952 953 953 954 954 [[image:image-20230603122212-15.png||height="502" width="667"]] 955 955 956 956 957 -==== 2.6.4.3 Commands set in SDI-12-LB and uplink payload ==== 980 +==== 2.6.4.3 Commands set in SDI-12-LB/LS and uplink payload ==== 958 958 959 959 960 960 [[image:image-20230603122040-12.png]] ... ... @@ -978,15 +978,15 @@ 978 978 979 979 * 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. 980 980 981 -* If these SDI-12 sensors are powered by external power source. It will add 300uA in the total current in SDI-12-LB. 1004 +* If these SDI-12 sensors are powered by external power source. It will add 300uA in the total current in SDI-12-LB/LS. 982 982 983 -==== 2.6.5.2 Hardware Connection to SDI-12-LB ==== 1006 +==== 2.6.5.2 Hardware Connection to SDI-12-LB/LS ==== 984 984 985 985 986 986 [[image:image-20230603122508-17.png||height="526" width="742"]] 987 987 988 988 989 -==== 2.6.5.3 Commands set in SDI-12-LB and uplink payload ==== 1012 +==== 2.6.5.3 Commands set in SDI-12-LB/LS and uplink payload ==== 990 990 991 991 992 992 [[image:image-20230603122549-18.png]] ... ... @@ -1022,16 +1022,15 @@ 1022 1022 [[image:image-20230627174559-3.png]] 1023 1023 1024 1024 1025 -==== 2.6.6.2 Hardware Connection to SDI-12-LB ==== 1048 +==== 2.6.6.2 Hardware Connection to SDI-12-LB/LS ==== 1026 1026 1027 1027 1028 1028 [[image:image-20230627174446-2.png]] 1029 1029 1030 1030 1054 +==== 2.6.6.3 Commands set in SDI-12-LB/LS and uplink payload ==== 1031 1031 1032 -==== 2.6.6.3 Commands set in SDI-12-LB and uplink payload ==== 1033 1033 1034 - 1035 1035 [[image:image-20230627175513-4.png||height="596" width="576"]] 1036 1036 1037 1037 [[image:image-20230627175736-5.png||height="429" width="693"]] ... ... @@ -1042,10 +1042,89 @@ 1042 1042 [[image:image-20230627180303-6.png||height="292" width="1171"]] 1043 1043 1044 1044 1067 +=== 2.6.7 Example 7 ~-~- Connect to GroPoint Profile-8 (SDI-12 Version) === 1068 + 1069 +==== 2.6.7.1 Reference Manual and Command ==== 1070 + 1071 + 1072 +* [[https:~~/~~/static1.squarespace.com/static/5db0b690c4990258f8f6d042/t/64189e1ab3ebc54e6947b0c0/1679334941034/2625-N-T+GroPoint+Profile+User+Manual-V1.1.3.pdf>>https://static1.squarespace.com/static/5db0b690c4990258f8f6d042/t/64189e1ab3ebc54e6947b0c0/1679334941034/2625-N-T+GroPoint+Profile+User+Manual-V1.1.3.pdf]] 1073 + 1074 +* Commands to be used in PC and output. 1075 + 1076 +1. check device address 1077 +1. change device address 1078 +1. check device ID 1079 +1. start measure 1080 +1. Get Meausre result 1081 + 1082 +[[image:image-20240423143921-1.png]] 1083 + 1084 + 1085 +==== 2.6.7.2 Hardware Connection to SDI-12-LB/LS ==== 1086 + 1087 + 1088 +(% style="color:red" %)**Note: When the bytes returned by the sensor are not fixed, the full byte interception can be used: AT+ALLDATAMOD=1 (The DATACUTx parameter needs to be cleared when using this directive, or it will not work.)** 1089 + 1090 +[[image:image-20240423145522-2.png||height="345" width="400"]] 1091 + 1092 + 1093 +==== 2.6.7.3 Commands set in SDI-12-LB/LS and uplink payload ==== 1094 + 1095 +[[image:image-20240423151202-3.png]] 1096 + 1097 +(% class="wikigeneratedid" id="H" %) 1098 +[[image:image-20240423162851-6.png||height="251" width="935"]] 1099 + 1100 + 1101 +DATA in TTN: 1102 + 1103 +[[image:image-20240423162322-4.png||height="269" width="933"]] 1104 + 1105 + 1106 +=== 2.6.8 Example 8 ~-~- Connect to Acclima TDR Soil Moisture Sensor === 1107 + 1108 +==== 2.6.8.1 Reference Manual and Command ==== 1109 + 1110 + 1111 +* [[Acclima TDR Soil Moisture Sensor User Manual>>url:https://acclima.com/tdr-soil-moisture-sensor-user-manual/]] 1112 + 1113 +* Commands to be used in PC and output. 1114 + 1115 +1. check device address 1116 +1. change device address 1117 +1. check device ID 1118 +1. start measure 1119 +1. Get Meausre result 1120 + 1121 +[[image:image-20240903152650-3.png]] 1122 + 1123 +[[image:image-20240903152627-2.png]] 1124 + 1125 + 1126 +==== 2.6.8.2 Hardware Connection to SDI-12-LB/LS ==== 1127 + 1128 + 1129 +(% style="color:red" %)**Note: When the bytes returned by the sensor are not fixed, the full byte interception can be used: AT+ALLDATAMOD=1 (The DATACUTx parameter needs to be cleared when using this directive, or it will not work.)** 1130 + 1131 +[[image:image-20240903153004-5.png||height="358" width="660"]] 1132 + 1133 + 1134 +==== 2.6.8.3 Commands set in SDI-12-LB/LS and uplink payload ==== 1135 + 1136 + 1137 +[[image:image-20240903153258-6.png]] 1138 + 1139 +[[image:image-20240903153627-7.png]] 1140 + 1141 +DATA in TTN: 1142 + 1143 +[[image:image-20240903154020-10.png||height="467" width="961"]] 1144 + 1145 + 1045 1045 == 2.7 Frequency Plans == 1046 1046 1047 1047 1048 -The SDI-12-LB uses OTAA mode and below frequency plans by default. Ifuserwanttouseit withdifferent frequencyplan, pleaserefer theATcommandsets.1149 +The SDI-12-LB/LS uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country. 1049 1049 1050 1050 [[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/]] 1051 1051 ... ... @@ -1058,15 +1058,196 @@ 1058 1058 [[https:~~/~~/www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0>>https://www.dropbox.com/sh/qrbgbikb109lkiv/AACBR-v_ZhZAMengcY7Nsa1ja?dl=0]] 1059 1059 1060 1060 1061 -= 3. Configure SDI-12-LB via AT Command or LoRaWAN Downlink = 1062 1062 1163 +== 2.9 Datalog Feature(Since v1.3.0) == 1063 1063 1064 -Use can configure SDI-12-LB via AT Command or LoRaWAN Downlink. 1065 1065 1166 +((( 1167 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, SDI-12-LB will store the reading for future retrieving purposes. There are two ways for IoT servers to get datalog from SDI-12-LB. 1168 +))) 1169 + 1170 + 1171 +=== 2.9.1 Ways to get datalog via LoRaWAN === 1172 + 1173 + 1174 +There are two methods: 1175 + 1176 +(% style="color:blue" %)**Method 1:** (%%)IoT Server sends a downlink LoRaWAN command to [[poll the value>>||anchor="H2.8.4Pollsensorvalue"]] for specified time range. 1177 + 1178 + 1179 +(% style="color:blue" %)**Method 2: **(%%)Set PNACKMD=1, SDI-12-LB will wait for ACK for every uplink, when there is no LoRaWAN network, SDI-12-LB will mark these records with non-ack messages and store the sensor data, and it will send all messages (10s interval) after the network recovery. 1180 + 1181 + 1182 +(% style="color:red" %)**Note for method 2:** 1183 + 1184 +* a) SDI-12-LB will do an ACK check for data records sending to make sure every data arrive server. 1185 +* b) SDI-12-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but SDI-12-LB won't re-transmit the packet if it doesn't get ACK, it will just mark it as a NONE-ACK message. In a future uplink if SDI-12-LB gets a ACK, SDI-12-LB will consider there is a network connection and resend all NONE-ACK Message. 1186 + 1187 +=== 2.9.2 Unix TimeStamp === 1188 + 1189 + 1190 +SDI-12-LB uses Unix TimeStamp format based on 1191 + 1192 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-11.png?width=627&height=97&rev=1.1||alt="image-20220523001219-11.png"]] 1193 + 1194 + 1195 +User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : 1196 + 1197 +Below is the converter example 1198 + 1199 +[[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220523001219-12.png?width=720&height=298&rev=1.1||alt="image-20220523001219-12.png"]] 1200 + 1201 +So, we can use AT+TIMESTAMP=1742889625 or downlink 3067E26299 to set the current time 2025 – March ~-~- 25 Tuesday 08:00:25 1202 + 1203 + 1204 +=== 2.9.3 Set Device Time === 1205 + 1206 + 1207 +((( 1208 +(% style="color:blue" %)**There are two ways to set device's time:** 1209 +))) 1210 + 1211 +((( 1212 +**1. Through LoRaWAN MAC Command (Default settings)** 1213 +))) 1214 + 1215 +((( 1216 +User need to set SYNCMOD=1 to enable sync time via MAC command. 1217 +))) 1218 + 1219 +((( 1220 +Once SDI-12-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to SDI-12-LB. If SDI-12-LB fails to get the time from the server, SDI-12-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days). 1221 +))) 1222 + 1223 +((( 1224 +(% style="color:red" %)**Note: LoRaWAN Server need to support LoRaWAN v1.0.3(MAC v1.0.3) or higher to support this MAC command feature, Chirpstack,TTN V3 v3 and loriot support but TTN V3 v2 doesn't support. If server doesn't support this command, it will through away uplink packet with this command, so user will lose the packet with time request for TTN V3 v2 if SYNCMOD=1.** 1225 +))) 1226 + 1227 + 1228 +((( 1229 +**2. Manually Set Time** 1230 +))) 1231 + 1232 +((( 1233 +User needs to set SYNCMOD=0 to manual time, otherwise, the user set time will be overwritten by the time set by the server. 1234 +))) 1235 + 1236 + 1237 +=== 2.9.4 Poll sensor value === 1238 + 1239 + 1240 +User can poll sensor value based on timestamps from the server. Below is the downlink command. 1241 + 1242 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:438.778px" %) 1243 +|(% style="background-color:#4f81bd; color:white; width:59px" %)**1byte**|(% style="background-color:#4f81bd; color:white; width:123px" %)**4bytes**|(% style="background-color:#4f81bd; color:white; width:114px" %)**4bytes**|(% style="background-color:#4f81bd; color:white; width:142.778px" %)**1byte** 1244 +|(% style="width:58px" %)31|(% style="width:123px" %)Timestamp start|(% style="width:114px" %)Timestamp end|(% style="width:137px" %)((( 1245 +Uplink Interval(range 5~~255s) 1246 +))) 1247 + 1248 +Timestamp start and Timestamp end use Unix TimeStamp format as mentioned above. Devices will reply with all data log during this time period, use the uplink interval. 1249 + 1250 +For example, downlink command (% _mstmutation="1" %)**31 68253B6E 68253E23 05**(%%) 1251 + 1252 +Is to check 2025/05/15 00:55:10 to 2025/05/15 01:06:43's data 1253 + 1254 +Uplink Internal =5s, means SDI-12-LB will send one packet every 5s. 1255 + 1256 + 1257 +=== 2.9.5 Datalog Uplink payload === 1258 + 1259 + 1260 +The Datalog poll reply uplink will use below payload format. 1261 + 1262 +**Retrieval data payload:** 1263 + 1264 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:480px" %) 1265 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 1266 +**Size(bytes)** 1267 +)))|=(% style="width: 100px; background-color: rgb(79, 129, 189); color: white;" %)**4**|=(% style="width: 100px; background-color: rgb(79, 129, 189); color: white;" %)**1**|=(% style="width: 220px; background-color: rgb(79, 129, 189); color: white;" %)**Length depends on the return from the commands** 1268 +|(% style="width:97px" %)Value|(% style="width:104px" %)Unix Time Stamp|(% style="width:109px" %)Payload Length|(% style="width:165px" %)Data returned by the sensor 1269 + 1270 +**Example:** 1271 + 1272 +If SDI-12-LB has below data inside Flash: 1273 + 1274 +(Soil sensors using the SDI-12 protocol are used for testing.) 1275 + 1276 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1277 +|=(% style="width: 88px; background-color:#4F81BD;color:white" %)Flash Add|=(% style="width: 98px; background-color: rgb(79, 129, 189); color: white;" %)**Unix Time**|=(% style="width: 82px; background-color: rgb(79, 129, 189); color: white;" %)Payload Length|=(% style="width: 86px; background-color: rgb(79, 129, 189); color: white;" %)**BAT voltage**|=(% style="width: 92px; background-color: rgb(79, 129, 189); color: white;" %)Payload Version|=(% style="width: 64px; background-color:#4F81BD;color:white" %)**Value** 1278 +|(% style="width:89px" %)((( 1279 +0001 1280 +)))|(% style="width:98px" %)((( 1281 +2025/3/25 08:09:30 1282 +)))|(% style="width:82px" %)5|(% style="width:86px" %)((( 1283 +0c a8 1284 +)))|(% style="width:92px" %)01|(% style="width:131px" %)((( 1285 +08 21 1286 +))) 1287 +|(% style="width:89px" %)0002|(% style="width:98px" %)((( 1288 +2025/3/25 08:10:30 1289 +)))|(% style="width:82px" %)5|(% style="width:86px" %)((( 1290 +0c ae 1291 +)))|(% style="width:92px" %)01|(% style="width:131px" %)((( 1292 +08 22 1293 +))) 1294 +|(% style="width:89px" %)0003|(% style="width:98px" %)((( 1295 +2025/3/25 08:11:30 1296 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22 1297 +|(% style="width:89px" %)0004|(% style="width:98px" %)((( 1298 +2025/3/25 08:12:30 1299 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22 1300 +|(% style="width:89px" %)0005|(% style="width:98px" %)((( 1301 +2025/3/25 08:13:30 1302 +)))|(% style="width:82px" %)5|(% style="width:86px" %)((( 1303 +0c b4 1304 +)))|(% style="width:92px" %)01|(% style="width:131px" %)08 23 1305 +|(% style="width:89px" %)0006|(% style="width:98px" %)((( 1306 +2025/3/25 08:14:30 1307 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22 1308 +|(% style="width:89px" %)0007|(% style="width:98px" %)((( 1309 +2025/3/25 08:15:30 1310 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c b4|(% style="width:92px" %)01|(% style="width:131px" %)08 23 1311 +|(% style="width:89px" %)0008|(% style="width:98px" %)((( 1312 +2025/3/25 08:16:30 1313 +)))|(% style="width:82px" %)5|(% style="width:86px" %)0c ae|(% style="width:92px" %)01|(% style="width:131px" %)08 22 1314 + 1315 +If user sends below downlink command: (% style="background-color:yellow" %)3167E264BA67E2665E05 1316 + 1317 +Where : Start time: 67E264BA = time 2025/3/25 08:09:30 1318 + 1319 + Stop time: 67E2665E= time 2025/3/25 08:16:30 1320 + 1321 + 1322 +**SDI-12-LB will uplink this payload.** 1323 + 1324 +**67E264BA 05 0CA8 01 0821** 67E264F6050CAE01082267E26532050CAE01082267E2656E050CAE01082267E265AA050CB401082367E265E6050CAE01082267E26622050CB401082367E2665E050CAE010822 1325 + 1326 + 1327 +Where the first 10 bytes is for the first entry: 1328 + 1329 +67E264BA050CA8010821 1330 + 1331 +Unix Time Stamp: 67E264BA(H)=1742890170(D) ~-~-> time=2025-03-25 8:09:30 1332 + 1333 +Payload Length: 0x05(H)=5 bytes 1334 + 1335 +Battery voltage: 0x0CA8(H)=3240 mV 1336 + 1337 +Payload Version: 01 1338 + 1339 +Value: For the distance sensor used for testing, this value is the mm distance value, 0x0821(H)=2081mm. 1340 + 1341 + 1342 + 1343 += 3. Configure SDI-12-LB/LS via AT Command or LoRaWAN Downlink = 1344 + 1345 + 1346 +Use can configure SDI-12-LB/LS via AT Command or LoRaWAN Downlink. 1347 + 1066 1066 * AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]]. 1067 1067 * LoRaWAN Downlink instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 1068 1068 1069 -There are two kinds of commands to configure SDI-12-LB, they are: 1351 +There are two kinds of commands to configure SDI-12-LB/LS, they are: 1070 1070 1071 1071 * (% style="color:blue" %)**General Commands**. 1072 1072 ... ... @@ -1080,9 +1080,9 @@ 1080 1080 [[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/]] 1081 1081 1082 1082 1083 -* (% style="color:blue" %)**Commands special design for SDI-12-LB** 1365 +* (% style="color:blue" %)**Commands special design for SDI-12-LB/LS** 1084 1084 1085 -These commands only valid for SDI-12-LB, as below: 1367 +These commands only valid for SDI-12-LB/LS, as below: 1086 1086 1087 1087 1088 1088 == 3.1 Set Transmit Interval Time == ... ... @@ -1092,8 +1092,8 @@ 1092 1092 1093 1093 (% style="color:blue" %)**AT Command: AT+TDC** 1094 1094 1095 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)1096 -|=(% style="width: 160px; background-color: rgb(217, 226, 243);rgb(0, 112, 192);" %)**Command Example**|=(% style="width: 160px; background-color:rgb(217, 226, 243);rgb(0, 112, 192);" %)**Function**|=(% style="width: 190px;background-color:#D9E2F3;color:#0070C0" %)**Response**1377 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1378 +|=(% style="width: 160px; background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 160px; background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 190px;background-color:#4F81BD;color:white" %)**Response** 1097 1097 |(% style="background-color:#f2f2f2; width:157px" %)AT+TDC=?|(% style="background-color:#f2f2f2; width:166px" %)Show current transmit Interval|(% style="background-color:#f2f2f2" %)((( 1098 1098 30000 1099 1099 OK ... ... @@ -1120,8 +1120,8 @@ 1120 1120 1121 1121 (% style="color:blue" %)**AT Command: AT+INTMOD** 1122 1122 1123 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)1124 -|=(% style="width: 154px;background-color:# D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 160px;background-color:#D9E2F3;color:#0070C0" %)**Response**1405 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1406 +|=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 196px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 160px;background-color:#4F81BD;color:white" %)**Response** 1125 1125 |(% style="background-color:#f2f2f2; width:154px" %)AT+INTMOD=?|(% style="background-color:#f2f2f2; width:196px" %)Show current interrupt mode|(% style="background-color:#f2f2f2; width:157px" %)((( 1126 1126 0 1127 1127 OK ... ... @@ -1151,8 +1151,8 @@ 1151 1151 1152 1152 (% style="color:blue" %)**AT Command: AT+3V3T** 1153 1153 1154 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:474px" %)1155 -|=(% style="width: 154px;background-color:# D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 201px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 120px;background-color:#D9E2F3;color:#0070C0" %)**Response**1436 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:474px" %) 1437 +|=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 201px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 120px;background-color:#4F81BD;color:white" %)**Response** 1156 1156 |(% style="background-color:#f2f2f2; width:154px" %)AT+3V3T=?|(% style="background-color:#f2f2f2; width:201px" %)Show 3V3 open time.|(% style="background-color:#f2f2f2; width:116px" %)((( 1157 1157 0 1158 1158 OK ... ... @@ -1171,7 +1171,7 @@ 1171 1171 (% style="color:blue" %)**AT Command: AT+5VT** 1172 1172 1173 1173 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:470px" %) 1174 -|=(% style="width: 155px;background-color:# D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 196px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 119px;background-color:#D9E2F3;color:#0070C0" %)**Response**1456 +|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 196px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 119px;background-color:#4F81BD;color:white" %)**Response** 1175 1175 |(% style="background-color:#f2f2f2; width:155px" %)AT+5VT=?|(% style="background-color:#f2f2f2; width:196px" %)Show 5V open time.|(% style="background-color:#f2f2f2; width:114px" %)((( 1176 1176 0 1177 1177 OK ... ... @@ -1192,7 +1192,7 @@ 1192 1192 (% style="color:blue" %)**(The v1.2 version is enabled for 1 second by default, and the version below v1.2 is disabled by default)** 1193 1193 1194 1194 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:443px" %) 1195 -|=(% style="width: 156px;background-color:# D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 199px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 89px;background-color:#D9E2F3;color:#0070C0" %)**Response**1477 +|=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 199px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 89px;background-color:#4F81BD;color:white" %)**Response** 1196 1196 |(% style="background-color:#f2f2f2; width:156px" %)AT+12VT=?|(% style="background-color:#f2f2f2; width:199px" %)Show 12V open time.|(% style="background-color:#f2f2f2; width:83px" %)((( 1197 1197 0 1198 1198 OK ... ... @@ -1222,8 +1222,8 @@ 1222 1222 1223 1223 (% style="color:blue" %)**AT Command: AT+ALLDATAMOD** 1224 1224 1225 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:437px" %)1226 -|=(% style="background-color:# D9E2F3;color:#0070C0" %)**Command Example**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**Response**1507 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:437px" %) 1508 +|=(% style="background-color:#4F81BD;color:white" %)**Command Example**|=(% style="background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response** 1227 1227 |(% style="background-color:#f2f2f2" %)AT+ALLDATAMOD=?|(% style="background-color:#f2f2f2" %)Show current all data mode|(% style="background-color:#f2f2f2" %)((( 1228 1228 0 1229 1229 OK ... ... @@ -1244,8 +1244,8 @@ 1244 1244 1245 1245 (% style="color:blue" %)**AT Command: AT+DATAUP** 1246 1246 1247 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:510px" %)1248 -|=(% 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**1529 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1530 +|=(% style="width: 154px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 266px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response** 1249 1249 |(% 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" %)((( 1250 1250 0 1251 1251 OK ... ... @@ -1278,8 +1278,8 @@ 1278 1278 1279 1279 (% style="color:blue" %)**AT Command: AT+PAYVER** 1280 1280 1281 -(% border="1" cellspacing=" 4" style="background-color:#f2f2f2; width:437px" %)1282 -|=(% 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**1563 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:437px" %) 1564 +|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 192px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response** 1283 1283 |(% style="background-color:#f2f2f2; width:158px" %)AT+PAYVER=?|(% style="background-color:#f2f2f2; width:192px" %)Show current payload version|(% style="background-color:#f2f2f2" %)((( 1284 1284 1 1285 1285 OK ... ... @@ -1293,10 +1293,110 @@ 1293 1293 * Example 1: Downlink Payload: AE 01 ~/~/ AT+PAYVER=1 1294 1294 * Example 2: Downlink Payload: AE 05 ~/~/ AT+PAYVER=5 1295 1295 1578 + 1579 +=== 3.7 Print data entries base on page === 1580 + 1581 + 1582 +Feature: Print the sector data from start page to stop page (max is 416 pages). 1583 + 1584 +(% style="color:#4f81bd" %)**AT Command: AT+PDTA** 1585 + 1586 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1587 +|(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function** 1588 +|(% style="width:156px" %)((( 1589 +AT+PDTA=1,2 1590 +Print page 1 to 2 1591 +)))|(% style="width:311px" %)((( 1592 +Stop Tx and RTP events when read sensor data 1593 + 1594 +8033330 2025/5/14 12:27:32 18 0c 84 01 f1 0d 30 2b 31 2e 30 1595 + 1596 +8033340 38 2b 32 34 2e 36 0d 0a 1597 + 1598 +8033350 2025/5/14 12:29:32 18 0c 72 01 f1 0d 30 2b 31 2e 30 1599 + 1600 +8033360 38 2b 32 34 2e 36 0d 0a 1601 + 1602 +8033370 2025/5/14 12:31:32 18 0c 78 01 f1 0d 30 2b 31 2e 30 1603 + 1604 +8033380 38 2b 32 34 2e 36 0d 0a 1605 + 1606 +8033390 2025/5/14 12:33:32 18 0c 72 01 f1 0d 30 2b 31 2e 30 1607 + 1608 +80333A0 38 2b 32 34 2e 36 0d 0a 1609 + 1610 +80333B0 2025/5/14 12:35:32 18 0c 72 01 f1 0d 30 2b 31 2e 30 1611 + 1612 +80333C0 38 2b 32 34 2e 36 0d 0a 1613 + 1614 + 1615 +OK 1616 +))) 1617 + 1618 +(% style="color:#4f81bd" %)**Downlink Command:** 1619 + 1620 +No downlink commands for feature 1621 + 1622 + 1623 +=== 3.8 Print last few data entries === 1624 + 1625 + 1626 +Feature: Print the last few data entries 1627 + 1628 +(% style="color:#4f81bd" %)**AT Command: AT+PLDTA** 1629 + 1630 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %) 1631 +|(% style="background-color:#4f81bd; color:white; width:158px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:352px" %)**Function** 1632 +|(% style="width:156px" %)((( 1633 +AT+PLDTA=10 1634 +Print last 10 entries 1635 +)))|(% style="width:311px" %)((( 1636 +Stop Tx events when read sensor data 1637 + 1638 +0001-0002 2025/5/15 01:04:43 18 0c 72 01 f1 0d 30 2b 31 2e 31 34 2b 32 39 2e 34 0d 0a 1639 + 1640 +0003-0004 2025/5/15 01:06:43 18 0c 72 01 f1 0d 30 2b 31 2e 31 33 2b 33 30 2e 30 0d 0a 1641 + 1642 +0005-0006 2025/5/15 01:08:43 18 0c 7e 01 f1 0d 30 2b 31 2e 33 30 2b 33 30 2e 35 0d 0a 1643 + 1644 +0007-0008 2025/5/15 01:10:43 18 0c 72 01 f1 0d 30 2b 31 2e 33 30 2b 33 31 2e 30 0d 0a 1645 + 1646 +0009-0010 2025/5/15 01:12:43 18 0c 72 01 f1 0d 30 2b 31 2e 33 30 2b 33 31 2e 31 0d 0a 1647 + 1648 +Start Tx events 1649 + 1650 +OK 1651 +))) 1652 + 1653 +(% style="color:#4f81bd" %)**Downlink Command:** 1654 + 1655 +No downlink commands for feature 1656 + 1657 + 1658 +=== 3.9 Clear Flash Record === 1659 + 1660 + 1661 +Feature: Clear flash storage for data log feature. 1662 + 1663 +(% style="color:#4f81bd" %)**AT Command: AT+CLRDTA** 1664 + 1665 +(% border="1" cellspacing="3" style="background-color:#f2f2f2; width:503px" %) 1666 +|(% style="background-color:#4f81bd; color:white; width:157px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:137px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:209px" %)**Response** 1667 +|(% style="width:155px" %)AT+CLRDTA |(% style="width:134px" %)Clear date record|(% style="width:209px" %)((( 1668 +Clear all stored sensor data… 1669 + 1670 +OK 1671 +))) 1672 + 1673 +(% style="color:#4f81bd" %)**Downlink Command: 0xA3** 1674 + 1675 +* Example: 0xA301 ~/~/ Same as AT+CLRDTA 1676 + 1677 + 1296 1296 = 4. Battery & Power Consumption = 1297 1297 1298 1298 1299 -SDI-12-LB use sER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.1681 +SDI-12-LB use ER26500 + SPC1520 battery pack and SDI-12-LS use 3000mAh Recharable Battery with Solar Panel. See below link for detail information about the battery info and how to replace. 1300 1300 1301 1301 [[**Battery Info & Power Consumption Analyze**>>url:http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] . 1302 1302 ... ... @@ -1342,11 +1342,35 @@ 1342 1342 When downloading the images, choose the required image file for download. 1343 1343 1344 1344 1727 +== 7.4 Why is the data uploaded to the LoRaWAN platform node empty and fProt~=0? == 1728 + 1729 + 1730 +This is due to The length of bytes sent by the node is limited by the lorawan protocol, and the fixed DR needs to be adjusted to improve this problem. 1731 + 1732 +Please refer to the following link for the number of bytes limited by different frequencies and different DRs in the lorawan protocol 1733 + 1734 +[[lora-alliance.org/wp-content/uploads/2021/05/RP002-1.0.3-FINAL-1.pdf>>url:https://lora-alliance.org/wp-content/uploads/2021/05/RP002-1.0.3-FINAL-1.pdf]] 1735 + 1736 +Example: 1737 + 1738 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/RS485-LN%20%E2%80%93%20RS485%20to%20LoRaWAN%20Converter/WebHome/image-20240620145456-1.png?rev=1.1||alt="image-20240620145456-1.png"]] 1739 + 1740 +Please refer to the following command to fix DR 1741 + 1742 +AT+ADR=0 1743 + 1744 +AT+DR=3 1745 + 1746 +Downlink command: 1747 + 1748 +[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H7.4DataRate>>url:http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/#H7.4DataRate]] 1749 + 1750 + 1345 1345 = 8. Order Info = 1346 1346 1347 1347 1348 1348 ((( 1349 -(% style="color:blue" %) **PartNumber: SDI-12-LB-XX-YY**1755 +**Part Number: (% style="color:blue" %)SDI-12-LB-XX-YY(%%) or (% style="color:blue" %)SDI-12-LS-XX-YY(%%)** 1350 1350 ))) 1351 1351 1352 1352 ((( ... ... @@ -1374,7 +1374,7 @@ 1374 1374 1375 1375 (% style="color:#037691" %)**Package Includes**: 1376 1376 1377 -* SDI-12-LB SDI-12 to LoRaWAN Converter x 1 1783 +* SDI-12-LB or SDI-12-LS SDI-12 to LoRaWAN Converter x 1 1378 1378 1379 1379 (% style="color:#037691" %)**Dimension and weight**: 1380 1380
- image-20240423143921-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.kai - Size
-
... ... @@ -1,0 +1,1 @@ 1 +43.8 KB - Content
- image-20240423145522-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.kai - Size
-
... ... @@ -1,0 +1,1 @@ 1 +709.9 KB - Content
- image-20240423151202-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.kai - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.6 KB - Content
- image-20240423162322-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.kai - Size
-
... ... @@ -1,0 +1,1 @@ 1 +87.5 KB - Content
- image-20240423162811-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.kai - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.6 KB - Content
- image-20240423162851-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.kai - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.6 KB - Content
- image-20240823165402-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +580.7 KB - Content
- image-20240823165526-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +63.0 KB - Content
- image-20240903152517-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +11.5 KB - Content
- image-20240903152627-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +36.2 KB - Content
- image-20240903152650-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.7 KB - Content
- image-20240903152742-4.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +5.2 MB - Content
- image-20240903153004-5.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +1.1 MB - Content
- image-20240903153258-6.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +22.4 KB - Content
- image-20240903153627-7.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +21.2 KB - Content
- image-20240903153727-8.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +102.0 KB - Content
- image-20240903153854-9.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +214.8 KB - Content
- image-20240903154020-10.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Bei - Size
-
... ... @@ -1,0 +1,1 @@ 1 +100.9 KB - Content
- image-20241118164859-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +51.6 KB - Content
- image-20241118165221-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.2 KB - Content
- image-20241118165746-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +89.4 KB - Content
- image-20241118165832-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.ting - Size
-
... ... @@ -1,0 +1,1 @@ 1 +27.2 KB - Content
- image-20250329133856-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +31.2 KB - Content
- image-20250329133946-2.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +29.6 KB - Content
- image-20250329134001-3.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +59.0 KB - Content
- image-20250416150535-1.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +47.6 KB - Content
- image-20250416151346-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +79.6 KB - Content
- image-20250416151406-3.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +44.8 KB - Content
- image-20250416151419-4.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +47.6 KB - Content
- image-20250416154628-5.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +40.4 KB - Content
- image-20250416154700-6.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +65.6 KB - Content
- image-20250416154716-7.jpeg
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +50.8 KB - Content