Last modified by Mengting Qiu on 2025/06/10 18:53

From version 31.7
edited by Xiaoling
on 2022/06/24 14:45
Change comment: There is no comment for this version
To version 18.1
edited by Xiaoling
on 2022/06/24 14:06
Change comment: Uploaded new attachment "image-20220624140615-3.png", version {1}

Summary

Details

Page properties
Content
... ... @@ -67,6 +67,9 @@
67 67  * WSC1-L has an extra 1000mAh back up battery. So it can work even solar panel and storage battery Fails.
68 68  * Weather sensors won’t work if solar panel and storage battery fails.
69 69  
70 +
71 +
72 +
70 70  (% style="color:red" %)** Notice 2:**
71 71  
72 72  Due to shipment and importation limitation, user is better to purchase below parts locally:
... ... @@ -77,6 +77,9 @@
77 77  * Mounting Kit includes pole and mast assembly. Each weather sensor has it’s own mounting assembly, user can check the sensor section in this manual.
78 78  * Cabinet.
79 79  
83 +
84 +
85 +
80 80  == 2.2 How it works? ==
81 81  
82 82  (((
... ... @@ -94,6 +94,9 @@
94 94  1. WSC1-L will auto scan available weather sensors when power on or reboot.
95 95  1. User can send a downlink command to WSC1-L to do a re-scan on the available sensors.
96 96  
103 +
104 +
105 +
97 97  == 2.3 Example to use for LoRaWAN network ==
98 98  
99 99  This section shows an example for how to join the TTN V3 LoRaWAN IoT server. Usages with other LoRaWAN IoT servers are of similar procedure.
... ... @@ -150,6 +150,9 @@
150 150  * Valid Sensor Value: Use FPORT=2
151 151  * Other control command: Use FPORT other than 2.
152 152  
162 +
163 +
164 +
153 153  === 2.4.1 Uplink FPORT~=5, Device Status ===
154 154  
155 155  Uplink the device configures with FPORT=5. Once WSC1-L Joined the network, it will uplink this message to the server. After first uplink, WSC1-L will uplink Device Status every 12 hours
... ... @@ -274,33 +274,114 @@
274 274  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:464px" %)
275 275  |(% style="width:140px" %)Sensor Segment 1|(% style="width:139px" %)Sensor Segment 2|(% style="width:42px" %)……|(% style="width:140px" %)Sensor Segment n
276 276  
289 +
277 277  (% style="color:#4472c4" %)** Sensor Segment Define**:
278 278  
279 279  (% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:330px" %)
280 280  |(% style="width:89px" %)Type Code|(% style="width:114px" %)Length (Bytes)|(% style="width:124px" %)Measured Value
281 281  
282 -(% style="color:#4472c4" %)**Sensor Type Table:**
283 283  
284 -[[image:image-20220624140352-2.png]]
296 +**Sensor Type Table:**
285 285  
298 +(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:1006px" %)
299 +|=(% style="width: 167px;" %)**Sensor Type**|=(% style="width: 95px;" %)**Type Code**|=(% style="width: 185px;" %)**Range**|=(% style="width: 126px;" %)**Length ( Bytes)**|=(% style="width: 428px;" %)**Example**
300 +|(% style="width:167px" %)**Wind Speed**|(% style="width:95px" %)0x01|(% style="width:185px" %)(((
301 +Speed: 0~60m/s
286 286  
287 -Below is an example payload:  [[image:image-20220624140615-3.png]]
303 +Level: 0~17
304 +)))|(% style="width:126px" %)0x03 |(% style="width:428px" %)(((
305 +0x0024/10=3.6m/s
288 288  
307 +(0x02FE: No Sensor, 0x02FF: Value Error)
289 289  
290 -When sending this payload to LoRaWAN server. WSC1-L will send this in one uplink or several uplinks according to LoRaWAN spec requirement. For example, total length of Payload is 54 bytes.
309 +0x02=2
291 291  
292 -* When WSC1-L sending in US915 frequency DR0 data rate. Because this data rate has limitation of 11 bytes payload for each uplink. The payload will be split into below packets and uplink.
311 +(0x14: No Sensor, 0x15: Value Error)
312 +)))
313 +|(% style="width:167px" %)**Wind Direction**|(% style="width:95px" %)0x02|(% style="width:185px" %)(((
314 +Angel: 0~360°
293 293  
294 - Uplink 1:  [[image:image-20220624140735-4.png]]
316 +Direction: 16 positions
317 +)))|(% style="width:126px" %)0x03|(% style="width:428px" %)(((
318 +0x029A/10=66.6°
295 295  
296 - Uplink 2:  [[image:image-20220624140842-5.png]]
320 +(0x0EFE: No Sensor,0x0EFF: Value Error)
297 297  
322 +0X03=3(ENE)
298 298  
324 +(0x14: No Sensor,0x15: Value Error)
325 +)))
326 +|(% style="width:167px" %)**Illumination**|(% style="width:95px" %)0x03|(% style="width:185px" %)0~200000Lux|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
327 +0x04D2 *10=12340Lux
328 +
329 +(0x4EFE: No Sensor,0x4EFF: Value Error)
330 +)))
331 +|(% style="width:167px" %)**Rain / Snow**|(% style="width:95px" %)0x04|(% style="width:185px" %)00: No, 01 Yes.|(% style="width:126px" %)0x01|(% style="width:428px" %)(((
332 +0x00 (00) No Rain or snow detected
333 +
334 +(0x02: No Sensor,0x03: Value Error)
335 +)))
336 +|(% style="width:167px" %)**CO2**|(% style="width:95px" %)0x05|(% style="width:185px" %)0~5000ppm|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
337 +0x0378=888ppm
338 +
339 + (0x14FE: No Sensor,0x14FF: Value Error)
340 +)))
341 +|(% style="width:167px" %)**Temperature**|(% style="width:95px" %)0x06|(% style="width:185px" %)-30℃~70℃|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
342 +0xFFDD/10=-3.5℃
343 +
344 +(0x02FE: No Sensor,0x02FF: Value Error)
345 +)))
346 +|(% style="width:167px" %)**Humidity**|(% style="width:95px" %)0x07|(% style="width:185px" %)0~100%RH|(% style="width:126px" %)0x02|(% style="width:428px" %)0x0164/10=35.6%RH (0x03FE: No Sensor,0x03FF: Value Error)
347 +|(% style="width:167px" %)**Pressure**|(% style="width:95px" %)0x08|(% style="width:185px" %)10~1100hPa|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
348 +0x2748/10=1005.6hPa
349 +
350 +(0x00: No Sensor,0x01: Value Error)
351 +)))
352 +|(% style="width:167px" %)**Rain Gauge**|(% style="width:95px" %)0x09|(% style="width:185px" %)0mm/min~100mm/min|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
353 +0x0000/10=0mm /min
354 +
355 +(0x03FE: No Sensor,0x03FF: Value Error)
356 +)))
357 +|(% style="width:167px" %)**PM2.5**|(% style="width:95px" %)0x0A|(% style="width:185px" %)0~1000μg/m^^3^^|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
358 +0x0023=35μg/m^^3 ^^
359 +
360 +(0x03FE: No Sensor,0x03FF: Value Error)
361 +)))
362 +|(% style="width:167px" %)**PM10**|(% style="width:95px" %)0x0B|(% style="width:185px" %)0~1000μg/m^^3^^|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
363 +0x002D=45μg/m^^3 ^^
364 +
365 +(0x03FE: No Sensor,0x03FF: Value Error)
366 +)))
367 +|(% style="width:167px" %)**PAR**|(% style="width:95px" %)0x0C|(% style="width:185px" %)0~2500μmol/m^^2^^•s|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
368 +0x00B3=179μmol/m^^2^^•s
369 +
370 +(0x09FE: No Sensor,0x9FF: Value Error)
371 +)))
372 +|(% style="width:167px" %)(((
373 +**Total Solar Radiation**
374 +)))|(% style="width:95px" %)0x0D|(% style="width:185px" %)0~2000W/m^^2^^|(% style="width:126px" %)0x02|(% style="width:428px" %)(((
375 +0x0073/10=11.5W/m^^2^^
376 +
377 +(0x4EFE: No Sensor,0x4EFF: Value Error)
378 +)))
379 +
380 +Below is an example payload:
381 +
382 +01 03 00 14 02 02 03 02 C9 03 03 02 11 90 04 02 00 0A 05 02 02 1C 06 02 00 FA 07 02 02 62 08 02 27 63 09 02 00 00 0A 02 00 23 0B 02 00 2D 0C 02 00 B3 0D 02 00 73
383 +
384 +
385 +When sending this payload to LoRaWAN server. WSC1-L will send this in one uplink or several uplinks according to LoRaWAN spec requirement. For example, total length of Payload is 54 bytes.
386 +
387 +* When WSC1-L sending in US915 frequency DR0 data rate. Because this data rate has limitation of 11 bytes payload for each uplink. The payload will be split into below packets and uplink. Uplink 1: 01 03 00 14 02 02 03 02 C9 03
388 +
389 +Uplink 2: 03 02 11 90 04 02 00 0A 05 02 02 1C 06 02 00 FA 07 02 02 62 08 02 27 63 09 02 00 00 0A 02 00 23 0B 02 00 2D 0C 02 00 B3 0D 02 00 73
390 +
391 +
299 299  * When WSC1-L sending in EU868 frequency DR0 data rate. The payload will be split into below packets and uplink:
300 300  
301 - Uplink 1 [[image:image-20220624141025-6.png]]
394 +Uplink 1: 01 03 00 14 02 02 03 02 C9 03 03 02 11 90 04 02 00 0A 05 02 02 1C 06 02 00 FA 07 02 02 62 08 02 27 63 09 02 00 00 0A 02 00 23 0B 02 00 2D 0C 02 00 B3
302 302  
303 - Uplink 2:  [[image:image-20220624141100-7.png]]
396 +Uplink 2: 0D 02 00 73
304 304  
305 305  
306 306  
... ... @@ -316,7 +316,7 @@
316 316  
317 317  and put as below:
318 318  
319 -[[image:1656051152438-578.png]]
412 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image013.png]]
320 320  
321 321  
322 322  
... ... @@ -329,22 +329,21 @@
329 329  
330 330  (% style="color:blue" %)**Step 2**(%%): Configure your Application to forward data to Datacake you will need to add integration. Go to TTN V3 Console ~-~-> Applications ~-~-> Integrations ~-~-> Add Integrations.
331 331  
332 -[[image:1656051197172-131.png]]
425 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image014.png]]
333 333  
334 334  
335 -**Add TagoIO:**
428 +Add TagoIO:
336 336  
337 -[[image:1656051223585-631.png]]
430 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image015.png]]
338 338  
432 +Authorization:
339 339  
340 -**Authorization:**
434 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image016.png]]
341 341  
342 -[[image:1656051248318-368.png]]
343 343  
344 -
345 345  In TagoIO console ([[https:~~/~~/admin.tago.io~~/~~/>>url:https://datacake.co/]]) , add WSC1-L:
346 346  
347 -[[image:1656051277767-168.png]]
439 +[[image:file:///C:/Users/93456/AppData/Local/Temp/msohtmlclip1/01/clip_image017.png]]
348 348  
349 349  
350 350  
... ... @@ -352,9 +352,12 @@
352 352  
353 353  Use can configure WSC1-L via AT Command or LoRaWAN Downlink.
354 354  
355 -* AT Command Connection: See [[FAQ>>||anchor="H7.FAQ"]].
356 -* LoRaWAN Downlink instruction for different platforms:  [[Use Note for Server>>doc:Main.WebHome]](IoT LoRaWAN Server)
447 +* AT Command Connection: See [[FAQ>>||anchor="H"]].
448 +* LoRaWAN Downlink instruction for different platforms:
357 357  
450 +[[http:~~/~~/wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server>>url:http://wiki.dragino.com/index.php?title=Main_Page#Use_Note_for_Server]]
451 +
452 +
358 358  There are two kinds of commands to configure WSC1-L, they are:
359 359  
360 360  * (% style="color:#4472c4" %)**General Commands**.
... ... @@ -364,8 +364,10 @@
364 364  * General system settings like: uplink interval.
365 365  * LoRaWAN protocol & radio related command.
366 366  
367 -They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack((% style="color:red" %)Note~*~*)(%%). These commands can be found on the wiki:  [[End Device Downlink Command>>doc:Main.End Device AT Commands and Downlink Command.WebHome]]
462 +They are same for all Dragino Device which support DLWS-005 LoRaWAN Stack((% style="color:red" %)Note~*~*)(%%). These commands can be found on the wiki:
368 368  
464 +[[http:~~/~~/wiki.dragino.com/index.php?title=End_Device_Downlink_Command>>url:http://wiki.dragino.com/index.php?title=End_Device_Downlink_Command]]
465 +
369 369  (% style="color:red" %)Note~*~*: Please check early user manual if you don’t have v1.8.0 firmware.
370 370  
371 371  
... ... @@ -380,9 +380,20 @@
380 380  
381 381  (% style="color:#037691" %)**AT Command: AT+TDC**
382 382  
383 -[[image:image-20220624142619-8.png]]
480 +|**Command Example**|**Function**|**Response**
481 +|AT+TDC?|Show current transmit Interval|(((
482 +30000
384 384  
484 +OK
385 385  
486 +the interval is 30000ms = 30s
487 +)))
488 +|AT+TDC=60000|Set Transmit Interval|(((
489 +OK
490 +
491 +Set transmit interval to 60000ms = 60 seconds
492 +)))
493 +
386 386  (% style="color:#037691" %)**Downlink Command: 0x01**
387 387  
388 388  Format: Command Code (0x01) followed by 3 bytes time value.
... ... @@ -392,24 +392,22 @@
392 392  * Example 1: Downlink Payload: 0100001E ~/~/ Set Transmit Interval (TDC) = 30 seconds
393 393  * Example 2: Downlink Payload: 0100003C ~/~/ Set Transmit Interval (TDC) = 60 seconds
394 394  
395 -
396 -
397 397  == 3.2 Set Emergency Mode ==
398 398  
399 399  Feature: In emergency mode, WSC1-L will uplink data every 1 minute.
400 400  
507 +
401 401  (% style="color:#037691" %)**AT Command:**
402 402  
403 -[[image:image-20220624142956-9.png]]
510 +|**Command Example**|**Function**|**Response**
511 +|AT+ALARMMOD=1|Enter emergency mode. Uplink every 1 minute|OK
512 +|AT+ALARMMOD=0|Exit emergency mode. Uplink base on TDC time|OK
404 404  
405 -
406 406  (% style="color:#037691" %)**Downlink Command:**
407 407  
408 408  * 0xE101     Same as: AT+ALARMMOD=1
409 409  * 0xE100     Same as: AT+ALARMMOD=0
410 410  
411 -
412 -
413 413  == 3.3 Add or Delete RS485 Sensor ==
414 414  
415 415  Feature: User can add or delete 3^^rd^^ party sensor as long they are RS485/Modbus interface,baud rate support 9600.Maximum can add 4 sensors.
... ... @@ -416,33 +416,34 @@
416 416  
417 417  (% style="color:#037691" %)**AT Command: **
418 418  
419 -(% style="color:blue" %)**AT+DYSENSOR=Type_Code, Query_Length, Query_Command , Read_Length , Valid_Data ,has_CRC,timeout**
525 +AT+DYSENSOR=Type_Code, Query_Length, Query_Command , Read_Length , Valid_Data ,has_CRC,timeout
420 420  
421 -* Type_Code range:  A1 ~~ A4
422 -* Query_Length:  RS485 Query frame length, Value cannot be greater than 10
423 -* Query_Command:  RS485 Query frame data to be sent to sensor, cannot be larger than 10 bytes
424 -* Read_Length:  RS485 response frame length supposed to receive. Max can receive
425 -* Valid_Data:  valid data from RS485 Response, Valid Data will be added to Payload and upload via LoRaWAN.
426 -* has_CRC:  RS485 Response crc check  (0: no verification required 1: verification required). If CRC=1 and CRC error, valid data will be set to 0.
427 -* timeout:  RS485 receive timeout (uint:ms). Device will close receive window after timeout
527 +* Type_Code range: A1 ~~ A4
528 +* Query_Length: RS485 Query frame length, Value cannot be greater than 10
529 +* Query_Command: RS485 Query frame data to be sent to sensor, cannot be larger than 10 bytes
530 +* Read_Length: RS485 response frame length supposed to receive. Max can receive
531 +* Valid_Data: valid data from RS485 Response, Valid Data will be added to Payload and upload via LoRaWAN.
532 +* has_CRC: RS485 Response crc check  (0: no verification required 1: verification required). If CRC=1 and CRC error, valid data will be set to 0.
533 +* timeout: RS485 receive timeout (uint:ms). Device will close receive window after timeout
428 428  
535 +Example:
429 429  
430 -**Example:**
431 -
432 432  User need to change external sensor use the type code as address code.
433 433  
434 434  With a 485 sensor, after correctly changing the address code to A1, the RS485 query frame is shown in the following table:
435 435  
436 -[[image:image-20220624143553-10.png]]
541 +|Address Code|Function Code|(% colspan="2" %)Start Register|(% colspan="2" %)Data Length|CRC Check Low|CRC Check High
542 +|0xA1|0x03|0x00|0x00|0x00|0x01|0x9C|0xAA
543 +| | | | | | | |
437 437  
438 -
439 439  The response frame of the sensor is as follows:
440 440  
441 -[[image:image-20220624143618-11.png]]
547 +|Address Code|Function Code|(% colspan="2" %)Data Length|(% colspan="2" %)Data|CRC Check Low|CRC Check High
548 +|0xA1|0x03|0x00|0x02|0x00|0x0A|0x7C|0xAD
549 +| | | | | | | |
442 442  
551 +Then the following parameters should be:
443 443  
444 -**Then the following parameters should be:**
445 -
446 446  * Address_Code range: A1
447 447  * Query_Length: 8
448 448  * Query_Command: A103000000019CAA
... ... @@ -451,23 +451,21 @@
451 451  * has_CRC: 1
452 452  * timeout: 1500 (Fill in the test according to the actual situation)
453 453  
561 +So the input command is:
454 454  
455 -**So the input command is:**
456 -
457 457  AT+DYSENSOR=A1,8,A103000000019CAA,8,24,1,1500
458 458  
459 459  
460 460  In every sampling. WSC1-L will auto append the sensor segment as per this structure and uplink.
461 461  
462 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:351px" %)
463 -|=(% style="width: 94px;" %)Type Code|=(% style="width: 121px;" %)Length (Bytes)|=(% style="width: 132px;" %)Measured Value
464 -|(% style="width:94px" %)A1|(% style="width:121px" %)2|(% style="width:132px" %)0x000A
568 +|Type Code|Length (Bytes)|Measured Value
569 +|A1|2|0x000A
465 465  
466 -**Related commands:**
571 +Related commands:
467 467  
468 -AT+DYSENSOR=A1,0  ~-~->  Delete 3^^rd^^ party sensor A1.
573 +AT+DYSENSOR=A1,0 > Delete 3^^rd^^ party sensor A1.
469 469  
470 -AT+DYSENSOR  ~-~->  List All 3^^rd^^ Party Sensor. Like below:
575 +AT+DYSENSOR ~-~-> List All 3^^rd^^ Party Sensor. Like below:
471 471  
472 472  
473 473  (% style="color:#037691" %)**Downlink Command:  **
... ... @@ -480,19 +480,16 @@
480 480  
481 481  * 0xE5FF  
482 482  
483 -
484 -
485 485  == 3.4 RS485 Test Command ==
486 486  
487 487  (% style="color:#037691" %)**AT Command:**
488 488  
489 -(% border="1" cellspacing="10" style="background-color:#ffffcc; color:green; width:474px" %)
490 -|=(% style="width: 159px;" %)**Command Example**|=(% style="width: 227px;" %)**Function**|=(% style="width: 85px;" %)**Response**
491 -|(% style="width:159px" %)AT+RSWRITE=xxxxxx|(% style="width:227px" %)(((
592 +|**Command Example**|**Function**|**Response**
593 +|AT+RSWRITE=xxxxxx|(((
492 492  Send command to 485 sensor
493 493  
494 494  Range : no more than 10 bytes
495 -)))|(% style="width:85px" %)OK
597 +)))|OK
496 496  
497 497  Eg: Send command **01 03 00 00 00 01 84 0A** to 485 sensor
498 498  
... ... @@ -503,8 +503,6 @@
503 503  
504 504  * 0xE20103000001840A     Same as: AT+RSWRITE=0103000001840A
505 505  
506 -
507 -
508 508  == 3.5 RS485 response timeout ==
509 509  
510 510  Feature: Set or get extended time to receive 485 sensor data.
... ... @@ -527,8 +527,6 @@
527 527  * Example 1: Downlink Payload: E0000005 ~/~/ Set Transmit Interval (DTR) = 5 seconds
528 528  * Example 2: Downlink Payload: E000000A ~/~/ Set Transmit Interval (DTR) = 10 seconds
529 529  
530 -
531 -
532 532  == 3.6 Set Sensor Type ==
533 533  
534 534  Feature: Set sensor in used. If there are 6 sensors, user can set to only send 5 sensors values.
1656051152438-578.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -59.2 KB
Content
1656051197172-131.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -93.9 KB
Content
1656051223585-631.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -45.7 KB
Content
1656051248318-368.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -49.2 KB
Content
1656051277767-168.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -93.2 KB
Content
image-20220624140735-4.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -1.2 KB
Content
image-20220624140842-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -6.3 KB
Content
image-20220624141025-6.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -6.8 KB
Content
image-20220624141100-7.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -875 bytes
Content
image-20220624142619-8.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -12.5 KB
Content
image-20220624142956-9.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -9.2 KB
Content
image-20220624143553-10.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -6.7 KB
Content
image-20220624143618-11.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -6.3 KB
Content