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 (3 modified, 0 added, 0 removed)
-
Attachments (0 modified, 0 added, 11 removed)
Details
- Page properties
-
- Title
-
... ... @@ -1,1 +1,1 @@ 1 -DS2 0L -- LoRaWANSmartDistanceDetector User Manual1 +LDS12-LB -- LoRaWAN LiDAR ToF Distance Sensor User Manual - Author
-
... ... @@ -1,1 +1,1 @@ 1 -XWiki. Xiaoling1 +XWiki.Saxer - Content
-
... ... @@ -1,5 +1,5 @@ 1 1 (% style="text-align:center" %) 2 -[[image:image-202311 10085342-2.png||height="481" width="481"]]2 +[[image:image-20230614153353-1.png]] 3 3 4 4 5 5 ... ... @@ -7,7 +7,6 @@ 7 7 8 8 9 9 10 - 11 11 **Table of Contents:** 12 12 13 13 {{toc/}} ... ... @@ -19,59 +19,178 @@ 19 19 20 20 = 1. Introduction = 21 21 22 -== 1.1 What is LoRaWAN SmartDistanceDetector ==21 +== 1.1 What is LoRaWAN LiDAR ToF Distance Sensor == 23 23 24 24 25 -The Dragino (% style="color:blue" %)** DS20L isasmartdistancedetector**(%%)baseonlong-rangewireless LoRaWANtechnology. Ituses(% style="color:blue"%)**LiDARsensor**(%%) to detectthe distancebetweenDS20Landobject,thenDS20Lwill send thedistancedatatotheIoTPlatformviaLoRaWAN.24 +The Dragino LDS12-LB is a (% style="color:blue" %)**LoRaWAN LiDAR ToF (Time of Flight) Distance Sensor**(%%) for Internet of Things solution. It is capable to measure the distance to an object as close as 10 centimeters (+/- 5cm up to 6m) and as far as 12 meters (+/-1% starting at 6m)!. The LiDAR probe uses laser induction technology for distance measurement. 26 26 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. 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. 29 29 30 - DS20Lhasa (% style="color:blue"%)**built-in2400mAh non-chargeablebattery**(%%) for long-term useupto severalyears*. Userscan alsopower DS20L withanexternalpowersourcefor (%style="color:blue"%)**continuousmeasuringanddistancealarm/ countingpurposes.**28 +It detects the distance between the measured object and the sensor, and uploads the value via wireless to LoRaWAN IoT Server. 31 31 32 - DS20L isfullycompatiblewith(%style="color:blue"%)**LoRaWANv1.0.3 ClassAprotocol**(%%),itcanworkwithastandardLoRaWAN gateway.30 +The LoRa wireless technology used in LDS12-LB allows device to send data and reach extremely long ranges at low data-rates. It provides ultra-long range spread spectrum communication and high interference immunity whilst minimizing current consumption. 33 33 34 -DS2 0Lsupports(% style="color:blue" %)**Datalogfeature**(%%).Itwill record thedatawhen thereis no network coverageand userscanretrieve the sensorvaluelatertoensure no miss forevery sensor reading.32 +LDS12-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use. 35 35 36 - [[image:image-20231110091506-4.png||height="391"width="768"]]34 +LDS12-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years. 37 37 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. 38 38 38 +[[image:image-20230615152941-1.png||height="459" width="800"]] 39 + 40 + 39 39 == 1.2 Features == 40 40 41 41 42 -* LoRaWAN Class A protocol 43 -* LiDAR distance detector, range 3 ~~ 200cm 44 -* Periodically detect or continuously detect mode 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 45 45 * AT Commands to change parameters 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 54 +* Downlink to change configure 55 +* 8500mAh Battery for long term use 51 51 57 + 58 + 52 52 == 1.3 Specification == 53 53 54 54 55 -(% style="color:#037691" %)** LiDARSensor:**62 +(% style="color:#037691" %)**Common DC Characteristics:** 56 56 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 +* Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v 65 +* Operating Temperature: -40 ~~ 85°C 64 64 67 +(% style="color:#037691" %)**Probe Specification:** 65 65 69 +* Storage temperature:-20℃~~75℃ 70 +* Operating temperature : -20℃~~60℃ 71 +* Measure Distance: 72 +** 0.1m ~~ 12m @ 90% Reflectivity 73 +** 0.1m ~~ 4m @ 10% Reflectivity 74 +* Accuracy : ±5cm@(0.1-6m), ±1%@(6m-12m) 75 +* Distance resolution : 5mm 76 +* Ambient light immunity : 70klux 77 +* Enclosure rating : IP65 78 +* Light source : LED 79 +* Central wavelength : 850nm 80 +* FOV : 3.6° 81 +* Material of enclosure : ABS+PC 82 +* Wire length : 25cm 83 + 84 +(% style="color:#037691" %)**LoRa Spec:** 85 + 86 +* Frequency Range, Band 1 (HF): 862 ~~ 1020 Mhz 87 +* Max +22 dBm constant RF output vs. 88 +* RX sensitivity: down to -139 dBm. 89 +* Excellent blocking immunity 90 + 91 +(% style="color:#037691" %)**Battery:** 92 + 93 +* Li/SOCI2 un-chargeable battery 94 +* Capacity: 8500mAh 95 +* Self-Discharge: <1% / Year @ 25°C 96 +* Max continuously current: 130mA 97 +* Max boost current: 2A, 1 second 98 + 99 +(% style="color:#037691" %)**Power Consumption** 100 + 101 +* Sleep Mode: 5uA @ 3.3v 102 +* LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm 103 + 104 + 105 + 106 +== 1.4 Applications == 107 + 108 + 109 +* Horizontal distance measurement 110 +* Parking management system 111 +* Object proximity and presence detection 112 +* Intelligent trash can management system 113 +* Robot obstacle avoidance 114 +* Automatic control 115 +* Sewer 116 + 117 + 118 + 66 66 (% style="display:none" %) 67 67 121 +== 1.5 Sleep mode and working mode == 68 68 69 -= 2. Configure DS20L to connect to LoRaWAN network = 70 70 124 +(% 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. 125 + 126 +(% 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. 127 + 128 + 129 +== 1.6 Button & LEDs == 130 + 131 + 132 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]] 133 + 134 + 135 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 136 +|=(% style="width: 167px;background-color:#4F81BD;color:white" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 225px;background-color:#4F81BD;color:white" %)**Action** 137 +|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)((( 138 +If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once. 139 +Meanwhile, BLE module will be active and user can connect via BLE to configure device. 140 +))) 141 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)((( 142 +(% 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. 143 +(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network. 144 +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. 145 +))) 146 +|(% 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. 147 + 148 + 149 + 150 +== 1.7 BLE connection == 151 + 152 + 153 +LDS12-LB support BLE remote configure. 154 + 155 +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: 156 + 157 +* Press button to send an uplink 158 +* Press button to active device. 159 +* Device Power on or reset. 160 + 161 +If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode. 162 + 163 + 164 +== 1.8 Pin Definitions == 165 + 166 +[[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"]] 167 + 168 + 169 +== 1.9 Mechanical == 170 + 171 + 172 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]] 173 + 174 + 175 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]] 176 + 177 + 178 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]] 179 + 180 + 181 +(% style="color:blue" %)**Probe Mechanical:** 182 + 183 + 184 +[[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"]] 185 + 186 + 187 += 2. Configure LDS12-LB to connect to LoRaWAN network = 188 + 71 71 == 2.1 How it works == 72 72 73 73 74 -The DS2 0L 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 press the button to activate the DS20L. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.192 +The LDS12-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 press the button to activate the LDS12-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes. 75 75 76 76 (% style="display:none" %) (%%) 77 77 ... ... @@ -82,12 +82,12 @@ 82 82 83 83 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. 84 84 85 -[[image:image-202311 10091447-3.png||height="383" width="752"]](% style="display:none" %)203 +[[image:image-20230615153004-2.png||height="459" width="800"]](% style="display:none" %) 86 86 87 87 88 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS2 0L.206 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from LDS12-LB. 89 89 90 -Each DS2 0L is shipped with a sticker with the default device EUI as below:208 +Each LDS12-LB is shipped with a sticker with the default device EUI as below: 91 91 92 92 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]] 93 93 ... ... @@ -116,10 +116,10 @@ 116 116 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-6.png?width=744&height=485&rev=1.1||alt="图片-20220611161308-6.png"]] 117 117 118 118 119 -(% style="color:blue" %)**Step 2:**(%%) Activate on DS2 0L237 +(% style="color:blue" %)**Step 2:**(%%) Activate on LDS12-LB 120 120 121 121 122 -Press the button for 5 seconds to activate the DS2 0L.240 +Press the button for 5 seconds to activate the LDS12-LB. 123 123 124 124 (% 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. 125 125 ... ... @@ -131,7 +131,7 @@ 131 131 === 2.3.1 Device Status, FPORT~=5 === 132 132 133 133 134 -Users can use the downlink command(**0x26 01**) to ask DS2 0L to send device configure detail, include device configure status. DS20L will uplink a payload via FPort=5 to server.252 +Users can use the downlink command(**0x26 01**) to ask LDS12-LB to send device configure detail, include device configure status. LDS12-LB will uplink a payload via FPort=5 to server. 135 135 136 136 The Payload format is as below. 137 137 ... ... @@ -143,10 +143,8 @@ 143 143 144 144 Example parse in TTNv3 145 145 146 - [[image:image-20230805103904-1.png||height="131"width="711"]]264 +(% style="color:blue" %)**Sensor Model**(%%): For LDS12-LB, this value is 0x24 147 147 148 -(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x24 149 - 150 150 (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version 151 151 152 152 (% style="color:blue" %)**Frequency Band**: ... ... @@ -200,11 +200,11 @@ 200 200 201 201 202 202 ((( 203 -DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will: 319 +LDS12-LB will uplink payload via LoRaWAN with below payload format: 320 +))) 204 204 205 -periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]]. 206 - 207 -Uplink Payload totals 11 bytes. 322 +((( 323 +Uplink payload includes in total 11 bytes. 208 208 ))) 209 209 210 210 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) ... ... @@ -219,13 +219,13 @@ 219 219 [[Message Type>>||anchor="HMessageType"]] 220 220 ))) 221 221 222 -[[image:i mage-20230805104104-2.png||height="136" width="754"]]338 +[[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"]] 223 223 224 224 225 225 ==== (% style="color:blue" %)**Battery Info**(%%) ==== 226 226 227 227 228 -Check the battery voltage for DS2 0L.344 +Check the battery voltage for LDS12-LB. 229 229 230 230 Ex1: 0x0B45 = 2885mV 231 231 ... ... @@ -269,33 +269,18 @@ 269 269 Customers can judge whether they need to adjust the environment based on the signal strength. 270 270 271 271 272 -**1) When the sensor detects valid data:** 273 - 274 -[[image:image-20230805155335-1.png||height="145" width="724"]] 275 - 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 287 ==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ==== 288 288 289 289 290 290 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. 291 291 292 -Note: The Internet Pin is a separate pin in the screw terminal. See of GPIO_EXTI.393 +Note: The Internet Pin is a separate pin in the screw terminal. See [[pin mapping>>||anchor="H1.8PinDefinitions"]]. 293 293 294 294 **Example:** 295 295 296 - If byte[0]&0x01=0x00: Normal uplink packet.397 +0x00: Normal uplink packet. 297 297 298 - If byte[0]&0x01=0x01: Interrupt Uplink Packet.399 +0x01: Interrupt Uplink Packet. 299 299 300 300 301 301 ==== (% style="color:blue" %)**LiDAR temp**(%%) ==== ... ... @@ -321,97 +321,14 @@ 321 321 322 322 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %) 323 323 |=(% 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** 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 425 +|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)[[Normal Uplink Payload>>||anchor="H2.3200BUplinkPayload"]] 426 +|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)[[Configure Info Payload>>||anchor="H3.ConfigureLDS12-LB"]] 326 326 327 -[[image:image-20230805150315-4.png||height="233" width="723"]] 328 328 329 329 330 -=== 2.3.3 Historicalmeasuringdistance,FPORT~=3===430 +=== 2.3.3 Decode payload in The Things Network === 331 331 332 332 333 -DS20L 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, DS20L 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 DS20L 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 - 415 415 While using TTN network, you can add the payload format to decode the payload. 416 416 417 417 [[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"]] ... ... @@ -422,13 +422,19 @@ 422 422 ))) 423 423 424 424 ((( 425 -DS2 0L TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]443 +LDS12-LB TTN Payload Decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]] 426 426 ))) 427 427 428 428 429 -== 2.4 Show DatainDataCakeIoT Server==447 +== 2.4 Uplink Interval == 430 430 431 431 450 +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"]] 451 + 452 + 453 +== 2.5 Show Data in DataCake IoT Server == 454 + 455 + 432 432 ((( 433 433 [[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: 434 434 ))) ... ... @@ -451,7 +451,7 @@ 451 451 452 452 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.** 453 453 454 -(% style="color:blue" %)**Step 4**(%%)**: Search the DS2 0L and add DevEUI.**478 +(% style="color:blue" %)**Step 4**(%%)**: Search the LDS12-LB and add DevEUI.** 455 455 456 456 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654851029373-510.png?rev=1.1||alt="1654851029373-510.png"]] 457 457 ... ... @@ -461,31 +461,34 @@ 461 461 [[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"]] 462 462 463 463 464 -== 2. 5Datalog Feature ==488 +== 2.6 Datalog Feature == 465 465 466 466 467 -Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DS2 0L will store the reading for future retrieving purposes.491 +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. 468 468 469 469 470 -=== 2. 5.1 Ways to get datalog via LoRaWAN ===494 +=== 2.6.1 Ways to get datalog via LoRaWAN === 471 471 472 472 473 -Set PNACKMD=1, DS2 0L will wait for ACK for every uplink, when there is no LoRaWAN network,0L 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.497 +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. 474 474 475 475 * ((( 476 -a) DS2 0L will do an ACK check for data records sending to make sure every data arrive server.500 +a) LDS12-LB will do an ACK check for data records sending to make sure every data arrive server. 477 477 ))) 478 478 * ((( 479 -b) DS2 0L will send data in **CONFIRMED Mode** when PNACKMD=1, but DS20L 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 DS20L gets a ACK, DS20L will consider there is a network connection and resend all NONE-ACK messages.503 +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. 480 480 ))) 481 481 506 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1) 482 482 508 +[[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"]] 483 483 484 -=== 2.5.2 Unix TimeStamp === 485 485 511 +=== 2.6.2 Unix TimeStamp === 486 486 487 -DS20L uses Unix TimeStamp format based on 488 488 514 +LDS12-LB uses Unix TimeStamp format based on 515 + 489 489 [[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"]] 490 490 491 491 User can get this time from link: [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] : ... ... @@ -498,17 +498,17 @@ 498 498 So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25 499 499 500 500 501 -=== 2. 5.3 Set Device Time ===528 +=== 2.6.3 Set Device Time === 502 502 503 503 504 504 User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command. 505 505 506 -Once DS2 0L Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to DS20L. If DS20L fails to get the time from the server, DS20L will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).533 +Once LDS12-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to LDS12-LB. If LDS12-LB fails to get the time from the server, LDS12-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days). 507 507 508 508 (% 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.** 509 509 510 510 511 -=== 2. 5.4 Poll sensor value ===538 +=== 2.6.4 Poll sensor value === 512 512 513 513 514 514 Users can poll sensor values based on timestamps. Below is the downlink command. ... ... @@ -535,7 +535,7 @@ 535 535 ))) 536 536 537 537 538 -== 2. 6Frequency Plans ==565 +== 2.7 Frequency Plans == 539 539 540 540 541 541 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. ... ... @@ -543,8 +543,96 @@ 543 543 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]] 544 544 545 545 546 - (% style="color:inherit;font-family:inherit; font-size:29px"%)3. Configure LDS12-LB573 +== 2.8 LiDAR ToF Measurement == 547 547 575 +=== 2.8.1 Principle of Distance Measurement === 576 + 577 + 578 +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. 579 + 580 +[[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"]] 581 + 582 + 583 +=== 2.8.2 Distance Measurement Characteristics === 584 + 585 + 586 +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: 587 + 588 +[[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"]] 589 + 590 + 591 +((( 592 +(% style="color:blue" %)**① **(%%)Represents the detection blind zone of The LiDAR probe, 0-10cm, within which the output data is unreliable. 593 +))) 594 + 595 +((( 596 +(% style="color:blue" %)**② **(%%)Represents the operating range of The LiDAR probe detecting black target with 10% reflectivity, 0.1-5m. 597 +))) 598 + 599 +((( 600 +(% style="color:blue" %)**③ **(%%)Represents the operating range of The LiDAR probe detecting white target with 90% reflectivity, 0.1-12m. 601 +))) 602 + 603 + 604 +((( 605 +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: 606 +))) 607 + 608 +[[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"]] 609 + 610 +((( 611 +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. 612 +))) 613 + 614 +[[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"]] 615 + 616 +((( 617 +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. 618 +))) 619 + 620 + 621 +=== 2.8.3 Notice of usage === 622 + 623 + 624 +Possible invalid /wrong reading for LiDAR ToF tech: 625 + 626 +* Measure high reflectivity object such as: Mirror, Smooth ceramic tile, static milk surface, will have possible wrong readings. 627 +* While there is transparent object such as glass, water drop between the measured object and the LiDAR sensor, the reading might be wrong. 628 +* The LiDAR probe is cover by dirty things; the reading might be wrong. In this case, need to clean the probe. 629 +* The sensor window is made by Acrylic. Don't touch it with alcohol material. This will destroy the sensor window. 630 + 631 + 632 + 633 +=== 2.8.4 Reflectivity of different objects === 634 + 635 + 636 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:379px" %) 637 +|=(% 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 638 +|(% style="width:53px" %)1|(% style="width:229px" %)Black foam rubber|(% style="width:93px" %)2.4% 639 +|(% style="width:53px" %)2|(% style="width:229px" %)Black fabric|(% style="width:93px" %)3% 640 +|(% style="width:53px" %)3|(% style="width:229px" %)Black rubber|(% style="width:93px" %)4% 641 +|(% style="width:53px" %)4|(% style="width:229px" %)Coal (different types of coal)|(% style="width:93px" %)4~~8% 642 +|(% style="width:53px" %)5|(% style="width:229px" %)Black car paint|(% style="width:93px" %)5% 643 +|(% style="width:53px" %)6|(% style="width:229px" %)Black Jam|(% style="width:93px" %)10% 644 +|(% style="width:53px" %)7|(% style="width:229px" %)Opaque black plastic|(% style="width:93px" %)14% 645 +|(% style="width:53px" %)8|(% style="width:229px" %)Clean rough board|(% style="width:93px" %)20% 646 +|(% style="width:53px" %)9|(% style="width:229px" %)Translucent plastic bottle|(% style="width:93px" %)62% 647 +|(% style="width:53px" %)10|(% style="width:229px" %)Carton cardboard|(% style="width:93px" %)68% 648 +|(% style="width:53px" %)11|(% style="width:229px" %)Clean pine|(% style="width:93px" %)70% 649 +|(% style="width:53px" %)12|(% style="width:229px" %)Opaque white plastic|(% style="width:93px" %)87% 650 +|(% style="width:53px" %)13|(% style="width:229px" %)White Jam|(% style="width:93px" %)90% 651 +|(% style="width:53px" %)14|(% style="width:229px" %)Kodak Standard Whiteboard|(% style="width:93px" %)100% 652 +|(% style="width:53px" %)15|(% style="width:229px" %)((( 653 +Unpolished white metal surface 654 +)))|(% style="width:93px" %)130% 655 +|(% style="width:53px" %)16|(% style="width:229px" %)Glossy light metal surface|(% style="width:93px" %)150% 656 +|(% style="width:53px" %)17|(% style="width:229px" %)stainless steel|(% style="width:93px" %)200% 657 +|(% style="width:53px" %)18|(% style="width:229px" %)Reflector plate, reflective tape|(% style="width:93px" %)>300% 658 + 659 + 660 + 661 += 3. Configure LDS12-LB = 662 + 548 548 == 3.1 Configure Methods == 549 549 550 550 ... ... @@ -556,6 +556,8 @@ 556 556 557 557 * LoRaWAN Downlink. Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section. 558 558 674 + 675 + 559 559 == 3.2 General Commands == 560 560 561 561 ... ... @@ -624,9 +624,9 @@ 624 624 === 3.3.2 Set Interrupt Mode === 625 625 626 626 627 -Feature, Set Interrupt mode for pinofGPIO_EXTI.744 +Feature, Set Interrupt mode for PA8 of pin. 628 628 629 -When AT+INTMOD=0 is set, GPIO_EXTIis used as a digital input port.746 +When AT+INTMOD=0 is set, PA8 is used as a digital input port. 630 630 631 631 (% style="color:blue" %)**AT Command: AT+INTMOD** 632 632 ... ... @@ -637,11 +637,7 @@ 637 637 OK 638 638 the mode is 0 =Disable Interrupt 639 639 ))) 640 -|(% style="width:154px" %)((( 641 -AT+INTMOD=2 642 - 643 -(default) 644 -)))|(% style="width:196px" %)((( 757 +|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)((( 645 645 Set Transmit Interval 646 646 0. (Disable Interrupt), 647 647 ~1. (Trigger by rising and falling edge) ... ... @@ -660,6 +660,36 @@ 660 660 * Example 2: Downlink Payload: 06000003 ~/~/ Set the interrupt mode to rising edge trigger 661 661 662 662 776 + 777 +=== 3.3.3 Set Power Output Duration === 778 + 779 +Control the output duration 3V3 . Before each sampling, device will 780 + 781 +~1. first enable the power output to external sensor, 782 + 783 +2. keep it on as per duration, read sensor value and construct uplink payload 784 + 785 +3. final, close the power output. 786 + 787 +(% style="color:blue" %)**AT Command: AT+3V3T** 788 + 789 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %) 790 +|=(% 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** 791 +|(% style="width:154px" %)AT+3V3T=?|(% style="width:196px" %)Show 3V3 open time.|(% style="width:157px" %)0 (default) 792 +OK 793 +|(% style="width:154px" %)AT+3V3T=1000|(% style="width:196px" %)Close after a delay of 1000 milliseconds.|(% style="width:157px" %)OK 794 +|(% style="width:154px" %)AT+3V3T=0|(% style="width:196px" %)Always turn on the power supply of 3V3 pin.|(% style="width:157px" %)OK 795 + 796 +(% style="color:blue" %)**Downlink Command: 0x07**(%%) 797 +Format: Command Code (0x07) followed by 3 bytes. 798 + 799 +The first byte is 01,the second and third bytes are the time to turn on. 800 + 801 +* Example 1: Downlink Payload: 07 01 00 00 **~-~-->** AT+3V3T=0 802 +* Example 2: Downlink Payload: 07 01 01 F4 **~-~-->** AT+3V3T=500 803 + 804 + 805 + 663 663 = 4. Battery & Power Consumption = 664 664 665 665 ... ... @@ -680,7 +680,7 @@ 680 680 681 681 * Fix bugs. 682 682 683 -Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/ zqv1vt3komgp4tu/AAC33PnXIcWOVl_UXBEAeT_xa?dl=0]]**826 +Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/w1p7ukjrx49e62r/AAB3uCNCt-koYUvMkZUPBRSca?dl=0]]** 684 684 685 685 Methods to Update Firmware: 686 686 ... ... @@ -688,6 +688,8 @@ 688 688 689 689 * Update through UART TTL interface: **[[Instruction>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H1.LoRaSTv4baseHardware]]**. 690 690 834 + 835 + 691 691 = 6. FAQ = 692 692 693 693 == 6.1 What is the frequency plan for LDS12-LB? == ... ... @@ -728,7 +728,7 @@ 728 728 = 8. Order Info = 729 729 730 730 731 -Part Number: (% style="color:blue" %)**DS2 0L-XXX**876 +Part Number: (% style="color:blue" %)**LDS12-LB-XXX** 732 732 733 733 (% style="color:red" %)**XXX**(%%): **The default frequency band** 734 734 ... ... @@ -748,12 +748,14 @@ 748 748 749 749 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band 750 750 896 + 897 + 751 751 = 9. Packing Info = 752 752 753 753 754 754 (% style="color:#037691" %)**Package Includes**: 755 755 756 -* DS2 0L LoRaWANSmartDistanceDetector x 1903 +* LDS12-LB LoRaWAN LiDAR ToF Distance Sensor x 1 757 757 758 758 (% style="color:#037691" %)**Dimension and weight**: 759 759 ... ... @@ -765,6 +765,8 @@ 765 765 766 766 * Weight / pcs : g 767 767 915 + 916 + 768 768 = 10. Support = 769 769 770 770
- image-20230805144259-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -872.7 KB - Content
- image-20230805144936-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -37.5 KB - Content
- image-20230805145056-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -30.7 KB - Content
- image-20230805150315-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -90.6 KB - Content
- image-20230805155335-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -45.4 KB - Content
- image-20230805155428-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -45.5 KB - Content
- image-20230805155515-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -45.7 KB - Content
- image-20231110085300-1.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -613.3 KB - Content
- image-20231110085342-2.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -178.7 KB - Content
- image-20231110091447-3.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -85.4 KB - Content
- image-20231110091506-4.png
-
- Author
-
... ... @@ -1,1 +1,0 @@ 1 -XWiki.Xiaoling - Size
-
... ... @@ -1,1 +1,0 @@ 1 -85.4 KB - Content