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

From version 118.2
edited by Xiaoling
on 2023/11/28 14:00
Change comment: There is no comment for this version
To version 79.14
edited by Xiaoling
on 2023/06/13 15:20
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -DS20L -- LoRaWAN Smart Distance Detector User Manual
1 +DDS20-LB -- LoRaWAN Ultrasonic Liquid Level Sensor User Manual
Content
... ... @@ -1,5 +1,5 @@
1 1  (% style="text-align:center" %)
2 -[[image:image-20231110085342-2.png||height="481" width="481"]]
2 +[[image:image-20230613133716-2.png||height="717" width="717"]]
3 3  
4 4  
5 5  
... ... @@ -19,469 +19,559 @@
19 19  
20 20  = 1. Introduction =
21 21  
22 -== 1.1 What is LoRaWAN Smart Distance Detector ==
22 +== 1.1 What is LoRaWAN Ultrasonic liquid level Sensor ==
23 23  
24 24  
25 -The Dragino (% style="color:blue" %)**DS20L is a smart distance detector**(%%) base on long-range wireless LoRaWAN technology. It uses (% style="color:blue" %)**LiDAR sensor**(%%) to detect the distance between DS20L and object, then DS20L will send the distance data to the IoT Platform via LoRaWAN. DS20L can measure range between 3cm ~~ 200cm.
25 +The Dragino DDS20-LB is a (% style="color:blue" %)**LoRaWAN Ultrasonic liquid level sensor**(%%) for Internet of Things solution. It uses (% style="color:blue" %)**none-contact method **(%%)to measure the (% style="color:blue" %)**height of liquid**(%%) in a container without opening the container, and send the value via LoRaWAN network to IoT Server.
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.
27 +The DDS20-LB sensor is installed directly below the container to detect the height of the liquid level. User doesn't need to open a hole on the container to be tested. The none-contact measurement makes the measurement safety, easier and possible for some strict situation. 
29 29  
30 -DS20L has a (% style="color:blue" %)**built-in 2400mAh non-chargeable battery**(%%) for long-term use up to several years*. Users can also power DS20L with an external power source for (% style="color:blue" %)**continuous measuring and distance alarm / counting purposes.**
29 +DDS20-LB uses (% style="color:blue" %)**ultrasonic sensing technology**(%%) for distance measurement. DDS20-LB is of high accuracy to measure various liquid such as: (% style="color:blue" %)**toxic substances**(%%), (% style="color:blue" %)**strong acids**(%%), (% style="color:blue" %)**strong alkalis**(%%) and (% style="color:blue" %)**various pure liquids**(%%) in high-temperature and high-pressure airtight containers.
31 31  
32 -DS20L is fully compatible with (% style="color:blue" %)**LoRaWAN v1.0.3 Class A protocol**(%%), it can work with a standard LoRaWAN gateway.
31 +The LoRa wireless technology used in DDS20-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  
33 +DDS20-LB (% style="color:blue" %)**supports BLE configure**(%%) and (% style="color:blue" %)**wireless OTA update**(%%) which make user easy to use.
34 34  
35 -[[image:image-20231110102635-5.png||height="402" width="807"]]
35 +DDS20-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
36 36  
37 +Each DDS20-LB is pre-load with a set of unique keys for LoRaWAN registrations, register these keys to local LoRaWAN server and it will auto connect after power on.
37 37  
39 +[[image:image-20230613140115-3.png||height="453" width="800"]]
40 +
41 +
38 38  == 1.2 ​Features ==
39 39  
40 40  
41 -* LoRaWAN Class A protocol
42 -* LiDAR distance detector, range 3 ~~ 200cm
43 -* Periodically detect or continuously detect mode
45 +* LoRaWAN 1.0.3 Class A
46 +* Bands: CN470/EU433/KR920/US915/EU868/AS923/AU915/IN865
47 +* Ultra-low power consumption
48 +* Liquid Level Measurement by Ultrasonic technology
49 +* Measure through container, No need to contact Liquid
50 +* Valid level range 20mm - 2000mm
51 +* Accuracy: ±(5mm+S*0.5%) (S: Measure Value)
52 +* Cable Length : 25cm
53 +* Support Bluetooth v5.1 and LoRaWAN remote configure
54 +* Support wireless OTA update firmware
44 44  * AT Commands to change parameters
45 -* Remotely configure parameters via LoRaWAN Downlink
46 -* Alarm & Counting mode
47 -* Firmware upgradable via program port or LoRa protocol
48 -* Built-in 2400mAh battery or power by external power source
56 +* Downlink to change configure
57 +* IP66 Waterproof Enclosure
58 +* 8500mAh Battery for long term use
49 49  
50 50  == 1.3 Specification ==
51 51  
52 52  
53 -(% style="color:#037691" %)**LiDAR Sensor:**
63 +(% style="color:#037691" %)**Common DC Characteristics:**
54 54  
55 -* Operation Temperature: -40 ~~ 80 °C
56 -* Operation Humidity: 0~~99.9%RH (no Dew)
57 -* Storage Temperature: -10 ~~ 45°C
58 -* Measure Range: 3cm~~200cm @ 90% reflectivity
59 -* Accuracy: ±2cm @ (3cm~~100cm); ±5% @ (100~~200cm)
60 -* ToF FoV: ±9°, Total 18°
61 -* Light source: VCSEL
65 +* Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
66 +* Operating Temperature: -40 ~~ 85°C
62 62  
63 -== 1.4 Power Consumption ==
68 +(% style="color:#037691" %)**LoRa Spec:**
64 64  
70 +* Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
71 +* Max +22 dBm constant RF output vs.
72 +* RX sensitivity: down to -139 dBm.
73 +* Excellent blocking immunity
65 65  
66 -(% style="color:#037691" %)**Battery Power Mode:**
75 +(% style="color:#037691" %)**Battery:**
67 67  
68 -* Idle: 0.003 mA @ 3.3v
69 -* Max : 360 mA
77 +* Li/SOCI2 un-chargeable battery
78 +* Capacity: 8500mAh
79 +* Self-Discharge: <1% / Year @ 25°C
80 +* Max continuously current: 130mA
81 +* Max boost current: 2A, 1 second
70 70  
71 -(% style="color:#037691" %)**Continuously mode**:
83 +(% style="color:#037691" %)**Power Consumption**
72 72  
73 -* Idle: 21 mA @ 3.3v
74 -* Max : 360 mA
85 +* Sleep Mode: 5uA @ 3.3v
86 +* LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
75 75  
76 -= 2. Configure DS20L to connect to LoRaWAN network =
88 +== 1.4 Suitable Container & Liquid ==
77 77  
78 -== 2.1 How it works ==
79 79  
91 +* Solid Wall container such as: steel, iron, glass, ceramics, non-foaming plastics etc.
92 +* Container shape is regular, and surface is smooth.
93 +* Container Thickness:
94 +** Pure metal material.  2~~8mm, best is 3~~5mm
95 +** Pure non metal material: <10 mm
96 +* Pure liquid without irregular deposition.(% style="display:none" %)
80 80  
81 -The DS20L 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.
98 +== 1.Install DDS20-LB ==
82 82  
83 -(% style="display:none" %) (%%)
84 84  
85 -== 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
101 +(% style="color:blue" %)**Step 1**(%%):  Choose the installation point.
86 86  
103 +DDS20-LB (% style="color:red" %)**MUST**(%%) be installed on the container bottom middle position.
87 87  
88 -Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
105 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615091045-3.png?rev=1.1||alt="image-20220615091045-3.png"]]
89 89  
90 -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.(% style="display:none" %)
91 91  
92 -[[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
108 +(((
109 +(% style="color:blue" %)**Step 2**(%%):  Polish the installation point.
110 +)))
93 93  
94 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
112 +(((
113 +For Metal Surface with paint, it is important to polish the surface, first use crude sand paper to polish the paint level , then use exquisite sand paper to polish the metal level to make it shine & smooth.
114 +)))
95 95  
96 -Each DS20L is shipped with a sticker with the default device EUI as below:
116 +[[image:image-20230613143052-5.png]]
97 97  
98 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
99 99  
119 +No polish needed if the container is shine metal surface without paint or non-metal container.
100 100  
101 -You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
121 +[[image:image-20230613143125-6.png]]
102 102  
103 103  
104 -(% style="color:blue" %)**Register the device**
124 +(((
125 +(% style="color:blue" %)**Step3:   **(%%)Test the installation point.
126 +)))
105 105  
106 -[[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"]]
128 +(((
129 +Power on DDS20-LB, check if the blue LED is on, If the blue LED is on, means the sensor works. Then put ultrasonic coupling paste on the sensor and put it tightly on the installation point.
130 +)))
107 107  
132 +(((
133 +It is necessary to put the coupling paste between the sensor and the container, otherwise DDS20-LB won't detect the liquid level.
134 +)))
108 108  
109 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
136 +(((
137 +After paste the DDS20-LB well, power on DDS20-LB. In the first 30 seconds of booting, device will check the sensors status and BLUE LED will show the status as below. After 30 seconds, BLUE LED will be off to save battery life.
138 +)))
110 110  
111 -[[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"]]
112 112  
141 +(((
142 +(% style="color:red" %)**LED Status:**
143 +)))
113 113  
114 -(% style="color:blue" %)**Add APP EUI in the application**
145 +* (((
146 +Onboard LED: When power on device, the onboard LED will fast blink 4 times which means detect the sensor well.
147 +)))
115 115  
149 +* (((
150 +(% style="color:blue" %)**BLUE LED**(% style="color:red" %)** always ON**(%%): Sensor is power on but doesn't detect liquid. There is problem in installation point.
151 +)))
152 +* (((
153 +(% style="color:blue" %)**BLUE LED**(% style="color:red" %)** slowly blinking**(%%): Sensor detects Liquid Level, The installation point is good.
154 +)))
116 116  
117 -[[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"]]
156 +(((
157 +LDDS20 will enter into low power mode at 30 seconds after system reset or power on, Blue LED will be off after that.
158 +)))
118 118  
119 119  
120 -(% style="color:blue" %)**Add APP KEY**
161 +(((
162 +(% style="color:red" %)**Note 2:**
163 +)))
121 121  
122 -[[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"]]
165 +(((
166 +(% style="color:red" %)**Ultrasonic coupling paste** (%%) is subjected in most shipping way. So the default package doesn't include it and user needs to purchase locally.
167 +)))
123 123  
124 124  
125 -(% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
170 +(((
171 +(% style="color:blue" %)**Step4:   **(%%)Install use Epoxy ab glue.
172 +)))
126 126  
127 -[[image:image-20231128133704-1.png||height="189" width="441"]]
174 +(((
175 +Prepare Eproxy AB glue.
176 +)))
128 128  
129 -Press the button for 5 seconds to activate the DS20L.
178 +(((
179 +Put Eproxy AB glue in the sensor and press it hard on the container installation point.
180 +)))
130 130  
131 -(% 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.
182 +(((
183 +Reset DDS20-LB and see if the BLUE LED is slowly blinking.
184 +)))
132 132  
133 -After join success, it will start to upload messages to TTN and you can see the messages in the panel.
186 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615091045-8.png?width=341&height=203&rev=1.1||alt="image-20220615091045-8.png"]] [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615091045-9.png?width=284&height=200&rev=1.1||alt="image-20220615091045-9.png"]]
134 134  
135 135  
136 -== 2.3 ​Uplink Payload ==
189 +(((
190 +(% style="color:red" %)**Note 1:**(%%)** (% style="color:blue" %)Eproxy AB glue(%%)** needs 3~~ 5 minutes to stable attached. we can use other glue material to keep it in the position.
191 +)))
137 137  
138 -=== 2.3.1 Device Status, FPORT~=5 ===
193 +(((
194 +(% style="color:red" %)**Note 2:**(%%)** (% style="color:blue" %)Eproxy AB glue(%%)** is subjected in most shipping way. So the default package doesn't include it and user needs to purchase locally.
195 +)))
139 139  
140 140  
141 -Users can use the downlink command(**0x26 01**) to ask DS20L to send device configure detail, include device configure status. DS20L will uplink a payload via FPort=5 to server.
198 +== 1.6 Applications ==
142 142  
143 -The Payload format is as below.
144 144  
145 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
146 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
147 -**Size(bytes)**
148 -)))|=(% style="width: 100px; background-color: #4F81BD;color:white;" %)**1**|=(% style="width: 100px; background-color: #4F81BD;color:white;" %)**2**|=(% style="background-color: #4F81BD;color:white; width: 100px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 100px;" %)**1**|=(% style="background-color: #4F81BD;color:white; width: 50px;" %)**2**
149 -|(% style="width:62.5px" %)Value|(% style="width:110px" %)Sensor Model|(% style="width:48px" %)Firmware Version|(% style="width:94px" %)Frequency Band|(% style="width:91px" %)Sub-band|(% style="width:60px" %)BAT
201 +* Smart liquid control solution.
150 150  
151 -Example parse in TTNv3
203 +* Smart liquefied gas solution.
152 152  
153 -[[image:1701149922873-259.png]]
205 +== 1.7 Precautions ==
154 154  
155 -(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
156 156  
157 -(% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
208 +* At room temperature, containers of different materials, such as steel, glass, iron, ceramics, non-foamed plastics and other dense materials, have different detection blind areas and detection limit heights.
158 158  
159 -(% style="color:blue" %)**Frequency Band**:
210 +* For containers of the same material at room temperature, the detection blind zone and detection limit height are also different for the thickness of the container.
160 160  
161 -0x01: EU868
212 +* When the detected liquid level exceeds the effective detection value of the sensor, and the liquid level of the liquid to be measured shakes or tilts, the detected liquid height is unstable.(% style="display:none" %)
162 162  
163 -0x02: US915
214 +== 1.8 Sleep mode and working mode ==
164 164  
165 -0x03: IN865
166 166  
167 -0x04: AU915
217 +(% 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.
168 168  
169 -0x05: KZ865
219 +(% 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.
170 170  
171 -0x06: RU864
172 172  
173 -0x07: AS923
222 +== 1.9 Button & LEDs ==
174 174  
175 -0x08: AS923-1
176 176  
177 -0x09: AS923-2
225 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
178 178  
179 -0x0a: AS923-3
180 180  
181 -0x0b: CN470
228 +(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
229 +|=(% style="width: 167px;background-color:#D9E2F3;color:#0070C0" %)**Behavior on ACT**|=(% style="width: 117px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 225px;background-color:#D9E2F3;color:#0070C0" %)**Action**
230 +|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
231 +If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
232 +Meanwhile, BLE module will be active and user can connect via BLE to configure device.
233 +)))
234 +|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
235 +(% 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.
236 +(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
237 +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.
238 +)))
239 +|(% 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.
182 182  
183 -0x0c: EU433
241 +== 1.10 BLE connection ==
184 184  
185 -0x0d: KR920
186 186  
187 -0x0e: MA869
244 +DDS20-LB support BLE remote configure.
188 188  
189 -(% style="color:blue" %)**Sub-Band**:
246 +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:
190 190  
191 -AU915 and US915:value 0x00 ~~ 0x08
248 +* Press button to send an uplink
249 +* Press button to active device.
250 +* Device Power on or reset.
192 192  
193 -CN470: value 0x0B ~~ 0x0C
252 +If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
194 194  
195 -Other Bands: Always 0x00
196 196  
197 -(% style="color:blue" %)**Battery Info**:
255 +== 1.11 Pin Definitions ==
198 198  
199 -Check the battery voltage.
257 +[[image:image-20230523174230-1.png]]
200 200  
201 -Ex1: 0x0B45 = 2885mV
202 202  
203 -Ex2: 0x0B49 = 2889mV
260 +== 1.12 Mechanical ==
204 204  
205 205  
206 -=== 2.3.2 Uplink Payload, FPORT~=2 ===
263 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
207 207  
208 208  
209 -(((
210 -DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will:
266 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
211 211  
212 -periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
213 213  
214 -Uplink Payload totals 11 bytes.
215 -)))
269 +[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
216 216  
217 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
218 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
219 -**Size(bytes)**
220 -)))|=(% 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**
221 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="HBatteryInfo"]]|(% style="width:62.5px" %)(((
222 -[[Temperature DS18B20>>||anchor="HDS18B20Temperaturesensor"]]
223 -)))|[[Distance>>||anchor="HDistance"]]|[[Distance signal strength>>||anchor="HDistancesignalstrength"]]|(% style="width:122px" %)(((
224 -[[Interrupt flag & Interrupt_level>>||anchor="HInterruptPin26A0InterruptLevel"]]
225 -)))|(% style="width:54px" %)[[LiDAR temp>>||anchor="HLiDARtemp"]]|(% style="width:96px" %)(((
226 -[[Message Type>>||anchor="HMessageType"]]
227 -)))
228 228  
229 -[[image:image-20230805104104-2.png||height="136" width="754"]]
272 +(% style="color:blue" %)**Probe Mechanical:**
230 230  
274 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615090910-1.png?rev=1.1||alt="image-20220615090910-1.png"]]
231 231  
232 -==== (% style="color:blue" %)**Battery Info**(%%) ====
233 233  
277 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/image-20220615090910-2.png?rev=1.1||alt="image-20220615090910-2.png"]]
234 234  
235 -Check the battery voltage for DS20L.
236 236  
237 -Ex1: 0x0B45 = 2885mV
280 += 2. Configure DDS20-LB to connect to LoRaWAN network =
238 238  
239 -Ex2: 0x0B49 = 2889mV
282 +== 2.1 How it works ==
240 240  
241 241  
242 -==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ====
285 +The DDS20-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 DDS20-LB. It will automatically join the network via OTAA and start to send the sensor value. The default uplink interval is 20 minutes.
243 243  
287 +(% style="display:none" %) (%%)
244 244  
245 -This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
289 +== 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
246 246  
247 247  
248 -**Example**:
292 +Following is an example for how to join the [[TTN v3 LoRaWAN Network>>url:https://console.cloud.thethings.network/]]. Below is the network structure; we use the [[LPS8v2>>url:https://www.dragino.com/products/lora-lorawan-gateway/item/228-lps8v2.html]] as a LoRaWAN gateway in this example.
249 249  
250 -If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
294 +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.
251 251  
252 -If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
296 +[[image:image-20230613140140-4.png||height="453" width="800"]](% style="display:none" %)
253 253  
254 254  
255 -==== (% style="color:blue" %)**Distance**(%%) ====
299 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DDS20-LB.
256 256  
301 +Each DDS20-LB is shipped with a sticker with the default device EUI as below:
257 257  
258 -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.
303 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
259 259  
260 260  
261 -**Example**:
306 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
262 262  
263 -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.
264 264  
309 +(% style="color:blue" %)**Register the device**
265 265  
266 -==== (% style="color:blue" %)**Distance signal strength**(%%) ====
311 +[[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"]]
267 267  
268 268  
269 -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.
314 +(% style="color:blue" %)**Add APP EUI and DEV EUI**
270 270  
316 +[[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"]]
271 271  
272 -**Example**:
273 273  
274 -If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible.
319 +(% style="color:blue" %)**Add APP EUI in the application**
275 275  
276 -Customers can judge whether they need to adjust the environment based on the signal strength.
277 277  
322 +[[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"]]
278 278  
279 -**1) When the sensor detects valid data:**
280 280  
281 -[[image:image-20230805155335-1.png||height="145" width="724"]]
325 +(% style="color:blue" %)**Add APP KEY**
282 282  
327 +[[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"]]
283 283  
284 -**2) When the sensor detects invalid data:**
285 285  
286 -[[image:image-20230805155428-2.png||height="139" width="726"]]
330 +(% style="color:blue" %)**Step 2:**(%%) Activate on DDS20-LB
287 287  
288 288  
289 -**3) When the sensor is not connected:**
333 +Press the button for 5 seconds to activate the DDS20-LB.
290 290  
291 -[[image:image-20230805155515-3.png||height="143" width="725"]]
335 +(% 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.
292 292  
337 +After join success, it will start to upload messages to TTN and you can see the messages in the panel.
293 293  
294 -==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ====
295 295  
340 +== 2.3  ​Uplink Payload ==
296 296  
297 -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.
298 298  
299 -Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI .
343 +(((
344 +DDS20-LB will uplink payload via LoRaWAN with below payload format: 
345 +)))
300 300  
301 -**Example:**
347 +(((
348 +Uplink payload includes in total 8 bytes.
349 +)))
302 302  
303 -If byte[0]&0x01=0x00 : Normal uplink packet.
351 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
352 +|=(% style="width: 62.5px;background-color:#D9E2F3;color:#0070C0" %)(((
353 +**Size(bytes)**
354 +)))|=(% style="width: 62.5px;background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="background-color:#D9E2F3;color:#0070C0" %)**2**|=(% style="background-color:#D9E2F3;color:#0070C0" %)1|=(% style="background-color:#D9E2F3;color:#0070C0" %)2|=(% style="background-color:#D9E2F3;color:#0070C0" %)**1**
355 +|(% style="width:62.5px" %)**Value**|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1A0BatteryInfo"]]|(((
356 +[[Distance>>||anchor="H2.3.2A0Distance"]]
357 +(unit: mm)
358 +)))|[[Digital Interrupt (Optional)>>||anchor="H2.3.3A0InterruptPin"]]|(((
359 +[[Temperature (Optional )>>||anchor="H2.3.4A0DS18B20Temperaturesensor"]]
360 +)))|[[Sensor Flag>>||anchor="H2.3.5A0SensorFlag"]]
304 304  
305 -If byte[0]&0x01=0x01 : Interrupt Uplink Packet.
362 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS20%20-%20LoRaWAN%20Liquid%20Level%20Sensor%20User%20Manual/WebHome/1654850511545-399.png?rev=1.1||alt="1654850511545-399.png"]]
306 306  
307 307  
308 -==== (% style="color:blue" %)**LiDAR temp**(%%) ====
365 +=== 2.3.1  Battery Info ===
309 309  
310 310  
311 -Characterize the internal temperature value of the sensor.
368 +Check the battery voltage for DDS20-LB.
312 312  
313 -**Example: **
314 -If payload is: 1C(H) <<24>>24=28(D),LiDAR temp=28℃.
315 -If payload is: F2(H) <<24>>24=-14(D),LiDAR temp=-14℃.
370 +Ex1: 0x0B45 = 2885mV
316 316  
372 +Ex2: 0x0B49 = 2889mV
317 317  
318 -==== (% style="color:blue" %)**Message Type**(%%) ====
319 319  
375 +=== 2.3.2  Distance ===
320 320  
377 +
321 321  (((
322 -For a normal uplink payload, the message type is always 0x01.
379 +Get the distance. Flat object range 20mm - 2000mm.
323 323  )))
324 324  
325 325  (((
326 -Valid Message Type:
383 +For example, if the data you get from the register is **0x06 0x05**, the distance between the sensor and the measured object is(% style="color:#4472c4" %)** **
384 +
385 +(% style="color:blue" %)**0605(H) = 1541 (D) = 1541 mm.**
327 327  )))
328 328  
329 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:499px" %)
330 -|=(% 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**
331 -|(% style="width:160px" %)0x01|(% style="width:163px" %)Normal Uplink|(% style="width:173px" %)Normal Uplink Payload
332 -|(% style="width:160px" %)0x02|(% style="width:163px" %)Reply configures info|(% style="width:173px" %)Configure Info Payload
388 +* If the sensor value is 0x0000, it means system doesn't detect ultrasonic sensor.
333 333  
334 -[[image:image-20230805150315-4.png||height="233" width="723"]]
390 +* If the sensor value lower than 0x0014 (20mm), the sensor value will be invalid.
335 335  
392 +=== 2.3.3  Interrupt Pin ===
336 336  
337 -=== 2.3.3 Historical measuring distance, FPORT~=3 ===
338 338  
395 +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.
339 339  
340 -DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
397 +**Example:**
341 341  
342 -The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
399 +0x00: Normal uplink packet.
343 343  
344 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
345 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
346 -**Size(bytes)**
347 -)))|=(% 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
348 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
349 -Reserve(0xFF)
350 -)))|Distance|Distance signal strength|(% style="width:88px" %)(((
351 -LiDAR temp
352 -)))|(% style="width:85px" %)Unix TimeStamp
401 +0x01: Interrupt Uplink Packet.
353 353  
354 -**Interrupt flag & Interrupt level:**
355 355  
356 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
357 -|=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
358 -**Size(bit)**
359 -)))|=(% 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**
360 -|(% 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" %)(((
361 -Interrupt flag
404 +=== 2.3.4  DS18B20 Temperature sensor ===
405 +
406 +
407 +This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
408 +
409 +**Example**:
410 +
411 +If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
412 +
413 +If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
414 +
415 +
416 +=== 2.3.5  Sensor Flag ===
417 +
418 +
419 +(((
420 +0x01: Detect Ultrasonic Sensor
362 362  )))
363 363  
364 -* (((
365 -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.
423 +(((
424 +0x00: No Ultrasonic Sensor
366 366  )))
367 367  
368 -For example, in the US915 band, the max payload for different DR is:
369 369  
370 -**a) DR0:** max is 11 bytes so one entry of data
428 +=== 2.3.6  Decode payload in The Things Network ===
371 371  
372 -**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
373 373  
374 -**c) DR2:** total payload includes 11 entries of data
431 +While using TTN network, you can add the payload format to decode the payload.
375 375  
376 -**d) DR3:** total payload includes 22 entries of data.
433 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654850829385-439.png?rev=1.1||alt="1654850829385-439.png"]]
377 377  
378 -If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
435 +The payload decoder function for TTN V3 is here:
379 379  
437 +(((
438 +DDS20-LB TTN V3 Payload Decoder:  [[ttps:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
439 +)))
380 380  
381 -**Downlink:**
382 382  
383 -0x31 64 CC 68 0C 64 CC 69 74 05
442 +== 2.4  Uplink Interval ==
384 384  
385 -[[image:image-20230805144936-2.png||height="113" width="746"]]
386 386  
387 -**Uplink:**
445 +The DDS20-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"]]
388 388  
389 -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
390 390  
448 +== 2.5  ​Show Data in DataCake IoT Server ==
391 391  
392 -**Parsed Value:**
393 393  
394 -[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
451 +(((
452 +[[DATACAKE>>url:https://datacake.co/]] provides a human friendly interface to show the sensor data, once we have data in TTN, we can use [[DATACAKE>>url:https://datacake.co/]] to connect to TTN and see the data in DATACAKE. Below are the steps:
453 +)))
395 395  
396 396  
397 -[360,176,30,High,True,2023-08-04 02:53:00],
456 +(((
457 +(% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
458 +)))
398 398  
399 -[355,168,30,Low,False,2023-08-04 02:53:29],
460 +(((
461 +(% style="color:blue" %)**Step 2**(%%)**: To configure the Application to forward data to DATACAKE you will need to add integration. To add the DATACAKE integration, perform the following steps:**
462 +)))
400 400  
401 -[245,211,30,Low,False,2023-08-04 02:54:29],
402 402  
403 -[57,700,30,Low,False,2023-08-04 02:55:29],
465 +[[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"]]
404 404  
405 -[361,164,30,Low,True,2023-08-04 02:56:00],
406 406  
407 -[337,184,30,Low,False,2023-08-04 02:56:40],
468 +[[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"]]
408 408  
409 -[20,4458,30,Low,False,2023-08-04 02:57:40],
410 410  
411 -[362,173,30,Low,False,2023-08-04 02:58:53],
471 +(% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
412 412  
473 +(% style="color:blue" %)**Step 4**(%%)**: Search the DDS20-LB and add DevEUI.**
413 413  
414 -**History read from serial port:**
475 +[[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"]]
415 415  
416 -[[image:image-20230805145056-3.png]]
417 417  
478 +After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
418 418  
419 -=== 2.3.4 Decode payload in The Things Network ===
480 +[[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/image-20220610165129-11.png?width=1088&height=595&rev=1.1||alt="image-20220610165129-11.png"]]
420 420  
421 421  
422 -While using TTN network, you can add the payload format to decode the payload.
423 423  
424 -[[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"]]
484 +== 2.6 Datalog Feature ==
425 425  
426 426  
427 -(((
428 -The payload decoder function for TTN is here:
429 -)))
487 +Datalog Feature is to ensure IoT Server can get all sampling data from Sensor even if the LoRaWAN network is down. For each sampling, DDS20-LB will store the reading for future retrieving purposes.
430 430  
431 -(((
432 -DS20L TTN Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
433 -)))
434 434  
490 +=== 2.6.1 Ways to get datalog via LoRaWAN ===
435 435  
436 -== 2.4 ​Show Data in DataCake IoT Server ==
437 437  
493 +Set PNACKMD=1, DDS20-LB will wait for ACK for every uplink, when there is no LoRaWAN network,DDS20-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.
438 438  
439 -(((
440 -[[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:
495 +* (((
496 +a) DDS20-LB will do an ACK check for data records sending to make sure every data arrive server.
441 441  )))
498 +* (((
499 +b) DDS20-LB will send data in **CONFIRMED Mode** when PNACKMD=1, but DDS20-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 DDS20-LB gets a ACK, DDS20-LB will consider there is a network connection and resend all NONE-ACK messages.
500 +)))
442 442  
502 +Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
443 443  
444 -(((
445 -(% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
446 -)))
504 +[[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"]]
447 447  
448 -(((
449 -(% style="color:blue" %)**Step 2**(%%)**: To configure the Application to forward data to DATACAKE you will need to add integration. To add the DATACAKE integration, perform the following steps:**
450 -)))
451 451  
507 +=== 2.6.2 Unix TimeStamp ===
452 452  
453 -[[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  
510 +DDS20-LB uses Unix TimeStamp format based on
455 455  
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/1654592800389-571.png?rev=1.1||alt="1654592800389-571.png"]]
512 +[[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"]]
457 457  
514 +User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
458 458  
459 -(% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
516 +Below is the converter example
460 460  
461 -(% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
518 +[[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"]]
462 462  
463 -[[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"]]
464 464  
521 +So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
465 465  
466 -After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
467 467  
468 -[[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"]]
524 +=== 2.6.3 Set Device Time ===
469 469  
470 470  
471 -== 2.5 Frequency Plans ==
527 +User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
472 472  
529 +Once DDS20-LB Joined LoRaWAN network, it will send the MAC command (DeviceTimeReq) and the server will reply with (DeviceTimeAns) to send the current time to DDS20-LB. If DDS20-LB fails to get the time from the server, DDS20-LB will use the internal time and wait for next time request (AT+SYNCTDC to set the time request period, default is 10 days).
473 473  
474 -The DS20L 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.
531 +(% 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.**
475 475  
533 +
534 +=== 2.6.4 Poll sensor value ===
535 +
536 +
537 +Users can poll sensor values based on timestamps. Below is the downlink command.
538 +
539 +(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %)
540 +|(% colspan="4" style="background-color:#d9e2f3; color:#0070c0; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
541 +|(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
542 +|(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
543 +
544 +(((
545 +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.
546 +)))
547 +
548 +(((
549 +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"]]
550 +)))
551 +
552 +(((
553 +Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
554 +)))
555 +
556 +(((
557 +Uplink Internal =5s,means DDS20-LB will send one packet every 5s. range 5~~255s.
558 +)))
559 +
560 +
561 +== 2.7 Frequency Plans ==
562 +
563 +
564 +The DDS20-LB uses OTAA mode and below frequency plans by default. If user want to use it with different frequency plan, please refer the AT command sets.
565 +
476 476  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
477 477  
478 478  
479 -= 3. Configure DS20L =
569 += 3. Configure DDS20-LB =
480 480  
481 481  == 3.1 Configure Methods ==
482 482  
483 483  
484 -DS20L supports below configure method:
574 +DDS20-LB supports below configure method:
485 485  
486 486  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
487 487  
... ... @@ -503,10 +503,10 @@
503 503  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
504 504  
505 505  
506 -== 3.3 Commands special design for DS20L ==
596 +== 3.3 Commands special design for DDS20-LB ==
507 507  
508 508  
509 -These commands only valid for DS20L, as below:
599 +These commands only valid for DDS20-LB, as below:
510 510  
511 511  
512 512  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -521,7 +521,7 @@
521 521  )))
522 522  
523 523  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
524 -|=(% style="width: 156px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 137px;background-color:#4F81BD;color:white" %)**Function**|=(% style="background-color:#4F81BD;color:white" %)**Response**
614 +|=(% style="width: 156px;background-color:#D9E2F3; color:#0070c0" %)**Command Example**|=(% style="width: 137px;background-color:#D9E2F3; color:#0070c0" %)**Function**|=(% style="background-color:#D9E2F3; color:#0070c0" %)**Response**
525 525  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
526 526  30000
527 527  OK
... ... @@ -548,31 +548,26 @@
548 548  Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
549 549  )))
550 550  * (((
551 -Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
641 +Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds 
552 552  )))
553 553  
554 -
555 555  === 3.3.2 Set Interrupt Mode ===
556 556  
557 557  
558 -Feature, Set Interrupt mode for pin of GPIO_EXTI.
647 +Feature, Set Interrupt mode for PA8 of pin.
559 559  
560 -When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port.
649 +When AT+INTMOD=0 is set, PA8 is used as a digital input port.
561 561  
562 562  (% style="color:blue" %)**AT Command: AT+INTMOD**
563 563  
564 564  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
565 -|=(% 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**
654 +|=(% style="width: 155px;background-color:#D9E2F3;color:#0070C0" %)**Command Example**|=(% style="width: 197px;background-color:#D9E2F3;color:#0070C0" %)**Function**|=(% style="width: 158px;background-color:#D9E2F3;color:#0070C0" %)**Response**
566 566  |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
567 567  0
568 568  OK
569 569  the mode is 0 =Disable Interrupt
570 570  )))
571 -|(% style="width:154px" %)(((
572 -AT+INTMOD=3
573 -
574 -(default)
575 -)))|(% style="width:196px" %)(((
660 +|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
576 576  Set Transmit Interval
577 577  0. (Disable Interrupt),
578 578  ~1. (Trigger by rising and falling edge)
... ... @@ -590,78 +590,10 @@
590 590  
591 591  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
592 592  
593 -
594 -
595 -== 3.3.3 Set work mode ==
596 -
597 -
598 -Feature: Switch working mode
599 -
600 -(% style="color:blue" %)**AT Command: AT+MOD**
601 -
602 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:463px" %)
603 -|=(% style="width: 162px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 108px;background-color:#4F81BD;color:white" %)**Response**
604 -|(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK
605 -|(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)(((
606 -OK
607 -
608 -Attention:Take effect after ATZ
609 -)))
610 -
611 -(% style="color:blue" %)**Downlink Command:**
612 -
613 -* **Example: **0x0A00  ~/~/  Same as AT+MOD=0
614 -
615 -* **Example:** 0x0A01  ~/~/  Same as AT+MOD=1
616 -
617 -
618 -=== 3.3.4 Set threshold and threshold mode ===
619 -
620 -
621 -Feature, Set threshold and threshold mode
622 -
623 -When **AT+DOL=0,0,0,0,400** is set, No threshold is used, the sampling time is 400ms.
624 -
625 -**AT Command: AT+DOL**
626 -
627 -(% border="1" cellspacing="4" style="width:571.818px" %)
628 -|(% style="width:172px" %)**Command Example**|(% style="width:279px" %)**Function**|(% style="width:118px" %)**Response**
629 -|(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
630 -0,0,0,0,400
631 -
632 -OK
633 -)))
634 -|(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
635 -
636 -
637 -(% border="1" cellspacing="4" style="width:668.818px" %)
638 -|(% rowspan="11" style="width:166px" %)**AT+DOL=5,1800,0,0,400**|(% rowspan="6" style="width:226px" %)The first bit sets the limit mode|(% style="width:251px" %)0:Do not use upper and lower limits
639 -|(% style="width:251px" %)1:Use upper and lower limits
640 -|(% style="width:251px" %)2:Less than the lower limit
641 -|(% style="width:251px" %)3:Greater than the lower limit
642 -|(% style="width:251px" %)4:Less than the upper limit
643 -|(% style="width:251px" %)5: Greater than the upper limit
644 -|(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
645 -|(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
646 -|(% 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
647 -|(% style="width:251px" %)1 Person or object counting statistics
648 -|(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
649 -0~~10000ms
650 -
651 -
652 -)))
653 -
654 -**Downlink Command: 0x07**
655 -
656 -Format: Command Code (0x07) followed by 9bytes.
657 -
658 -* Example 0: Downlink Payload: 070000000000000190  **~-~-->**  AT+MOD=0,0,0,0,400
659 -* Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
660 -
661 661  = 4. Battery & Power Consumption =
662 662  
663 663  
664 -DS20L use built-in 2400mAh non-chargeable battery for long-term use up to several years*. See below link for detail information about the battery info and how to replace.
681 +DDS20-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
665 665  
666 666  [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
667 667  
... ... @@ -670,7 +670,7 @@
670 670  
671 671  
672 672  (% class="wikigeneratedid" %)
673 -User can change firmware DS20L to:
690 +User can change firmware DDS20-LB to:
674 674  
675 675  * Change Frequency band/ region.
676 676  
... ... @@ -678,48 +678,50 @@
678 678  
679 679  * Fix bugs.
680 680  
681 -Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zqv1vt3komgp4tu/AAC33PnXIcWOVl_UXBEAeT_xa?dl=0]]**
698 +Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/ph4uyz0rchflrnw/AADr1f_5Sg30804NItpfOQbla?dl=0]]**
682 682  
683 683  Methods to Update Firmware:
684 684  
685 -* (Recommanded way) OTA firmware update via wireless:  **[[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]**
702 +* (Recommanded way) OTA firmware update via wireless:  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/>>url:http://wiki.dragino.com/xwiki/bin/view/Main/Firmware%20OTA%20Update%20for%20Sensors/]]
686 686  
687 687  * 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]]**.
688 688  
706 +
689 689  = 6. FAQ =
690 690  
691 -== 6.1 What is the frequency plan for DS20L? ==
709 +== 6.1  What is the frequency plan for DDS20-LB? ==
692 692  
693 693  
694 -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"]]
712 +DDS20-LB 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"]]
695 695  
696 696  
697 -= 7Trouble Shooting =
715 +== 6.2  Can I use DDS20-LB in condensation environment? ==
698 698  
699 -== 7.1 AT Command input doesn't work ==
700 700  
718 +DDS20-LB is not suitable to be used in condensation environment. Condensation on the DDS20-LB probe will affect the reading and always got 0.
701 701  
702 -In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:blue" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:blue" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
703 703  
721 += 7.  Trouble Shooting =
704 704  
705 -== 7.2 Significant error between the output distant value of LiDAR and actual distance ==
723 +== 7.1  Why I can't join TTN V3 in US915 / AU915 bands? ==
706 706  
707 707  
708 -(((
709 -(% style="color:blue" %)**Cause ①**(%%)**:**Due to the physical principles of The LiDAR probe, the above phenomenon is likely to occur if the detection object is the material with high reflectivity (such as mirror, smooth floor tile, etc.) or transparent substance. (such as glass and water, etc.)
710 -)))
726 +It is due to channel mapping. Please see below link:  [[Frequency band>>doc:Main.LoRaWAN Communication Debug.WebHome||anchor="H2.NoticeofUS9152FCN4702FAU915Frequencyband"]]
711 711  
712 -(((
713 -(% style="color:red" %)**Troubleshooting**(%%): Please avoid use of this product under such circumstance in practice.
714 -)))
715 715  
729 +== 7.2  AT Command input doesn't work ==
716 716  
717 -(((
718 -(% style="color:blue" %)**Cause ②**(%%)**: **The IR-pass filters are blocked.
719 -)))
720 720  
732 +In the case if user can see the console output but can't type input to the device. Please check if you already include the (% style="color:blue" %)**ENTER**(%%) while sending out the command. Some serial tool doesn't send (% style="color:blue" %)**ENTER**(%%) while press the send key, user need to add ENTER in their string.
733 +
734 +
735 +== 7.3  Why i always see 0x0000 or 0 for the distance value? ==
736 +
737 +
721 721  (((
722 -(% style="color:red" %)**Troubleshooting**(%%): please use dry dust-free cloth to gently remove the foreign matter.
739 +LDDS20 has a strict [[**installation requirement**>>||anchor="H1.5A0InstallDDS20-LB"]]. Please make sure the installation method exactly follows up with the installation requirement. Otherwise, the reading might be always 0x00.
740 +
741 +If you have followed the instruction requirement exactly but still see the 0x00 reading issue, please. please double-check the decoder, you can check the raw payload to verify.
723 723  )))
724 724  
725 725  
... ... @@ -726,7 +726,7 @@
726 726  = 8. Order Info =
727 727  
728 728  
729 -Part Number: (% style="color:blue" %)**DS20L-XXX**
748 +Part Number: (% style="color:blue" %)**DDS20-LB-XXX**
730 730  
731 731  (% style="color:red" %)**XXX**(%%): **The default frequency band**
732 732  
... ... @@ -751,7 +751,7 @@
751 751  
752 752  (% style="color:#037691" %)**Package Includes**:
753 753  
754 -* DS20L LoRaWAN Smart Distance Detector x 1
773 +* DDS20-LB LoRaWAN Ultrasonic Liquid Level Sensor x 1
755 755  
756 756  (% style="color:#037691" %)**Dimension and weight**:
757 757  
1701149922873-259.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -24.5 KB
Content
image-20230614153353-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -112.1 KB
Content
image-20230614162334-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -88.3 KB
Content
image-20230614162359-3.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -88.3 KB
Content
image-20230615152941-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -87.9 KB
Content
image-20230615153004-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -87.9 KB
Content
image-20230805103904-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -46.9 KB
Content
image-20230805104104-2.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -46.3 KB
Content
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
image-20231110102635-5.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -84.7 KB
Content
image-20231128133704-1.png
Author
... ... @@ -1,1 +1,0 @@
1 -XWiki.Xiaoling
Size
... ... @@ -1,1 +1,0 @@
1 -190.6 KB
Content