Last modified by Mengting Qiu on 2023/12/14 11:15

From version 170.1
edited by Edwin Chen
on 2023/12/11 22:50
Change comment: There is no comment for this version
To version 118.1
edited by Xiaoling
on 2023/11/28 13:38
Change comment: Uploaded new attachment "1701149922873-259.png", version {1}

Summary

Details

Page properties
Author
... ... @@ -1,1 +1,1 @@
1 -XWiki.Edwin
1 +XWiki.Xiaoling
Content
... ... @@ -8,7 +8,7 @@
8 8  
9 9  
10 10  
11 -**Table of Contents:(% style="display:none" %) (%%)**
11 +**Table of Contents**
12 12  
13 13  {{toc/}}
14 14  
... ... @@ -47,9 +47,9 @@
47 47  * Firmware upgradable via program port or LoRa protocol
48 48  * Built-in 2400mAh battery or power by external power source
49 49  
50 -
51 51  == 1.3 Specification ==
52 52  
52 +
53 53  (% style="color:#037691" %)**LiDAR Sensor:**
54 54  
55 55  * Operation Temperature: -40 ~~ 80 °C
... ... @@ -61,12 +61,13 @@
61 61  * Light source: VCSEL
62 62  
63 63  
64 +
64 64  == 1.4 Power Consumption ==
65 65  
66 66  
67 67  (% style="color:#037691" %)**Battery Power Mode:**
68 68  
69 -* Idle: 3uA @ 3.3v
70 +* Idle: 0.003 mA @ 3.3v
70 70  * Max : 360 mA
71 71  
72 72  (% style="color:#037691" %)**Continuously mode**:
... ... @@ -75,21 +75,7 @@
75 75  * Max : 360 mA
76 76  
77 77  
78 -== 1.5 Use Case ==
79 79  
80 -(% class="mark" %)**Regular Distance Detect**
81 -
82 -[[image:image-20231211220922-1.png||height="352" width="605"]]
83 -
84 -
85 -(% class="mark" %)**Counting / Alarm**
86 -
87 -[[image:image-20231211221253-2.png]]
88 -
89 -
90 -[[image:image-20231211221436-3.png]]
91 -
92 -
93 93  = 2. Configure DS20L to connect to LoRaWAN network =
94 94  
95 95  == 2.1 How it works ==
... ... @@ -108,7 +108,7 @@
108 108  
109 109  [[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
110 110  
111 -=== Step 1: Create a device in TTN with the OTAA keys from DS20L. ===
98 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
112 112  
113 113  Each DS20L is shipped with a sticker with the default device EUI as below:
114 114  
... ... @@ -115,36 +115,40 @@
115 115  [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
116 116  
117 117  
118 -You can enter this key in the LoRaWAN Server portal. Below is TTN V3 screenshot:
105 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
119 119  
120 120  
121 121  (% style="color:blue" %)**Register the device**
122 122  
123 -[[image:image-20231207144600-2.png||height="703" width="756"]]
110 +[[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/1654935135620-998.png?rev=1.1||alt="1654935135620-998.png"]]
124 124  
125 125  
126 -(% style="color:blue" %)**Add DevEUI and AppKey**
113 +(% style="color:blue" %)**Add APP EUI and DEV EUI**
127 127  
128 -[[image:image-20231207145121-5.png||height="540" width="756"]]
115 +[[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-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
129 129  
130 130  
118 +(% style="color:blue" %)**Add APP EUI in the application**
131 131  
132 -=== Step 2: Activate DS20L ===
133 133  
134 -[[image:image-20231128133704-1.png||height="189" width="441"]]
121 +[[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-5.png?width=742&height=601&rev=1.1||alt="图片-20220611161308-5.png"]]
135 135  
136 -Press the button for 5 seconds to activate the DS20L.
137 137  
138 -The switch is switched to (% style="color:blue" %)**E** (%%)and the external power supply is used.
124 +(% style="color:blue" %)**Add APP KEY**
139 139  
140 -The switch is switched to (% style="color:blue" %)**I** (%%)and DS20L will be power by the built-in battery.
126 +[[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"]]
141 141  
128 +
129 +(% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
130 +
131 +
132 +Press the button for 5 seconds to activate the DS20L.
133 +
142 142  (% 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.
143 143  
144 144  After join success, it will start to upload messages to TTN and you can see the messages in the panel.
145 145  
146 146  
147 -
148 148  == 2.3 ​Uplink Payload ==
149 149  
150 150  === 2.3.1 Device Status, FPORT~=5 ===
... ... @@ -162,9 +162,9 @@
162 162  
163 163  Example parse in TTNv3
164 164  
165 -[[image:image-20231206151412-3.png||height="179" width="1070"]]
156 +[[image:image-20230805103904-1.png||height="131" width="711"]]
166 166  
167 -(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
158 +(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x24
168 168  
169 169  (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
170 170  
... ... @@ -218,210 +218,222 @@
218 218  === 2.3.2 Uplink Payload, FPORT~=2 ===
219 219  
220 220  
221 -==== (% style="color:red" %)**AT+MOD~=1**(%%) ====
212 +(((
213 +DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will:
222 222  
223 -Regularly detect distance and report. When the distance exceeds the limit, the alarm flag is set to 1, and the report can be triggered by external interrupts.
215 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
224 224  
225 -Uplink Payload totals 10 bytes.
217 +Uplink Payload totals 11 bytes.
218 +)))
226 226  
227 227  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
228 -|(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:120px" %)**4**
229 -|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+ Alarm+Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count
221 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
222 +**Size(bytes)**
223 +)))|=(% 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**
224 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:62.5px" %)(((
225 +[[Temperature DS18B20>>||anchor="HDS18B20Temperaturesensor"]]
226 +)))|[[Distance>>||anchor="HDistance"]]|[[Distance signal strength>>||anchor="HDistancesignalstrength"]]|(% style="width:122px" %)(((
227 +[[Interrupt flag & Interrupt_level>>||anchor="HInterruptPin26A0InterruptLevel"]]
228 +)))|(% style="width:54px" %)[[LiDAR temp>>||anchor="HLiDARtemp"]]|(% style="width:96px" %)(((
229 +[[Message Type>>||anchor="HMessageType"]]
230 +)))
230 230  
231 -[[image:image-20231209152917-1.png||height="300" width="1172"]]
232 +[[image:image-20230805104104-2.png||height="136" width="754"]]
232 232  
233 -(% style="color:blue" %)**Battery Info:**
234 234  
235 -Check the battery voltage for DS20L
235 +==== (% style="color:blue" %)**Battery Info**(%%) ====
236 236  
237 -Ex1: 0x0E10 = 3600mV
238 238  
238 +Check the battery voltage for DS20L.
239 239  
240 -(% style="color:blue" %)**MOD & Alarm & Interrupt:**
240 +Ex1: 0x0B45 = 2885mV
241 241  
242 -(% style="color:red" %)**MOD:**
242 +Ex2: 0x0B49 = 2889mV
243 243  
244 -**Example: ** (0x60>>6) & 0x3f =1
245 245  
246 -**0x01:**  Regularly detect distance and report.
247 -**0x02: ** Uninterrupted measurement (external power supply).
245 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ====
248 248  
249 -(% style="color:red" %)**Alarm:**
250 250  
251 -When the detection distance exceeds the limit, the alarm flag is set to 1.
248 +This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
252 252  
253 -(% style="color:red" %)**Interrupt:**
254 254  
255 -Whether it is an external interrupt.
256 -
257 -
258 -(% style="color:blue" %)**Distance info:**
259 -
260 260  **Example**:
261 261  
262 -If payload is: 0708H: distance = 0708H = 1800 mm
253 +If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
263 263  
255 +If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
264 264  
265 -(% style="color:blue" %)**Sensor State:**
266 266  
267 -Ex1: 0x00: Normal collection distance
258 +==== (% style="color:blue" %)**Distance**(%%) ====
268 268  
269 -Ex2: 0x0x: Distance collection is wrong
270 270  
261 +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.
271 271  
272 -(% style="color:blue" %)**Interrupt Count:**
273 273  
274 -If payload is:000007D0H: count = 07D0H =2000
264 +**Example**:
275 275  
266 +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.
276 276  
277 277  
278 -==== (% style="color:red" %)**AT+MOD~=2**(%%)** ** ====
269 +==== (% style="color:blue" %)**Distance signal strength**(%%) ====
279 279  
280 280  
281 -The power consumption of uninterrupted measurement is high, and the device needs to use external power supply.(The switch is switched to E and the external power supply is used.)
272 +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.
282 282  
283 -[[image:image-20231128133704-1.png||height="189" width="441"]]
284 284  
275 +**Example**:
285 285  
286 -* **Set over-limit alarm mode: AT+DOL=3,500,244,**(% style="color:red" %)0(%%)**,120**
277 +If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible.
287 287  
288 -(% class="wikigeneratedid" id="HUninterruptedmeasurement.Whenthedistanceexceedsthelimit2CtheoutputIOissethighandreportsarereportedeveryfiveminutes.Thetimecanbesetandpoweredbyanexternalpowersupply.UplinkPayloadtotals11bytes." %)
289 -Uninterrupted measurement. When the distance exceeds the limit, the output IO high, instant alarm. Uplink Payload totals 9 bytes.
279 +Customers can judge whether they need to adjust the environment based on the signal strength.
290 290  
291 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
292 -|(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:130px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
293 -|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+Alarm+DO+Limit flag|(% style="width:74px" %)Distance |(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
294 294  
295 -[[image:image-20231209171127-3.png||height="374" width="1209"]]
282 +**1) When the sensor detects valid data:**
296 296  
297 -(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
284 +[[image:image-20230805155335-1.png||height="145" width="724"]]
298 298  
299 -(% style="color:red" %)**MOD:**
300 300  
301 -**Example: ** (0x60>>6) & 0x3f =1
287 +**2) When the sensor detects invalid data:**
302 302  
303 -**0x01:**  Regularly detect distance and report.
304 -**0x02: ** Uninterrupted measurement (external power supply).
289 +[[image:image-20230805155428-2.png||height="139" width="726"]]
305 305  
306 -(% style="color:red" %)**Alarm:**
307 307  
308 -When the detection distance exceeds the limit, the alarm flag is set to 1.
292 +**3) When the sensor is not connected:**
309 309  
310 -(% style="color:red" %)**DO:**
294 +[[image:image-20230805155515-3.png||height="143" width="725"]]
311 311  
312 -When the distance exceeds the set threshold, pull the Do pin high.
313 313  
314 -(% style="color:red" %)**Limit flag:**
297 +==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ====
315 315  
316 -Mode for setting threshold: **0~~3**
317 317  
318 -**0:** does not use upper and lower limits
300 +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.
319 319  
320 -**1:** Use upper and lower limits
302 +Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI .
321 321  
322 -**2:** Less than the upper limit
304 +**Example:**
323 323  
324 -**3: **Greater than the lower limit
306 +If byte[0]&0x01=0x00 : Normal uplink packet.
325 325  
308 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet.
326 326  
327 -(% style="color:blue" %)**Distance:**
328 328  
329 - Actual sampling distance values.
311 +==== (% style="color:blue" %)**LiDAR temp**(%%) ====
330 330  
331 -**Example:**
332 332  
333 -**AT+DOL=1,500,244,**(% style="color:red" %)0(%%)**,120  **
314 +Characterize the internal temperature value of the sensor.
334 334  
335 -The distance is detected every 120ms.
316 +**Example: **
317 +If payload is: 1C(H) <<24>>24=28(D),LiDAR temp=28℃.
318 +If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃.
336 336  
337 -When the actual detection value is within the range of [244mm,500mm], the data is uploaded in the normal TDC time.
338 338  
339 -When the actual detection value is outside the range of [244mm,500mm], the uplink data will be immediately alerted.
321 +==== (% style="color:blue" %)**Message Type**(%%) ====
340 340  
341 -If payload is: 0708H: distance = 0708H = 1800 mm
342 342  
324 +(((
325 +For a normal uplink payload, the message type is always 0x01.
326 +)))
343 343  
344 -(% style="color:blue" %)**Upper limit:**
328 +(((
329 +Valid Message Type:
330 +)))
345 345  
346 -The upper limit of the threshold cannot exceed 2000mm.
332 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %)
333 +|=(% 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**
334 +|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)Normal Uplink Payload
335 +|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)Configure Info Payload
347 347  
337 +[[image:image-20230805150315-4.png||height="233" width="723"]]
348 348  
349 -(% style="color:blue" %)**Lower limit:**
350 350  
351 -The lower limit of the threshold cannot be less than 3mm.
340 +=== 2.3.3 Historical measuring distance, FPORT~=3 ===
352 352  
353 353  
354 -* **Set the person or object count mode: AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120**
343 +DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
355 355  
356 -Continuous measurement, detect and count people or things passing by in distance limit mode. Uplink Payload totals 11 bytes.
345 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
357 357  
358 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:600px" %)
359 -|(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:130px" %)**4**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
360 -|(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+Alarm+Do+Limit flag|(% style="width:176px" %)Distance limit alarm count|(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
347 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
348 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
349 +**Size(bytes)**
350 +)))|=(% 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
351 +|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
352 +Reserve(0xFF)
353 +)))|Distance|Distance signal strength|(% style="width:88px" %)(((
354 +LiDAR temp
355 +)))|(% style="width:85px" %)Unix TimeStamp
361 361  
362 -[[image:image-20231209173457-5.png||height="277" width="1098"]]
357 +**Interrupt flag & Interrupt level:**
363 363  
364 -(% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
359 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
360 +|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
361 +**Size(bit)**
362 +)))|=(% 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**
363 +|(% 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" %)(((
364 +Interrupt flag
365 +)))
365 365  
366 -(% style="color:red" %)**MOD:**
367 +* (((
368 +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.
369 +)))
367 367  
368 -**Example: ** (0x60>>6) & 0x3f =1
371 +For example, in the US915 band, the max payload for different DR is:
369 369  
370 -**0x01:**  Regularly detect distance and report.
371 -**0x02: ** Uninterrupted measurement (external power supply).
373 +**a) DR0:** max is 11 bytes so one entry of data
372 372  
373 -(% style="color:red" %)**Alarm:**
375 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
374 374  
375 -When the detection distance exceeds the limit, the alarm flag is set to 1.
377 +**c) DR2:** total payload includes 11 entries of data
376 376  
377 -(% style="color:red" %)**Do:**
379 +**d) DR3:** total payload includes 22 entries of data.
378 378  
379 -When the distance exceeds the set threshold, pull the Do pin high.
381 +If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
380 380  
381 -(% style="color:red" %)**Limit flag:**
382 382  
383 -Mode for setting threshold: **0~~3**
384 +**Downlink:**
384 384  
385 -**0:** does not use upper and lower limits
386 +0x31 64 CC 68 0C 64 CC 69 74 05
386 386  
387 -**1:** Use upper and lower limits
388 +[[image:image-20230805144936-2.png||height="113" width="746"]]
388 388  
389 -**2:** Less than the upper limit
390 +**Uplink:**
390 390  
391 -**3: **Greater than the lower limit
392 +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
392 392  
393 393  
394 -(% style="color:blue" %)**Distance limit alarm count:**
395 +**Parsed Value:**
395 395  
396 -People or objects are collected and counted within a limited distance.
397 +[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
397 397  
398 -The detection of a stationary person or object at each sampling time will be repeated three times, and the fourth sampling count will be added by 1.
399 399  
400 -**Example:**
400 +[360,176,30,High,True,2023-08-04 02:53:00],
401 401  
402 -**AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120   **
402 +[355,168,30,Low,False,2023-08-04 02:53:29],
403 403  
404 -People or objects passing within the distance range of [244mm,500mm] are detected and counted every 120ms.
404 +[245,211,30,Low,False,2023-08-04 02:54:29],
405 405  
406 -If payload is: 0x56H, interrupt count =0x56H =86
406 +[57,700,30,Low,False,2023-08-04 02:55:29],
407 407  
408 +[361,164,30,Low,True,2023-08-04 02:56:00],
408 408  
409 -(% style="color:blue" %)**Upper limit:**
410 +[337,184,30,Low,False,2023-08-04 02:56:40],
410 410  
411 -The upper limit of the threshold cannot exceed 2000mm.
412 +[20,4458,30,Low,False,2023-08-04 02:57:40],
412 412  
414 +[362,173,30,Low,False,2023-08-04 02:58:53],
413 413  
414 -(% style="color:blue" %)**Lower limit:**
415 415  
416 -The lower limit of the threshold cannot be less than 3mm.
417 +**History read from serial port:**
417 417  
419 +[[image:image-20230805145056-3.png]]
418 418  
419 -== 2.4 Decode payload in The Things Network ==
420 420  
422 +=== 2.3.4 Decode payload in The Things Network ===
421 421  
424 +
422 422  While using TTN network, you can add the payload format to decode the payload.
423 423  
424 -[[image:image-20231206143515-1.png||height="534" width="759"]]
427 +[[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"]]
425 425  
426 426  
427 427  (((
... ... @@ -433,11 +433,11 @@
433 433  )))
434 434  
435 435  
436 -== 2.5 ​Show Data in DataCake IoT Server ==
439 +== 2.4 ​Show Data in DataCake IoT Server ==
437 437  
438 438  
439 439  (((
440 -[[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, onhuman-friendlya in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps:
443 +[[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:
441 441  )))
442 442  
443 443  
... ... @@ -450,28 +450,96 @@
450 450  )))
451 451  
452 452  
453 -[[image:image-20231207153532-6.png||height="562" width="861"]]
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/1654592790040-760.png?rev=1.1||alt="1654592790040-760.png"]]
454 454  
455 455  
456 -[[image:image-20231207155940-8.png]]
459 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654592800389-571.png?rev=1.1||alt="1654592800389-571.png"]]
457 457  
458 -For more detailed instructions, refer to the following instructions: [[Welcome - Datacake Docs>>url:https://docs.datacake.de/]]
459 459  
460 -[[image:image-20231207160733-11.png||height="429" width="759"]]
461 -
462 -
463 463  (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
464 464  
465 465  (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
466 466  
467 -[[image:image-20231207160343-10.png||height="665" width="705"]]
466 +[[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"]]
468 468  
469 469  
470 470  After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
471 471  
472 -[[image:image-20231129100454-2.png||height="501" width="928"]]
471 +[[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"]]
473 473  
474 474  
474 +== 2.5 Datalog Feature ==
475 +
476 +
477 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DS20L will store the reading for future retrieving purposes.
478 +
479 +
480 +=== 2.5.1 Ways to get datalog via LoRaWAN ===
481 +
482 +
483 +Set PNACKMD=1, DS20L will wait for ACK for every uplink, when there is no LoRaWAN network, DS20L 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.
484 +
485 +* (((
486 +a) DS20L will do an ACK check for data records sending to make sure every data arrive server.
487 +)))
488 +* (((
489 +b) DS20L 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.
490 +)))
491 +
492 +=== 2.5.2 Unix TimeStamp ===
493 +
494 +
495 +DS20L uses Unix TimeStamp format based on
496 +
497 +[[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"]]
498 +
499 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
500 +
501 +Below is the converter example
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-20220523001219-12.png?width=720&height=298&rev=1.1||alt="图片-20220523001219-12.png" height="298" width="720"]]
504 +
505 +
506 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
507 +
508 +
509 +=== 2.5.3 Set Device Time ===
510 +
511 +
512 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
513 +
514 +Once DS20L 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).
515 +
516 +(% 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.**
517 +
518 +
519 +=== 2.5.4 Poll sensor value ===
520 +
521 +
522 +Users can poll sensor values based on timestamps. Below is the downlink command.
523 +
524 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %)
525 +|(% colspan="4" style="background-color:#4f81bd; color:white; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
526 +|(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
527 +|(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
528 +
529 +(((
530 +Timestamp start and Timestamp end-use Unix TimeStamp format as mentioned above. Devices will reply with all data logs during this period, using the uplink interval.
531 +)))
532 +
533 +(((
534 +For example, downlink command [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/CPL01%20LoRaWAN%20Outdoor%20PulseContact%20%20Sensor%20Manual/WebHome/image-20220518162852-1.png?rev=1.1||alt="image-20220518162852-1.png"]]
535 +)))
536 +
537 +(((
538 +Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
539 +)))
540 +
541 +(((
542 +Uplink Internal =5s,means DS20L will send one packet every 5s. range 5~~255s.
543 +)))
544 +
545 +
475 475  == 2.6 Frequency Plans ==
476 476  
477 477  
... ... @@ -480,7 +480,7 @@
480 480  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
481 481  
482 482  
483 -= 3. Configure DS20L =
554 +3. Configure DS20L
484 484  
485 485  == 3.1 Configure Methods ==
486 486  
... ... @@ -510,7 +510,7 @@
510 510  == 3.3 Commands special design for DS20L ==
511 511  
512 512  
513 -Below commands only valid for DS20L, as below:
584 +These commands only valid for DS20L, as below:
514 514  
515 515  
516 516  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -552,7 +552,7 @@
552 552  Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
553 553  )))
554 554  * (((
555 -Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
626 +Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds 
556 556  
557 557  
558 558  
... ... @@ -575,7 +575,7 @@
575 575  the mode is 0 =Disable Interrupt
576 576  )))
577 577  |(% style="width:154px" %)(((
578 -AT+INTMOD=3
649 +AT+INTMOD=2
579 579  
580 580  (default)
581 581  )))|(% style="width:196px" %)(((
... ... @@ -596,119 +596,6 @@
596 596  
597 597  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
598 598  
599 -
600 -=== 3.3.3 Set work mode ===
601 -
602 -
603 -Feature: Switch working mode
604 -
605 -(% style="color:blue" %)**AT Command: AT+MOD**
606 -
607 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
608 -|=(% style="width: 162px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Response**
609 -|(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK
610 -|(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)(((
611 -OK
612 -Attention:Take effect after ATZ
613 -)))
614 -
615 -(% style="color:blue" %)**Downlink Command:**
616 -
617 -* **Example: **0x0A01 ~/~/  Same as AT+MOD=1
618 -
619 -* **Example:** 0x0A02  ~/~/  Same as AT+MOD=2
620 -
621 -
622 -=== 3.3.4 Set threshold and threshold mode ===
623 -
624 -
625 -Feature, Set threshold and threshold mode
626 -
627 -When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
628 -
629 -(% style="color:blue" %)**AT Command: AT+DOL**
630 -
631 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
632 -|(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:108px" %)**Response**
633 -|(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
634 -0,0,0,0,400
635 -OK
636 -)))
637 -|(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
638 -
639 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
640 -|=(% style="width: 162px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 155px;background-color:#4F81BD;color:white" %) Parameter
641 -|(% rowspan="11" style="color:blue; width:120px" %)(((
642 -
643 -
644 -
645 -
646 -
647 -
648 -
649 -
650 -
651 -
652 -
653 -**AT+DOL=1,1800,3,0,400**
654 -)))|(% rowspan="4" style="width:240px" %)(((
655 -
656 -
657 -
658 -
659 -The first bit sets the limit mode
660 -)))|(% style="width:150px" %)0: Do not use upper and lower limits
661 -|(% style="width:251px" %)1: Use upper and lower limits
662 -|(% style="width:251px" %)2:Less than the upper limit
663 -|(% style="width:251px" %)3: Greater than the lower limit
664 -|(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
665 -|(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
666 -|(% rowspan="2" style="width:226px" %)The fourth bit sets the over-limit alarm or person or object count.|(% style="width:251px" %)0 Over-limit alarm, DO output is high
667 -|(% style="width:251px" %)1 Person or object counting statistics
668 -|(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
669 -100~~10000ms
670 -
671 -
672 -)))
673 -
674 -(% style="color:blue" %)**Downlink Command: 0x07**
675 -
676 -Format: Command Code (0x07) followed by 9 bytes.
677 -
678 -If the downlink payload=**07 01 0708 0064 00 0190**, it means set the END Node's limit mode to 0x01,upper limit value to 0x0708=1800(mm), lower limit value to 0x0064=100(mm), to over-limit alarm(0x00) ,the sampling time to 0x0190=400(ms), while type code is 0x07.
679 -
680 -* Example 0: Downlink Payload: 07 00 0000 0000 00 0190  **~-~-->**  AT+MOD=0,0,0,0,400
681 -
682 -* Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
683 -
684 -* Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,1800,100,0,400
685 -
686 -* Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,0,100,0,400
687 -
688 -(% style="color:Red" %)**Note: The over-limit alarm is applied to MOD1 and MOD2.**
689 -
690 -**For example:**
691 -
692 -* **AT+MOD=1**
693 -
694 - **AT+DOL=1,500,244,**(% style="color:blue" %)0(%%)**,300**
695 -
696 -Send data according to the normal TDC time. If the mode limit is exceeded, the alarm flag is set to 1:
697 -
698 -[[image:image-20231211113204-2.png||height="292" width="1093"]]
699 -
700 -* **AT+MOD=2  **
701 -
702 - **AT+DOL=1,500,244,**(% style="color:blue" %)0(%%)**,300**
703 -
704 -If the mode limit is exceeded, the data is immediately uplink and the alarm flag is set to 1:
705 -
706 -[[image:image-20231211114932-3.png||height="277" width="1248"]]
707 -
708 -
709 -
710 -
711 -
712 712  = 4. Battery & Power Consumption =
713 713  
714 714  
... ... @@ -737,7 +737,6 @@
737 737  
738 738  * 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]]**.
739 739  
740 -
741 741  = 6. FAQ =
742 742  
743 743  == 6.1 What is the frequency plan for DS20L? ==
... ... @@ -746,33 +746,6 @@
746 746  DS20L use the same frequency as other Dragino products. User can see the detail from this link:  [[Introduction>>doc:Main.End Device Frequency Band.WebHome||anchor="H1.Introduction"]]
747 747  
748 748  
749 -== 6.2 DS20L programming line ==
750 -
751 -
752 -缺图 后续补上
753 -
754 -feature:
755 -
756 -for AT commands
757 -
758 -Update the firmware of DS20L
759 -
760 -Support interrupt mode
761 -
762 -
763 -== 6.3 LiDAR probe position ==
764 -
765 -
766 -[[image:1701155390576-216.png||height="285" width="307"]]
767 -
768 -The black oval hole in the picture is the LiDAR probe.
769 -
770 -
771 -== 6.4 Interface definition ==
772 -
773 -[[image:image-20231128151132-2.png||height="305" width="557"]]
774 -
775 -
776 776  = 7. Trouble Shooting =
777 777  
778 778  == 7.1 AT Command input doesn't work ==
1701152902759-553.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -52.2 KB
Content
1701152946067-561.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -52.2 KB
Content
1701155076393-719.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -54.6 KB
Content
1701155150328-206.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -54.6 KB
Content
1701155390576-216.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -293.9 KB
Content
image-20231128151132-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -281.2 KB
Content
image-20231129085201-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -70.6 KB
Content
image-20231129100454-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -70.1 KB
Content
image-20231206143515-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -89.5 KB
Content
image-20231206144950-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -41.0 KB
Content
image-20231206151412-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -58.8 KB
Content
image-20231206154621-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -71.2 KB
Content
image-20231206194804-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -53.7 KB
Content
image-20231206195704-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -64.1 KB
Content
image-20231207142208-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -27.2 KB
Content
image-20231207144600-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -55.4 KB
Content
image-20231207144837-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -31.1 KB
Content
image-20231207144856-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -31.1 KB
Content
image-20231207145121-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -33.3 KB
Content
image-20231207153532-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -164.7 KB
Content
image-20231207154046-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -23.0 KB
Content
image-20231207155940-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -41.7 KB
Content
image-20231207160053-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -95.5 KB
Content
image-20231207160343-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -80.5 KB
Content
image-20231207160733-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -136.0 KB
Content
image-20231209152917-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -65.9 KB
Content
image-20231209155616-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -57.1 KB
Content
image-20231209171127-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -80.8 KB
Content
image-20231209171549-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -45.7 KB
Content
image-20231209173457-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -66.3 KB
Content
image-20231211113113-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -64.5 KB
Content
image-20231211113204-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -59.7 KB
Content
image-20231211114932-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.ting
Size
... ... @@ -1,1 +1,0 @@
1 -57.3 KB
Content
image-20231211220922-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -411.2 KB
Content
image-20231211221253-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -90.8 KB
Content
image-20231211221436-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Edwin
Size
... ... @@ -1,1 +1,0 @@
1 -64.9 KB
Content