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,29 +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 319 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 320 320 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)((( 321 321 **Size(bytes)** 322 -)))|=(% style="width: 30px;background-color:#4F81BD;color:white" %)**2**|=(% style="width: 80px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white" %)**2**|=(% style="width: 50px;background-color:#4F81BD;color:white" %)**2**|=(% style="background-color:#4F81BD;color:white; width:122px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 70px;" %)**1**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** 323 323 |(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:62.5px" %)((( 324 324 [[Temperature DS18B20>>||anchor="HDS18B20Temperaturesensor"]] 325 325 )))|[[Distance>>||anchor="HDistance"]]|[[Distance signal strength>>||anchor="HDistancesignalstrength"]]|(% style="width:122px" %)((( 326 -[[Interrupt flag & Interrupt_level||anchor="HInterruptPin26A0InterruptLevel" >>]]217 +[[Interrupt flag & Interrupt_level>>||anchor="HInterruptPin26A0InterruptLevel"]] 327 327 )))|(% style="width:54px" %)[[LiDAR temp>>||anchor="HLiDARtemp"]]|(% style="width:96px" %)((( 328 328 [[Message Type>>||anchor="HMessageType"]] 329 329 ))) 330 330 331 -[[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"]] 332 332 333 333 334 -====(% style="color:blue" %)**Battery Info** ==== 225 +==== (% style="color:blue" %)**Battery Info**(%%) ==== 335 335 336 336 337 337 Check the battery voltage for LDS12-LB. ... ... @@ -341,7 +341,7 @@ 341 341 Ex2: 0x0B49 = 2889mV 342 342 343 343 344 -====(% style="color:blue" %)**DS18B20 Temperature sensor** ==== 235 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ==== 345 345 346 346 347 347 This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature. ... ... @@ -354,7 +354,7 @@ 354 354 If payload is: FF3FH : (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees. 355 355 356 356 357 -====(% style="color:blue" %)**Distance** ==== 248 +==== (% style="color:blue" %)**Distance**(%%) ==== 358 358 359 359 360 360 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. ... ... @@ -365,7 +365,7 @@ 365 365 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. 366 366 367 367 368 -====(% style="color:blue" %)**Distance signal strength** ==== 259 +==== (% style="color:blue" %)**Distance signal strength**(%%) ==== 369 369 370 370 371 371 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. ... ... @@ -378,21 +378,36 @@ 378 378 Customers can judge whether they need to adjust the environment based on the signal strength. 379 379 380 380 381 - ====(% style="color:blue" %)**InterruptPin& InterruptLevel**====272 +**1) When the sensor detects valid data:** 382 382 274 +[[image:image-20230805155335-1.png||height="145" width="724"]] 383 383 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 + 384 384 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. 385 385 386 -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 . 387 387 388 388 **Example:** 389 389 390 -0x00: Normal uplink packet. 296 +If byte[0]&0x01=0x00 : Normal uplink packet. 391 391 392 -0x01: Interrupt Uplink Packet. 298 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet. 393 393 394 394 395 -====(% style="color:blue" %)**LiDAR temp** ==== 301 +==== (% style="color:blue" %)**LiDAR temp**(%%) ==== 396 396 397 397 398 398 Characterize the internal temperature value of the sensor. ... ... @@ -402,7 +402,7 @@ 402 402 If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃. 403 403 404 404 405 -====(% style="color:blue" %)**Message Type** ==== 311 +==== (% style="color:blue" %)**Message Type**(%%) ==== 406 406 407 407 408 408 ((( ... ... @@ -415,14 +415,97 @@ 415 415 416 416 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %) 417 417 |=(% 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** 418 -|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %) [[Normal Uplink Payload>>||anchor="H2.3200BUplinkPayload"]]419 -|(% 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 420 420 327 +[[image:image-20230805150315-4.png||height="233" width="723"]] 421 421 422 422 423 -=== 2.3.3 Decodepayloadin TheThingsNetwork===330 +=== 2.3.3 Historical measuring distance, FPORT~=3 === 424 424 425 425 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 + 426 426 While using TTN network, you can add the payload format to decode the payload. 427 427 428 428 [[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"]] ... ... @@ -437,15 +437,9 @@ 437 437 ))) 438 438 439 439 440 -== 2.4 Uplink Interval==429 +== 2.4 Show Data in DataCake IoT Server == 441 441 442 442 443 -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"]] 444 - 445 - 446 -== 2.5 Show Data in DataCake IoT Server == 447 - 448 - 449 449 ((( 450 450 [[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: 451 451 ))) ... ... @@ -478,13 +478,13 @@ 478 478 [[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"]] 479 479 480 480 481 -== 2. 6Datalog Feature ==464 +== 2.5 Datalog Feature == 482 482 483 483 484 484 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. 485 485 486 486 487 -=== 2. 6.1 Ways to get datalog via LoRaWAN ===470 +=== 2.5.1 Ways to get datalog via LoRaWAN === 488 488 489 489 490 490 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. ... ... @@ -496,14 +496,11 @@ 496 496 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. 497 497 ))) 498 498 499 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 500 500 501 -[[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"]] 502 502 484 +=== 2.5.2 Unix TimeStamp === 503 503 504 -=== 2.6.2 Unix TimeStamp === 505 505 506 - 507 507 LDS12-LB uses Unix TimeStamp format based on 508 508 509 509 [[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"]] ... ... @@ -518,7 +518,7 @@ 518 518 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 519 519 520 520 521 -=== 2. 6.3 Set Device Time ===501 +=== 2.5.3 Set Device Time === 522 522 523 523 524 524 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. ... ... @@ -528,13 +528,13 @@ 528 528 (% 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.** 529 529 530 530 531 -=== 2. 6.4 Poll sensor value ===511 +=== 2.5.4 Poll sensor value === 532 532 533 533 534 534 Users can poll sensor values based on timestamps. Below is the downlink command. 535 535 536 536 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %) 537 -|(% 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)** 538 538 |(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte** 539 539 |(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval 540 540 ... ... @@ -555,7 +555,7 @@ 555 555 ))) 556 556 557 557 558 -== 2. 7Frequency Plans ==538 +== 2.6 Frequency Plans == 559 559 560 560 561 561 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. ... ... @@ -563,92 +563,8 @@ 563 563 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 564 564 565 565 566 - ==2.8 LiDARToF Measurement==546 +(% style="color:inherit; font-family:inherit; font-size:29px" %)3. Configure LDS12-LB 567 567 568 -=== 2.8.1 Principle of Distance Measurement === 569 - 570 - 571 -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. 572 - 573 -[[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"]] 574 - 575 - 576 -=== 2.8.2 Distance Measurement Characteristics === 577 - 578 - 579 -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: 580 - 581 -[[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"]] 582 - 583 - 584 -((( 585 -(% style="color:blue" %)**① **(%%)Represents the detection blind zone of The LiDAR probe, 0-10cm, within which the output data is unreliable. 586 -))) 587 - 588 -((( 589 -(% style="color:blue" %)**② **(%%)Represents the operating range of The LiDAR probe detecting black target with 10% reflectivity, 0.1-5m. 590 -))) 591 - 592 -((( 593 -(% style="color:blue" %)**③ **(%%)Represents the operating range of The LiDAR probe detecting white target with 90% reflectivity, 0.1-12m. 594 -))) 595 - 596 - 597 -((( 598 -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: 599 -))) 600 - 601 -[[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"]] 602 - 603 -((( 604 -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. 605 -))) 606 - 607 -[[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"]] 608 - 609 -((( 610 -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. 611 -))) 612 - 613 - 614 -=== 2.8.3 Notice of usage === 615 - 616 - 617 -Possible invalid /wrong reading for LiDAR ToF tech: 618 - 619 -* Measure high reflectivity object such as: Mirror, Smooth ceramic tile, static milk surface, will have possible wrong readings. 620 -* While there is transparent object such as glass, water drop between the measured object and the LiDAR sensor, the reading might be wrong. 621 -* The LiDAR probe is cover by dirty things; the reading might be wrong. In this case, need to clean the probe. 622 -* The sensor window is made by Acrylic. Don't touch it with alcohol material. This will destroy the sensor window. 623 - 624 -=== 2.8.4 Reflectivity of different objects === 625 - 626 - 627 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:379px" %) 628 -|=(% 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 629 -|(% style="width:53px" %)1|(% style="width:229px" %)Black foam rubber|(% style="width:93px" %)2.4% 630 -|(% style="width:53px" %)2|(% style="width:229px" %)Black fabric|(% style="width:93px" %)3% 631 -|(% style="width:53px" %)3|(% style="width:229px" %)Black rubber|(% style="width:93px" %)4% 632 -|(% style="width:53px" %)4|(% style="width:229px" %)Coal (different types of coal)|(% style="width:93px" %)4~~8% 633 -|(% style="width:53px" %)5|(% style="width:229px" %)Black car paint|(% style="width:93px" %)5% 634 -|(% style="width:53px" %)6|(% style="width:229px" %)Black Jam|(% style="width:93px" %)10% 635 -|(% style="width:53px" %)7|(% style="width:229px" %)Opaque black plastic|(% style="width:93px" %)14% 636 -|(% style="width:53px" %)8|(% style="width:229px" %)Clean rough board|(% style="width:93px" %)20% 637 -|(% style="width:53px" %)9|(% style="width:229px" %)Translucent plastic bottle|(% style="width:93px" %)62% 638 -|(% style="width:53px" %)10|(% style="width:229px" %)Carton cardboard|(% style="width:93px" %)68% 639 -|(% style="width:53px" %)11|(% style="width:229px" %)Clean pine|(% style="width:93px" %)70% 640 -|(% style="width:53px" %)12|(% style="width:229px" %)Opaque white plastic|(% style="width:93px" %)87% 641 -|(% style="width:53px" %)13|(% style="width:229px" %)White Jam|(% style="width:93px" %)90% 642 -|(% style="width:53px" %)14|(% style="width:229px" %)Kodak Standard Whiteboard|(% style="width:93px" %)100% 643 -|(% style="width:53px" %)15|(% style="width:229px" %)((( 644 -Unpolished white metal surface 645 -)))|(% style="width:93px" %)130% 646 -|(% style="width:53px" %)16|(% style="width:229px" %)Glossy light metal surface|(% style="width:93px" %)150% 647 -|(% style="width:53px" %)17|(% style="width:229px" %)stainless steel|(% style="width:93px" %)200% 648 -|(% style="width:53px" %)18|(% style="width:229px" %)Reflector plate, reflective tape|(% style="width:93px" %)>300% 649 - 650 -= 3. Configure LDS12-LB = 651 - 652 652 == 3.1 Configure Methods == 653 653 654 654 ... ... @@ -728,9 +728,9 @@ 728 728 === 3.3.2 Set Interrupt Mode === 729 729 730 730 731 -Feature, Set Interrupt mode for PA8ofpin.627 +Feature, Set Interrupt mode for pin of GPIO_EXTI. 732 732 733 -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. 734 734 735 735 (% style="color:blue" %)**AT Command: AT+INTMOD** 736 736 ... ... @@ -741,7 +741,11 @@ 741 741 OK 742 742 the mode is 0 =Disable Interrupt 743 743 ))) 744 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 640 +|(% style="width:154px" %)((( 641 +AT+INTMOD=2 642 + 643 +(default) 644 +)))|(% style="width:196px" %)((( 745 745 Set Transmit Interval 746 746 0. (Disable Interrupt), 747 747 ~1. (Trigger by rising and falling edge) ... ... @@ -759,33 +759,7 @@ 759 759 760 760 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 761 761 762 -=== 3.3.3 Set Power Output Duration === 763 763 764 -Control the output duration 3V3 . Before each sampling, device will 765 - 766 -~1. first enable the power output to external sensor, 767 - 768 -2. keep it on as per duration, read sensor value and construct uplink payload 769 - 770 -3. final, close the power output. 771 - 772 -(% style="color:blue" %)**AT Command: AT+3V3T** 773 - 774 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 775 -|=(% 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** 776 -|(% style="width:154px" %)AT+3V3T=?|(% style="width:196px" %)Show 3V3 open time.|(% style="width:157px" %)0 (default) 777 -OK 778 -|(% style="width:154px" %)AT+3V3T=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK 779 -|(% style="width:154px" %)AT+3V3T=0|(% style="width:196px" %)Always turn on the power supply of 3V3 pin.|(% style="width:157px" %)OK 780 - 781 -(% style="color:blue" %)**Downlink Command: 0x07**(%%) 782 -Format: Command Code (0x07) followed by 3 bytes. 783 - 784 -The first byte is 01,the second and third bytes are the time to turn on. 785 - 786 -* Example 1: Downlink Payload: 07 01 00 00 **~-~-->** AT+3V3T=0 787 -* Example 2: Downlink Payload: 07 01 01 F4 **~-~-->** AT+3V3T=500 788 - 789 789 = 4. Battery & Power Consumption = 790 790 791 791 ... ... @@ -854,7 +854,7 @@ 854 854 = 8. Order Info = 855 855 856 856 857 -Part Number: (% style="color:blue" %)** LDS12-LB-XXX**731 +Part Number: (% style="color:blue" %)**DS20L-XXX** 858 858 859 859 (% style="color:red" %)**XXX**(%%): **The default frequency band** 860 860 ... ... @@ -879,7 +879,7 @@ 879 879 880 880 (% style="color:#037691" %)**Package Includes**: 881 881 882 -* LDS12-LBLoRaWANLiDARToFDistanceSensor x 1756 +* DS20L LoRaWAN Smart Distance Detector x 1 883 883 884 884 (% style="color:#037691" %)**Dimension and weight**: 885 885
- 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