Changes for page DS20L -- LoRaWAN Smart Distance Detector User Manual 01
Last modified by Mengting Qiu on 2023/12/14 11:15
Summary
-
Page properties (2 modified, 0 added, 0 removed)
-
Attachments (0 modified, 13 added, 0 removed)
- image-20230805103904-1.png
- image-20230805104104-2.png
- image-20230805144259-1.png
- image-20230805144936-2.png
- image-20230805145056-3.png
- image-20230805150315-4.png
- image-20230805155335-1.png
- image-20230805155428-2.png
- image-20230805155515-3.png
- image-20231110085300-1.png
- image-20231110085342-2.png
- image-20231110091447-3.png
- image-20231110091506-4.png
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 - LDS12-LB-- LoRaWANLiDARToFDistanceSensor User Manual1 +DS20L -- LoRaWAN Smart Distance Detector User Manual - Content
-
... ... @@ -1,5 +1,5 @@ 1 1 (% style="text-align:center" %) 2 -[[image:image-2023 0614153353-1.png]]2 +[[image:image-20231110085342-2.png||height="481" width="481"]] 3 3 4 4 5 5 ... ... @@ -7,6 +7,7 @@ 7 7 8 8 9 9 10 + 10 10 **Table of Contents:** 11 11 12 12 {{toc/}} ... ... @@ -18,166 +18,55 @@ 18 18 19 19 = 1. Introduction = 20 20 21 -== 1.1 What is LoRaWAN LiDARToFDistanceSensor ==22 +== 1.1 What is LoRaWAN Smart Distance Detector == 22 22 23 23 24 -The Dragino LDS12-LB is a(% style="color:blue" %)**LoRaWANLiDARToF(Time of Flight)DistanceSensor**(%%)forInternetofThings solution. Itis capabletomeasure the distance toan objectas closeas 10centimeters(+/- 5cm up to 6m) andas far as 12 meters(+/-1%startingat6m)!.TheLiDAR probeuseslaser induction technologyfordistancemeasurement.25 +The Dragino (% style="color:blue" %)**DS20L is a smart distance detector**(%%) base on long-range wireless LoRaWAN technology. It uses (% style="color:blue" %)**LiDAR sensor**(%%) to detect the distance between DS20L and object, then DS20L will send the distance data to the IoT Platform via LoRaWAN. 25 25 26 -The LDS12-LB can be applied to scenarios such as horizontal distance measurement, parking management system, object proximity and presence detection, intelligent trash can management system, robot obstacle avoidance, automatic control, sewer, etc. 27 +DS20L allows users to send data and reach extremely long ranges via LoRaWAN. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current 28 +consumption. It targets professional wireless sensor network applications such smart cities, building automation, and so on. 27 27 28 - Itdetects thedistance betweenthemeasuredobject andthe sensor,anduploadsthevalue viawirelesstoLoRaWANIoTServer.30 +DS20L has a (% style="color:blue" %)**built-in 2400mAh non-chargeable battery**(%%) for long-term use up to several years*. Users can also power DS20L with an external power source for (% style="color:blue" %)**continuous measuring and distance alarm / counting purposes.** 29 29 30 - TheLoRawirelesstechnologyused in LDS12-LB allowsdevice tosend data and reachextremelyngrangesatlowdata-rates.Itprovides ultra-long range spread spectrum communicationandhigh interferenceimmunity whilstminimizing currentconsumption.32 +DS20L is fully compatible with (% style="color:blue" %)**LoRaWAN v1.0.3 Class A protocol**(%%), it can work with a standard LoRaWAN gateway. 31 31 32 - LDS12-LB(% style="color:blue" %)**supports BLE configure**(%%)and (%style="color:blue"%)**wirelessOTAupdate**(%%) whichmakeuser easyto use.34 +DS20L supports (% style="color:blue" %)**Datalog feature**(%%). It will record the data when there is no network coverage and users can retrieve the sensor value later to ensure no miss for every sensor reading. 33 33 34 - LDS12-LBis powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%),it isdesigned for longterm use up to 5 years.36 +[[image:image-20231110091506-4.png||height="391" width="768"]] 35 35 36 -Each LDS12-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. 37 37 38 -[[image:image-20230615152941-1.png||height="459" width="800"]] 39 - 40 - 41 41 == 1.2 Features == 42 42 43 43 44 -* LoRaWAN 1.0.3 Class A 45 -* Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865 46 -* Ultra-low power consumption 47 -* Laser technology for distance detection 48 -* Measure Distance: 0.1m~~12m @ 90% Reflectivity 49 -* Accuracy : ±5cm@(0.1-6m), ±1%@(6m-12m) 50 -* Monitor Battery Level 51 -* Support Bluetooth v5.1 and LoRaWAN remote configure 52 -* Support wireless OTA update firmware 42 +* LoRaWAN Class A protocol 43 +* LiDAR distance detector, range 3 ~~ 200cm 44 +* Periodically detect or continuously detect mode 53 53 * AT Commands to change parameters 54 -* Downlink to change configure 55 -* 8500mAh Battery for long term use 46 +* Remotely configure parameters via LoRaWAN Downlink 47 +* Alarm & Counting mode 48 +* Datalog Feature 49 +* Firmware upgradable via program port or LoRa protocol 50 +* Built-in 2400mAh battery or power by external power source 56 56 57 57 == 1.3 Specification == 58 58 59 59 60 -(% style="color:#037691" %)** CommonDCCharacteristics:**55 +(% style="color:#037691" %)**LiDAR Sensor:** 61 61 62 -* Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v 63 -* Operating Temperature: -40 ~~ 85°C 57 +* Operation Temperature: -40 ~~ 80 °C 58 +* Operation Humidity: 0~~99.9%RH (no Dew) 59 +* Storage Temperature: -10 ~~ 45°C 60 +* Measure Range: 3cm~~200cm @ 90% reflectivity 61 +* Accuracy: ±2cm @ (3cm~~100cm); ±5% @ (100~~200cm) 62 +* ToF FoV: ±9°, Total 18° 63 +* Light source: VCSEL 64 64 65 -(% style="color:#037691" %)**Probe Specification:** 66 66 67 -* Storage temperature:-20℃~~75℃ 68 -* Operating temperature : -20℃~~60℃ 69 -* Measure Distance: 70 -** 0.1m ~~ 12m @ 90% Reflectivity 71 -** 0.1m ~~ 4m @ 10% Reflectivity 72 -* Accuracy : ±5cm@(0.1-6m), ±1%@(6m-12m) 73 -* Distance resolution : 5mm 74 -* Ambient light immunity : 70klux 75 -* Enclosure rating : IP65 76 -* Light source : LED 77 -* Central wavelength : 850nm 78 -* FOV : 3.6° 79 -* Material of enclosure : ABS+PC 80 -* Wire length : 25cm 81 - 82 -(% style="color:#037691" %)**LoRa Spec:** 83 - 84 -* Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz 85 -* Max +22 dBm constant RF output vs. 86 -* RX sensitivity: down to -139 dBm. 87 -* Excellent blocking immunity 88 - 89 -(% style="color:#037691" %)**Battery:** 90 - 91 -* Li/SOCI2 un-chargeable battery 92 -* Capacity: 8500mAh 93 -* Self-Discharge: <1% / Year @ 25°C 94 -* Max continuously current: 130mA 95 -* Max boost current: 2A, 1 second 96 - 97 -(% style="color:#037691" %)**Power Consumption** 98 - 99 -* Sleep Mode: 5uA @ 3.3v 100 -* LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 101 - 102 -== 1.4 Applications == 103 - 104 - 105 -* Horizontal distance measurement 106 -* Parking management system 107 -* Object proximity and presence detection 108 -* Intelligent trash can management system 109 -* Robot obstacle avoidance 110 -* Automatic control 111 -* Sewer 112 - 113 113 (% style="display:none" %) 114 114 115 -== 1.5 Sleep mode and working mode == 116 116 69 += 2. Configure DS20L to connect to LoRaWAN network = 117 117 118 -(% 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. 119 - 120 -(% 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. 121 - 122 - 123 -== 1.6 Button & LEDs == 124 - 125 - 126 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]] 127 - 128 - 129 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 130 -|=(% 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** 131 -|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( 132 -If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 133 -Meanwhile, BLE module will be active and user can connect via BLE to configure device. 134 -))) 135 -|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( 136 -(% style="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. 137 -(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 138 -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. 139 -))) 140 -|(% style="width:167px" %)Fast press ACT 5 times.|(% style="width:117px" %)Deactivate Device|(% style="width:225px" %)(% style="color:red" %)**Red led**(%%) will solid on for 5 seconds. Means device is in Deep Sleep Mode. 141 - 142 -== 1.7 BLE connection == 143 - 144 - 145 -LDS12-LB support BLE remote configure. 146 - 147 -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: 148 - 149 -* Press button to send an uplink 150 -* Press button to active device. 151 -* Device Power on or reset. 152 - 153 -If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode. 154 - 155 - 156 -== 1.8 Pin Definitions == 157 - 158 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/WL03A-LB_LoRaWAN_None-Position_Rope_Type_Water_Leak_Controller_User_Manual/WebHome/image-20230613144156-1.png?rev=1.1||alt="image-20230613144156-1.png"]] 159 - 160 - 161 -== 1.9 Mechanical == 162 - 163 - 164 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]] 165 - 166 - 167 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]] 168 - 169 - 170 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]] 171 - 172 - 173 -(% style="color:blue" %)**Probe Mechanical:** 174 - 175 - 176 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654827224480-952.png?rev=1.1||alt="1654827224480-952.png"]] 177 - 178 - 179 -= 2. Configure LDS12-LB to connect to LoRaWAN network = 180 - 181 181 == 2.1 How it works == 182 182 183 183 ... ... @@ -192,7 +192,7 @@ 192 192 193 193 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. 194 194 195 -[[image:image-2023 0615153004-2.png||height="459" width="800"]](% style="display:none" %)85 +[[image:image-20231110091447-3.png||height="383" width="752"]](% style="display:none" %) 196 196 197 197 198 198 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from LDS12-LB. ... ... @@ -238,7 +238,6 @@ 238 238 239 239 == 2.3 Uplink Payload == 240 240 241 - 242 242 === 2.3.1 Device Status, FPORT~=5 === 243 243 244 244 ... ... @@ -247,19 +247,21 @@ 247 247 The Payload format is as below. 248 248 249 249 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 250 -|=(% style="width: 6 2.5px;background-color:#4F81BD;color:white" %)(((139 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 251 251 **Size(bytes)** 252 -)))|=(% style="width: 1 10px; background-color:rgb(79, 129, 189);48px; background-color:rgb(79, 129, 189);rgb(79, 129, 189);94px;" %)**1**|=(% style="background-color:rgb(79, 129, 189);91px;" %)**1**|=(% style="background-color:rgb(79, 129, 189);60px;" %)**2**141 +)))|=(% style="width: 100px; background-color: #4F81BD;color:white;" %)**1**|=(% style="width: 100px; background-color: #4F81BD;color:white;" %)**2**|=(% style="background-color: #4F81BD;color:white; width: 100px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 100px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 50px;" %)**2** 253 253 |(% style="width:62.5px" %)Value|(% style="width:110px" %)Sensor Model|(% style="width:48px" %)Firmware Version|(% style="width:94px" %)Frequency Band|(% style="width:91px" %)Sub-band|(% style="width:60px" %)BAT 254 254 255 255 Example parse in TTNv3 256 256 257 - **Sensor Model**:For LDS12-LB, this valueis0x24146 +[[image:image-20230805103904-1.png||height="131" width="711"]] 258 258 259 - **FirmwareVersion**:0x0100,Means:v1.0.0 version148 +(% style="color:blue" %)**Sensor Model**(%%): For LDS12-LB, this value is 0x24 260 260 261 -**Fre quencyBand**:150 +(% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 262 262 152 +(% style="color:blue" %)**Frequency Band**: 153 + 263 263 0x01: EU868 264 264 265 265 0x02: US915 ... ... @@ -288,7 +288,7 @@ 288 288 289 289 0x0e: MA869 290 290 291 -**Sub-Band**: 182 +(% style="color:blue" %)**Sub-Band**: 292 292 293 293 AU915 and US915:value 0x00 ~~ 0x08 294 294 ... ... @@ -296,7 +296,7 @@ 296 296 297 297 Other Bands: Always 0x00 298 298 299 -**Battery Info**: 190 +(% style="color:blue" %)**Battery Info**: 300 300 301 301 Check the battery voltage. 302 302 ... ... @@ -309,33 +309,29 @@ 309 309 310 310 311 311 ((( 312 -LDS12-LB will uplink payload via LoRaWAN with below payload format: 313 -))) 203 +LDS12-LB will send this uplink **after** Device Status once join the LoRaWAN network successfully. And LDS12-LB will: 314 314 315 -((( 316 -Uplink payload includes in total 11 bytes. 205 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]]. 206 + 207 +Uplink Payload totals 11 bytes. 317 317 ))) 318 318 319 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width: 670px" %)320 -|=(% style="width: 6 2.5px;background-color:#4F81BD;color:white" %)(((210 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 211 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 321 321 **Size(bytes)** 322 -)))|=(% style="width: 62.5px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 62.5px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="background-color: rgb(79, 129, 189); color: white; width: 122px;" %)**1**|=(% style="background-color: rgb(79, 129, 189); color: white; width: 54px;" %)**1**|=(% style="background-color: rgb(79, 129, 189); color: white; width: 96px;" %)**1** 323 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1BatteryInfo"]]|(% style="width:62.5px" %)((( 324 -[[Temperature DS18B20>>||anchor="H2.3.2DS18B20Temperaturesensor"]] 325 -)))|[[Distance>>||anchor="H2.3.3Distance"]]|[[Distance signal strength>>||anchor="H2.3.4Distancesignalstrength"]]|(% style="width:122px" %)((( 326 -[[Interrupt flag>>]] 327 - 328 -[[&>>]] 329 - 330 -[[Interrupt_level>>]] 331 -)))|(% style="width:54px" %)[[LiDAR temp>>||anchor="H2.3.6LiDARtemp"]]|(% style="width:96px" %)((( 332 -[[Message Type>>||anchor="H2.3.7MessageType"]] 213 +)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white; width: 80px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1** 214 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:62.5px" %)((( 215 +[[Temperature DS18B20>>||anchor="HDS18B20Temperaturesensor"]] 216 +)))|[[Distance>>||anchor="HDistance"]]|[[Distance signal strength>>||anchor="HDistancesignalstrength"]]|(% style="width:122px" %)((( 217 +[[Interrupt flag & Interrupt_level>>||anchor="HInterruptPin26A0InterruptLevel"]] 218 +)))|(% style="width:54px" %)[[LiDAR temp>>||anchor="HLiDARtemp"]]|(% style="width:96px" %)((( 219 +[[Message Type>>||anchor="HMessageType"]] 333 333 ))) 334 334 335 -[[image: http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654833689380-972.png?rev=1.1||alt="1654833689380-972.png"]]222 +[[image:image-20230805104104-2.png||height="136" width="754"]] 336 336 337 337 338 -==== 2.3.2.aBattery Info ====225 +==== (% style="color:blue" %)**Battery Info**(%%) ==== 339 339 340 340 341 341 Check the battery voltage for LDS12-LB. ... ... @@ -345,7 +345,7 @@ 345 345 Ex2: 0x0B49 = 2889mV 346 346 347 347 348 -==== 2.3.2.b DS18B20 Temperature sensor ====235 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ==== 349 349 350 350 351 351 This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature. ... ... @@ -358,7 +358,7 @@ 358 358 If payload is: FF3FH : (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 359 359 360 360 361 -==== 2.3.2.c Distance ====248 +==== (% style="color:blue" %)**Distance**(%%) ==== 362 362 363 363 364 364 Represents the distance value of the measurement output, the default unit is cm, and the value range parsed as a decimal number is 0-1200. In actual use, when the signal strength value Strength. ... ... @@ -369,7 +369,7 @@ 369 369 If the data you get from the register is 0x0B 0xEA, the distance between the sensor and the measured object is 0BEA(H) = 3050 (D)/10 = 305cm. 370 370 371 371 372 -==== 2.3.2.dDistance signal strength ====259 +==== (% style="color:blue" %)**Distance signal strength**(%%) ==== 373 373 374 374 375 375 Refers to the signal strength, the default output value will be between 0-65535. When the distance measurement gear is fixed, the farther the distance measurement is, the lower the signal strength; the lower the target reflectivity, the lower the signal strength. When Strength is greater than 100 and not equal to 65535, the measured value of Dist is considered credible. ... ... @@ -382,21 +382,36 @@ 382 382 Customers can judge whether they need to adjust the environment based on the signal strength. 383 383 384 384 385 - ====2.3.2.eInterruptPin& InterruptLevel====272 +**1) When the sensor detects valid data:** 386 386 274 +[[image:image-20230805155335-1.png||height="145" width="724"]] 387 387 276 + 277 +**2) When the sensor detects invalid data:** 278 + 279 +[[image:image-20230805155428-2.png||height="139" width="726"]] 280 + 281 + 282 +**3) When the sensor is not connected:** 283 + 284 +[[image:image-20230805155515-3.png||height="143" width="725"]] 285 + 286 + 287 +==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ==== 288 + 289 + 388 388 This data field shows if this packet is generated by interrupt or not. [[Click here>>||anchor="H3.3.2SetInterruptMode"]] for the hardware and software set up. 389 389 390 -Note: The Internet Pin is a separate pin in the screw terminal. See 292 +Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.8PinDefinitions"]] of GPIO_EXTI . 391 391 392 392 **Example:** 393 393 394 -0x00: Normal uplink packet. 296 +If byte[0]&0x01=0x00 : Normal uplink packet. 395 395 396 -0x01: Interrupt Uplink Packet. 298 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet. 397 397 398 398 399 -==== 2.3.2.fLiDAR temp ====301 +==== (% style="color:blue" %)**LiDAR temp**(%%) ==== 400 400 401 401 402 402 Characterize the internal temperature value of the sensor. ... ... @@ -406,7 +406,7 @@ 406 406 If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃. 407 407 408 408 409 -==== 2.3.2.gMessage Type ====311 +==== (% style="color:blue" %)**Message Type**(%%) ==== 410 410 411 411 412 412 ((( ... ... @@ -419,12 +419,97 @@ 419 419 420 420 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %) 421 421 |=(% style="width: 161px;background-color:#4F81BD;color:white" %)**Message Type Code**|=(% style="width: 164px;background-color:#4F81BD;color:white" %)**Description**|=(% style="width: 174px;background-color:#4F81BD;color:white" %)**Payload** 422 -|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %) [[Normal Uplink Payload>>||anchor="H2.3200BUplinkPayload"]]423 -|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %) [[Configure Info Payload>>||anchor="H3.ConfigureLDS12-LB"]]324 +|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)Normal Uplink Payload 325 +|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)Configure Info Payload 424 424 425 - ===2.3.3Decodepayload inTheThings Network===327 +[[image:image-20230805150315-4.png||height="233" width="723"]] 426 426 427 427 330 +=== 2.3.3 Historical measuring distance, FPORT~=3 === 331 + 332 + 333 +LDS12-LB stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]]. 334 + 335 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance. 336 + 337 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 338 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 339 +**Size(bytes)** 340 +)))|=(% style="width: 80px;background-color:#4F81BD;color:white" %)1|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**1**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 70px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD; color: white; width: 85px;" %)**1**|=(% style="background-color: #4F81BD; color: white; width: 85px;" %)4 341 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)((( 342 +Reserve(0xFF) 343 +)))|Distance|Distance signal strength|(% style="width:88px" %)((( 344 +LiDAR temp 345 +)))|(% style="width:85px" %)Unix TimeStamp 346 + 347 +**Interrupt flag & Interrupt level:** 348 + 349 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %) 350 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 351 +**Size(bit)** 352 +)))|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**bit7**|=(% style="width: 90px;background-color:#4F81BD;color:white" %)**bit6**|=(% style="width: 60px;background-color:#4F81BD;color:white" %)**[bit5:bit2]**|=(% style="width: 90px; background-color: #4F81BD; color: white;" %)**bit1**|=(% style="background-color: #4F81BD; color: white; width: 90px;" %)**bit0** 353 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)No ACK message|(% style="width:62.5px" %)Poll Message Flag|Reserve|(% style="width:91px" %)Interrupt level|(% style="width:88px" %)((( 354 +Interrupt flag 355 +))) 356 + 357 +* ((( 358 +Each data entry is 11 bytes and has the same structure as [[Uplink Payload>>||anchor="H2.3.2UplinkPayload2CFPORT3D2"]], to save airtime and battery, LDS12-LB will send max bytes according to the current DR and Frequency bands. 359 +))) 360 + 361 +For example, in the US915 band, the max payload for different DR is: 362 + 363 +**a) DR0:** max is 11 bytes so one entry of data 364 + 365 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes) 366 + 367 +**c) DR2:** total payload includes 11 entries of data 368 + 369 +**d) DR3:** total payload includes 22 entries of data. 370 + 371 +If LDS12-LB doesn't have any data in the polling time. It will uplink 11 bytes of 0 372 + 373 + 374 +**Downlink:** 375 + 376 +0x31 64 CC 68 0C 64 CC 69 74 05 377 + 378 +[[image:image-20230805144936-2.png||height="113" width="746"]] 379 + 380 +**Uplink:** 381 + 382 +43 FF 0E 10 00 B0 1E 64 CC 68 0C 40 FF 0D DE 00 A8 1E 64 CC 68 29 40 FF 09 92 00 D3 1E 64 CC 68 65 40 FF 02 3A 02 BC 1E 64 CC 68 A1 41 FF 0E 1A 00 A4 1E 64 CC 68 C0 40 FF 0D 2A 00 B8 1E 64 CC 68 E8 40 FF 00 C8 11 6A 1E 64 CC 69 24 40 FF 0E 24 00 AD 1E 64 CC 69 6D 383 + 384 + 385 +**Parsed Value:** 386 + 387 +[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME] 388 + 389 + 390 +[360,176,30,High,True,2023-08-04 02:53:00], 391 + 392 +[355,168,30,Low,False,2023-08-04 02:53:29], 393 + 394 +[245,211,30,Low,False,2023-08-04 02:54:29], 395 + 396 +[57,700,30,Low,False,2023-08-04 02:55:29], 397 + 398 +[361,164,30,Low,True,2023-08-04 02:56:00], 399 + 400 +[337,184,30,Low,False,2023-08-04 02:56:40], 401 + 402 +[20,4458,30,Low,False,2023-08-04 02:57:40], 403 + 404 +[362,173,30,Low,False,2023-08-04 02:58:53], 405 + 406 + 407 +**History read from serial port:** 408 + 409 +[[image:image-20230805145056-3.png]] 410 + 411 + 412 +=== 2.3.4 Decode payload in The Things Network === 413 + 414 + 428 428 While using TTN network, you can add the payload format to decode the payload. 429 429 430 430 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654592762713-715.png?rev=1.1||alt="1654592762713-715.png"]] ... ... @@ -439,15 +439,9 @@ 439 439 ))) 440 440 441 441 442 -== 2.4 Uplink Interval==429 +== 2.4 Show Data in DataCake IoT Server == 443 443 444 444 445 -The LDS12-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: [[Change Uplink Interval>>||anchor="H3.3.1SetTransmitIntervalTime"]] 446 - 447 - 448 -== 2.5 Show Data in DataCake IoT Server == 449 - 450 - 451 451 ((( 452 452 [[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, once we have data in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps: 453 453 ))) ... ... @@ -480,13 +480,13 @@ 480 480 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/image-20220610165129-11.png?width=1088&height=595&rev=1.1||alt="image-20220610165129-11.png"]] 481 481 482 482 483 -== 2. 6Datalog Feature ==464 +== 2.5 Datalog Feature == 484 484 485 485 486 486 Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, LDS12-LB will store the reading for future retrieving purposes. 487 487 488 488 489 -=== 2. 6.1 Ways to get datalog via LoRaWAN ===470 +=== 2.5.1 Ways to get datalog via LoRaWAN === 490 490 491 491 492 492 Set PNACKMD=1, LDS12-LB will wait for ACK for every uplink, when there is no LoRaWAN network,LDS12-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. ... ... @@ -498,14 +498,11 @@ 498 498 b) LDS12-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but LDS12-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 LDS12-LB gets a ACK, LDS12-LB will consider there is a network connection and resend all NONE-ACK messages. 499 499 ))) 500 500 501 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 502 502 503 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LHT65N%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20Manual/WebHome/image-20220703111700-2.png?width=1119&height=381&rev=1.1||alt="图片-20220703111700-2.png" height="381" width="1119"]] 504 504 484 +=== 2.5.2 Unix TimeStamp === 505 505 506 -=== 2.6.2 Unix TimeStamp === 507 507 508 - 509 509 LDS12-LB uses Unix TimeStamp format based on 510 510 511 511 [[image:http://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="图片-20220523001219-11.png" height="97" width="627"]] ... ... @@ -520,7 +520,7 @@ 520 520 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 521 521 522 522 523 -=== 2. 6.3 Set Device Time ===501 +=== 2.5.3 Set Device Time === 524 524 525 525 526 526 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. ... ... @@ -530,13 +530,13 @@ 530 530 (% 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.** 531 531 532 532 533 -=== 2. 6.4 Poll sensor value ===511 +=== 2.5.4 Poll sensor value === 534 534 535 535 536 536 Users can poll sensor values based on timestamps. Below is the downlink command. 537 537 538 538 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %) 539 -|(% colspan="4" style="background-color:# d9e2f3; color:#0070c0; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**517 +|(% colspan="4" style="background-color:#4f81bd; color:white; width:423px" %)**Downlink Command to poll Open/Close status (0x31)** 540 540 |(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte** 541 541 |(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval 542 542 ... ... @@ -557,7 +557,7 @@ 557 557 ))) 558 558 559 559 560 -== 2. 7Frequency Plans ==538 +== 2.6 Frequency Plans == 561 561 562 562 563 563 The LDS12-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. ... ... @@ -565,92 +565,8 @@ 565 565 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 566 566 567 567 568 - ==2.8 LiDARToF Measurement==546 +(% style="color:inherit; font-family:inherit; font-size:29px" %)3. Configure LDS12-LB 569 569 570 -=== 2.8.1 Principle of Distance Measurement === 571 - 572 - 573 -The LiDAR probe is based on TOF, namely, Time of Flight principle. To be specific, the product emits modulation wave of near infrared ray on a periodic basis, which will be reflected after contacting object. The product obtains the time of flight by measuring round-trip phase difference and then calculates relative range between the product and the detection object, as shown below. 574 - 575 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654831757579-263.png?rev=1.1||alt="1654831757579-263.png"]] 576 - 577 - 578 -=== 2.8.2 Distance Measurement Characteristics === 579 - 580 - 581 -With optimization of light path and algorithm, The LiDAR probe has minimized influence from external environment on distance measurement performance. Despite that, the range of distance measurement may still be affected by the environment illumination intensity and the reflectivity of detection object. As shown in below: 582 - 583 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654831774373-275.png?rev=1.1||alt="1654831774373-275.png"]] 584 - 585 - 586 -((( 587 -(% style="color:blue" %)**① **(%%)Represents the detection blind zone of The LiDAR probe, 0-10cm, within which the output data is unreliable. 588 -))) 589 - 590 -((( 591 -(% style="color:blue" %)**② **(%%)Represents the operating range of The LiDAR probe detecting black target with 10% reflectivity, 0.1-5m. 592 -))) 593 - 594 -((( 595 -(% style="color:blue" %)**③ **(%%)Represents the operating range of The LiDAR probe detecting white target with 90% reflectivity, 0.1-12m. 596 -))) 597 - 598 - 599 -((( 600 -Vertical Coordinates: Represents the radius of light spot for The LiDAR probe at different distances. The diameter of light spot depends on the FOV of The LiDAR probe (the term of FOV generally refers to the smaller value between the receiving angle and the transmitting angle), which is calculated as follows: 601 -))) 602 - 603 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654831797521-720.png?rev=1.1||alt="1654831797521-720.png"]] 604 - 605 -((( 606 -In the formula above, d is the diameter of light spot; D is detecting range; β is the value of the receiving angle of The LiDAR probe, 3.6°. Correspondence between the diameter of light spot and detecting range is given in Table below. 607 -))) 608 - 609 -[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LLDS12-LoRaWAN%20LiDAR%20ToF%20Distance%20Sensor%20User%20Manual/WebHome/1654831810009-716.png?rev=1.1||alt="1654831810009-716.png"]] 610 - 611 -((( 612 -If the light spot reaches two objects with different distances, as shown in Figure 3, the output distance value will be a value between the actual distance values of the two objects. For a high accuracy requirement in practice, the above situation should be noticed to avoid the measurement error. 613 -))) 614 - 615 - 616 -=== 2.8.3 Notice of usage === 617 - 618 - 619 -Possible invalid /wrong reading for LiDAR ToF tech: 620 - 621 -* Measure high reflectivity object such as: Mirror, Smooth ceramic tile, static milk surface, will have possible wrong readings. 622 -* While there is transparent object such as glass, water drop between the measured object and the LiDAR sensor, the reading might be wrong. 623 -* The LiDAR probe is cover by dirty things; the reading might be wrong. In this case, need to clean the probe. 624 -* The sensor window is made by Acrylic. Don't touch it with alcohol material. This will destroy the sensor window. 625 - 626 -=== 2.8.4 Reflectivity of different objects === 627 - 628 - 629 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:379px" %) 630 -|=(% style="width: 54px;background-color:#4F81BD;color:white" %)Item|=(% style="width: 231px;background-color:#4F81BD;color:white" %)Material|=(% style="width: 94px;background-color:#4F81BD;color:white" %)Relectivity 631 -|(% style="width:53px" %)1|(% style="width:229px" %)Black foam rubber|(% style="width:93px" %)2.4% 632 -|(% style="width:53px" %)2|(% style="width:229px" %)Black fabric|(% style="width:93px" %)3% 633 -|(% style="width:53px" %)3|(% style="width:229px" %)Black rubber|(% style="width:93px" %)4% 634 -|(% style="width:53px" %)4|(% style="width:229px" %)Coal (different types of coal)|(% style="width:93px" %)4~~8% 635 -|(% style="width:53px" %)5|(% style="width:229px" %)Black car paint|(% style="width:93px" %)5% 636 -|(% style="width:53px" %)6|(% style="width:229px" %)Black Jam|(% style="width:93px" %)10% 637 -|(% style="width:53px" %)7|(% style="width:229px" %)Opaque black plastic|(% style="width:93px" %)14% 638 -|(% style="width:53px" %)8|(% style="width:229px" %)Clean rough board|(% style="width:93px" %)20% 639 -|(% style="width:53px" %)9|(% style="width:229px" %)Translucent plastic bottle|(% style="width:93px" %)62% 640 -|(% style="width:53px" %)10|(% style="width:229px" %)Carton cardboard|(% style="width:93px" %)68% 641 -|(% style="width:53px" %)11|(% style="width:229px" %)Clean pine|(% style="width:93px" %)70% 642 -|(% style="width:53px" %)12|(% style="width:229px" %)Opaque white plastic|(% style="width:93px" %)87% 643 -|(% style="width:53px" %)13|(% style="width:229px" %)White Jam|(% style="width:93px" %)90% 644 -|(% style="width:53px" %)14|(% style="width:229px" %)Kodak Standard Whiteboard|(% style="width:93px" %)100% 645 -|(% style="width:53px" %)15|(% style="width:229px" %)((( 646 -Unpolished white metal surface 647 -)))|(% style="width:93px" %)130% 648 -|(% style="width:53px" %)16|(% style="width:229px" %)Glossy light metal surface|(% style="width:93px" %)150% 649 -|(% style="width:53px" %)17|(% style="width:229px" %)stainless steel|(% style="width:93px" %)200% 650 -|(% style="width:53px" %)18|(% style="width:229px" %)Reflector plate, reflective tape|(% style="width:93px" %)>300% 651 - 652 -= 3. Configure LDS12-LB = 653 - 654 654 == 3.1 Configure Methods == 655 655 656 656 ... ... @@ -730,9 +730,9 @@ 730 730 === 3.3.2 Set Interrupt Mode === 731 731 732 732 733 -Feature, Set Interrupt mode for PA8ofpin.627 +Feature, Set Interrupt mode for pin of GPIO_EXTI. 734 734 735 -When AT+INTMOD=0 is set, P A8is used as a digital input port.629 +When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port. 736 736 737 737 (% style="color:blue" %)**AT Command: AT+INTMOD** 738 738 ... ... @@ -743,7 +743,11 @@ 743 743 OK 744 744 the mode is 0 =Disable Interrupt 745 745 ))) 746 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 640 +|(% style="width:154px" %)((( 641 +AT+INTMOD=2 642 + 643 +(default) 644 +)))|(% style="width:196px" %)((( 747 747 Set Transmit Interval 748 748 0. (Disable Interrupt), 749 749 ~1. (Trigger by rising and falling edge) ... ... @@ -761,33 +761,7 @@ 761 761 762 762 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 763 763 764 -=== 3.3.3 Set Power Output Duration === 765 765 766 -Control the output duration 3V3 . Before each sampling, device will 767 - 768 -~1. first enable the power output to external sensor, 769 - 770 -2. keep it on as per duration, read sensor value and construct uplink payload 771 - 772 -3. final, close the power output. 773 - 774 -(% style="color:blue" %)**AT Command: AT+3V3T** 775 - 776 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 777 -|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 197px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 158px;background-color:#4F81BD;color:white" %)**Response** 778 -|(% style="width:154px" %)AT+3V3T=?|(% style="width:196px" %)Show 3V3 open time.|(% style="width:157px" %)0 (default) 779 -OK 780 -|(% style="width:154px" %)AT+3V3T=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK 781 -|(% style="width:154px" %)AT+3V3T=0|(% style="width:196px" %)Always turn on the power supply of 3V3 pin.|(% style="width:157px" %)OK 782 - 783 -(% style="color:blue" %)**Downlink Command: 0x07**(%%) 784 -Format: Command Code (0x07) followed by 3 bytes. 785 - 786 -The first byte is 01,the second and third bytes are the time to turn on. 787 - 788 -* Example 1: Downlink Payload: 07 01 00 00 **~-~-->** AT+3V3T=0 789 -* Example 2: Downlink Payload: 07 01 01 F4 **~-~-->** AT+3V3T=500 790 - 791 791 = 4. Battery & Power Consumption = 792 792 793 793 ... ... @@ -856,7 +856,7 @@ 856 856 = 8. Order Info = 857 857 858 858 859 -Part Number: (% style="color:blue" %)** LDS12-LB-XXX**731 +Part Number: (% style="color:blue" %)**DS20L-XXX** 860 860 861 861 (% style="color:red" %)**XXX**(%%): **The default frequency band** 862 862 ... ... @@ -881,7 +881,7 @@ 881 881 882 882 (% style="color:#037691" %)**Package Includes**: 883 883 884 -* LDS12-LBLoRaWANLiDARToFDistanceSensor x 1756 +* DS20L LoRaWAN Smart Distance Detector x 1 885 885 886 886 (% style="color:#037691" %)**Dimension and weight**: 887 887
- image-20230805103904-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.9 KB - Content
- image-20230805104104-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +46.3 KB - Content
- image-20230805144259-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +872.7 KB - Content
- image-20230805144936-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +37.5 KB - Content
- image-20230805145056-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +30.7 KB - Content
- image-20230805150315-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +90.6 KB - Content
- image-20230805155335-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.4 KB - Content
- image-20230805155428-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.5 KB - Content
- image-20230805155515-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +45.7 KB - Content
- image-20231110085300-1.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +613.3 KB - Content
- image-20231110085342-2.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +178.7 KB - Content
- image-20231110091447-3.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +85.4 KB - Content
- image-20231110091506-4.png
-
- Author
-
... ... @@ -1,0 +1,1 @@ 1 +XWiki.Xiaoling - Size
-
... ... @@ -1,0 +1,1 @@ 1 +85.4 KB - Content