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

From version 80.1
edited by Xiaoling
on 2023/06/14 15:33
Change comment: Uploaded new attachment "image-20230614153353-1.png", version {1}
To version 118.3
edited by Xiaoling
on 2023/11/28 14:04
Change comment: There is no comment for this version

Summary

Details

Page properties
Title
... ... @@ -1,1 +1,1 @@
1 -LDS12-LB -- LoRaWAN LiDAR ToF Distance Sensor User Manual
1 +DS20L -- LoRaWAN Smart Distance Detector User Manual
Content
... ... @@ -1,5 +1,5 @@
1 1  (% style="text-align:center" %)
2 -[[image:image-20230613133716-2.png||height="717" width="717"]]
2 +[[image:image-20231110085342-2.png||height="481" width="481"]]
3 3  
4 4  
5 5  
... ... @@ -19,443 +19,423 @@
19 19  
20 20  = 1. Introduction =
21 21  
22 -== 1.1 What is LoRaWAN Ultrasonic liquid level Sensor ==
22 +== 1.1 What is LoRaWAN Smart Distance Detector ==
23 23  
24 24  
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.
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.
26 26  
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. 
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.
28 28  
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.
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.**
30 30  
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.
32 +DS20L is fully compatible with (% style="color:blue" %)**LoRaWAN v1.0.3 Class A protocol**(%%), it can work with a standard LoRaWAN gateway.
32 32  
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 -DDS20-LB is powered by (% style="color:blue" %)**8500mAh Li-SOCI2 battery**(%%), it is designed for long term use up to 5 years.
35 +[[image:image-20231110102635-5.png||height="402" width="807"]]
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.
38 38  
39 -[[image:image-20230613140115-3.png||height="453" width="800"]]
40 -
41 -
42 42  == 1.2 ​Features ==
43 43  
44 44  
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
41 +* LoRaWAN Class A protocol
42 +* LiDAR distance detector, range 3 ~~ 200cm
43 +* Periodically detect or continuously detect mode
55 55  * AT Commands to change parameters
56 -* Downlink to change configure
57 -* IP66 Waterproof Enclosure
58 -* 8500mAh Battery for long term use
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
59 59  
60 -
61 61  == 1.3 Specification ==
62 62  
63 63  
64 -(% style="color:#037691" %)**Common DC Characteristics:**
53 +(% style="color:#037691" %)**LiDAR Sensor:**
65 65  
66 -* Supply Voltage: built in 8500mAh Li-SOCI2 battery , 2.5v ~~ 3.6v
67 -* Operating Temperature: -40 ~~ 85°C
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
68 68  
69 -(% style="color:#037691" %)**LoRa Spec:**
63 +== 1.4 Power Consumption ==
70 70  
71 -* Frequency Range,  Band 1 (HF): 862 ~~ 1020 Mhz
72 -* Max +22 dBm constant RF output vs.
73 -* RX sensitivity: down to -139 dBm.
74 -* Excellent blocking immunity
75 75  
76 -(% style="color:#037691" %)**Battery:**
66 +(% style="color:#037691" %)**Battery Power Mode:**
77 77  
78 -* Li/SOCI2 un-chargeable battery
79 -* Capacity: 8500mAh
80 -* Self-Discharge: <1% / Year @ 25°C
81 -* Max continuously current: 130mA
82 -* Max boost current: 2A, 1 second
68 +* Idle: 0.003 mA @ 3.3v
69 +* Max : 360 mA
83 83  
84 -(% style="color:#037691" %)**Power Consumption**
71 +(% style="color:#037691" %)**Continuously mode**:
85 85  
86 -* Sleep Mode: 5uA @ 3.3v
87 -* LoRa Transmit Mode: 125mA @ 20dBm, 82mA @ 14dBm
73 +* Idle: 21 mA @ 3.3v
74 +* Max : 360 mA
88 88  
76 += 2. Configure DS20L to connect to LoRaWAN network =
89 89  
90 -== 1.4 Suitable Container & Liquid ==
78 +== 2.1 How it works ==
91 91  
92 92  
93 -* Solid Wall container such as: steel, iron, glass, ceramics, non-foaming plastics etc.
94 -* Container shape is regular, and surface is smooth.
95 -* Container Thickness:
96 -** Pure metal material.  2~~8mm, best is 3~~5mm
97 -** Pure non metal material: <10 mm
98 -* Pure liquid without irregular deposition.
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.
99 99  
83 +(% style="display:none" %) (%%)
100 100  
101 -(% style="display:none" %)
85 +== 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
102 102  
103 -== 1.5 Install DDS20-LB ==
104 104  
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 105  
106 -(% style="color:blue" %)**Step 1**(%%):  ** Choose the installation point.**
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" %)
107 107  
108 -DDS20-LB (% style="color:red" %)**MUST**(%%) be installed on the container bottom middle position.
92 +[[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
109 109  
110 -[[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"]]
94 +(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
111 111  
96 +Each DS20L is shipped with a sticker with the default device EUI as below:
112 112  
113 -(((
114 -(% style="color:blue" %)**Step 2**(%%):  **Polish the installation point.**
115 -)))
98 +[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
116 116  
117 -(((
118 -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.
119 -)))
120 120  
121 -[[image:image-20230613143052-5.png]]
101 +You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
122 122  
123 123  
124 -No polish needed if the container is shine metal surface without paint or non-metal container.
104 +(% style="color:blue" %)**Register the device**
125 125  
126 -[[image:image-20230613143125-6.png]]
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"]]
127 127  
128 128  
129 -(((
130 -(% style="color:blue" %)**Step3:   **(%%)**Test the installation point.**
131 -)))
109 +(% style="color:blue" %)**Add APP EUI and DEV EUI**
132 132  
133 -(((
134 -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.
135 -)))
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"]]
136 136  
137 -(((
138 -It is necessary to put the coupling paste between the sensor and the container, otherwise DDS20-LB won't detect the liquid level.
139 -)))
140 140  
141 -(((
142 -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.
143 -)))
114 +(% style="color:blue" %)**Add APP EUI in the application**
144 144  
145 145  
146 -(((
147 -(% style="color:blue" %)**LED Status:**
148 -)))
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"]]
149 149  
150 -* (((
151 -**Onboard LED**: When power on device, the onboard LED will fast blink 4 times which means detect the sensor well.
152 -)))
153 153  
154 -* (((
155 -(% 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.
156 -)))
157 -* (((
158 -(% style="color:blue" %)**BLUE LED**(% style="color:red" %)** slowly blinking**(%%): Sensor detects Liquid Level, The installation point is good.
159 -)))
120 +(% style="color:blue" %)**Add APP KEY**
160 160  
161 -(((
162 -LDDS20 will enter into low power mode at 30 seconds after system reset or power on, Blue LED will be off after that.
163 -)))
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"]]
164 164  
165 165  
166 -(((
167 -(% style="color:red" %)**Note :**(%%)** (% style="color:blue" %)Ultrasonic coupling paste(%%)**(% style="color:blue" %) (%%) is subjected in most shipping way. So the default package doesn't include it and user needs to purchase locally.
168 -)))
125 +(% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
169 169  
127 +[[image:image-20231128133704-1.png||height="189" width="441"]]
170 170  
171 -(((
172 -(% style="color:blue" %)**Step4:   **(%%)**Install use Epoxy ab glue.**
173 -)))
129 +Press the button for 5 seconds to activate the DS20L.
174 174  
175 -(((
176 -Prepare Eproxy AB glue.
177 -)))
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.
178 178  
179 -(((
180 -Put Eproxy AB glue in the sensor and press it hard on the container installation point.
181 -)))
133 +After join success, it will start to upload messages to TTN and you can see the messages in the panel.
182 182  
183 -(((
184 -Reset DDS20-LB and see if the BLUE LED is slowly blinking.
185 -)))
186 186  
187 -[[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"]]
136 +== 2.3 ​Uplink Payload ==
188 188  
138 +=== 2.3.1 Device Status, FPORT~=5 ===
189 189  
190 -(((
191 -(% style="color:red" %)**Note :**
192 192  
193 -(% style="color:red" %)**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.
194 -)))
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.
195 195  
196 -(((
197 -(% style="color:red" %)**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.
198 -)))
143 +The Payload format is as below.
199 199  
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
200 200  
201 -== 1.6 Applications ==
151 +Example parse in TTNv3
202 202  
153 +[[image:1701149922873-259.png]]
203 203  
204 -* Smart liquid control solution
155 +(% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
205 205  
206 -* Smart liquefied gas solution
157 +(% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
207 207  
159 +(% style="color:blue" %)**Frequency Band**:
208 208  
209 -== 1.7 Precautions ==
161 +0x01: EU868
210 210  
163 +0x02: US915
211 211  
212 -* 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.
165 +0x03: IN865
213 213  
214 -* 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.
167 +0x04: AU915
215 215  
216 -* 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.
169 +0x05: KZ865
217 217  
218 -(% style="display:none" %)
171 +0x06: RU864
219 219  
220 -== 1.8 Sleep mode and working mode ==
173 +0x07: AS923
221 221  
175 +0x08: AS923-1
222 222  
223 -(% 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.
177 +0x09: AS923-2
224 224  
225 -(% 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.
179 +0x0a: AS923-3
226 226  
181 +0x0b: CN470
227 227  
228 -== 1.9 Button & LEDs ==
183 +0x0c: EU433
229 229  
185 +0x0d: KR920
230 230  
231 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675071855856-879.png]]
187 +0x0e: MA869
232 232  
189 +(% style="color:blue" %)**Sub-Band**:
233 233  
234 -(% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
235 -|=(% 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**
236 -|(% style="width:167px" %)Pressing ACT between 1s < time < 3s|(% style="width:117px" %)Send an uplink|(% style="width:225px" %)(((
237 -If sensor is already Joined to LoRaWAN network, sensor will send an uplink packet, (% style="color:blue" %)**blue led** (%%)will blink once.
238 -Meanwhile, BLE module will be active and user can connect via BLE to configure device.
239 -)))
240 -|(% style="width:167px" %)Pressing ACT for more than 3s|(% style="width:117px" %)Active Device|(% style="width:225px" %)(((
241 -(% 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.
242 -(% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
243 -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.
244 -)))
245 -|(% 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.
191 +AU915 and US915:value 0x00 ~~ 0x08
246 246  
193 +CN470: value 0x0B ~~ 0x0C
247 247  
248 -== 1.10 BLE connection ==
195 +Other Bands: Always 0x00
249 249  
197 +(% style="color:blue" %)**Battery Info**:
250 250  
251 -DDS20-LB support BLE remote configure.
199 +Check the battery voltage.
252 252  
253 -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:
201 +Ex1: 0x0B45 = 2885mV
254 254  
255 -* Press button to send an uplink
256 -* Press button to active device.
257 -* Device Power on or reset.
203 +Ex2: 0x0B49 = 2889mV
258 258  
259 -If there is no activity connection on BLE in 60 seconds, sensor will shut down BLE module to enter low power mode.
260 260  
206 +=== 2.3.2 Uplink Payload, FPORT~=2 ===
261 261  
262 -== 1.11 Pin Definitions ==
263 263  
264 -[[image:image-20230523174230-1.png]]
209 +(((
210 +DS20L will send this uplink **after** Device Status once join the LoRaWAN network successfully. And DS20L will:
265 265  
212 +periodically send this uplink every 20 minutes, this interval [[can be changed>>||anchor="H3.3.1SetTransmitIntervalTime"]].
266 266  
267 -== 1.12 Mechanical ==
214 +Uplink Payload totals 11 bytes.
215 +)))
268 268  
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 +)))
269 269  
270 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143884058-338.png]]
229 +[[image:image-20230805104104-2.png||height="136" width="754"]]
271 271  
272 272  
273 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143899218-599.png]]
232 +==== (% style="color:blue" %)**Battery Info**(%%) ====
274 274  
275 275  
276 -[[image:Main.User Manual for LoRaWAN End Nodes.D20-LBD22-LBD23-LB_LoRaWAN_Temperature_Sensor_User_Manual.WebHome@1675143909447-639.png]]
235 +Check the battery voltage for DS20L.
277 277  
237 +Ex1: 0x0B45 = 2885mV
278 278  
279 -(% style="color:blue" %)**Probe Mechanical:**
239 +Ex2: 0x0B49 = 2889mV
280 280  
281 -[[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"]]
282 282  
242 +==== (% style="color:blue" %)**DS18B20 Temperature sensor**(%%) ====
283 283  
284 -[[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"]]
285 285  
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.
286 286  
287 -= 2. Configure DDS20-LB to connect to LoRaWAN network =
288 288  
289 -== 2.1 How it works ==
248 +**Example**:
290 290  
250 +If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
291 291  
292 -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.
252 +If payload is: FF3FH (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
293 293  
294 -(% style="display:none" %) (%%)
295 295  
296 -== 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
255 +==== (% style="color:blue" %)**Distance**(%%) ====
297 297  
298 298  
299 -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.
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.
300 300  
301 -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.
302 302  
303 -[[image:image-20230613140140-4.png||height="453" width="800"]](% style="display:none" %)
261 +**Example**:
304 304  
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.
305 305  
306 -(% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DDS20-LB.
307 307  
308 -Each DDS20-LB is shipped with a sticker with the default device EUI as below:
266 +==== (% style="color:blue" %)**Distance signal strength**(%%) ====
309 309  
310 -[[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
311 311  
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.
312 312  
313 -You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
314 314  
272 +**Example**:
315 315  
316 -(% style="color:blue" %)**Register the device**
274 +If payload is: 01D7(H)=471(D), distance signal strength=471, 471>100,471≠65535, the measured value of Dist is considered credible.
317 317  
318 -[[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"]]
276 +Customers can judge whether they need to adjust the environment based on the signal strength.
319 319  
320 320  
321 -(% style="color:blue" %)**Add APP EUI and DEV EUI**
279 +**1) When the sensor detects valid data:**
322 322  
323 -[[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"]]
281 +[[image:image-20230805155335-1.png||height="145" width="724"]]
324 324  
325 325  
326 -(% style="color:blue" %)**Add APP EUI in the application**
284 +**2) When the sensor detects invalid data:**
327 327  
286 +[[image:image-20230805155428-2.png||height="139" width="726"]]
328 328  
329 -[[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"]]
330 330  
289 +**3) When the sensor is not connected:**
331 331  
332 -(% style="color:blue" %)**Add APP KEY**
291 +[[image:image-20230805155515-3.png||height="143" width="725"]]
333 333  
334 -[[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"]]
335 335  
294 +==== (% style="color:blue" %)**Interrupt Pin & Interrupt Level**(%%) ====
336 336  
337 -(% style="color:blue" %)**Step 2:**(%%) Activate on DDS20-LB
338 338  
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.
339 339  
340 -Press the button for 5 seconds to activate the DDS20-LB.
299 +Note: The Internet Pin is a separate pin in the screw terminal. See pin mapping of GPIO_EXTI .
341 341  
342 -(% 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.
301 +**Example:**
343 343  
344 -After join success, it will start to upload messages to TTN and you can see the messages in the panel.
303 +If byte[0]&0x01=0x00 : Normal uplink packet.
345 345  
305 +If byte[0]&0x01=0x01 : Interrupt Uplink Packet.
346 346  
347 -== 2.3  ​Uplink Payload ==
348 348  
308 +==== (% style="color:blue" %)**LiDAR temp**(%%) ====
349 349  
310 +
311 +Characterize the internal temperature value of the sensor.
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℃.
316 +
317 +
318 +==== (% style="color:blue" %)**Message Type**(%%) ====
319 +
320 +
350 350  (((
351 -DDS20-LB will uplink payload via LoRaWAN with below payload format: 
322 +For a normal uplink payload, the message type is always 0x01.
352 352  )))
353 353  
354 354  (((
355 -Uplink payload includes in total 8 bytes.
326 +Valid Message Type:
356 356  )))
357 357  
358 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
359 -|=(% style="width: 62.5px;background-color:#D9E2F3;color:#0070C0" %)(((
360 -**Size(bytes)**
361 -)))|=(% 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**
362 -|(% style="width:62.5px" %)Value|(% style="width:62.5px" %)[[BAT>>||anchor="H2.3.1A0BatteryInfo"]]|(((
363 -[[Distance>>||anchor="H2.3.2A0Distance"]]
364 -(unit: mm)
365 -)))|[[Digital Interrupt (Optional)>>||anchor="H2.3.3A0InterruptPin"]]|(((
366 -[[Temperature (Optional )>>||anchor="H2.3.4A0DS18B20Temperaturesensor"]]
367 -)))|[[Sensor Flag>>||anchor="H2.3.5A0SensorFlag"]]
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
368 368  
369 -[[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"]]
334 +[[image:image-20230805150315-4.png||height="233" width="723"]]
370 370  
371 371  
372 -=== 2.3. Battery Info ===
337 +=== 2.3.3 Historical measuring distance, FPORT~=3 ===
373 373  
374 374  
375 -Check the battery voltage for DDS20-LB.
340 +DS20L stores sensor values and users can retrieve these history values via the [[downlink command>>||anchor="H2.5.4Pollsensorvalue"]].
376 376  
377 -Ex1: 0x0B45 = 2885mV
342 +The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
378 378  
379 -Ex2: 0x0B49 = 2889mV
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
380 380  
354 +**Interrupt flag & Interrupt level:**
381 381  
382 -=== 2.3.2  Distance ===
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
362 +)))
383 383  
384 -
385 -(((
386 -Get the distance. Flat object range 20mm - 2000mm.
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.
387 387  )))
388 388  
389 -(((
390 -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" %)** **
368 +For example, in the US915 band, the max payload for different DR is:
391 391  
392 -(% style="color:blue" %)**0605(H) = 1541 (D) = 1541 mm.**
393 -)))
370 +**a) DR0:** max is 11 bytes so one entry of data
394 394  
395 -* If the sensor value is 0x0000, it means system doesn't detect ultrasonic sensor.
372 +**b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
396 396  
397 -* If the sensor value lower than 0x0014 (20mm), the sensor value will be invalid.
374 +**c) DR2:** total payload includes 11 entries of data
398 398  
376 +**d) DR3:** total payload includes 22 entries of data.
399 399  
400 -=== 2.3.3  Interrupt Pin ===
378 +If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
401 401  
402 402  
403 -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.
381 +**Downlink:**
404 404  
405 -**Example:**
383 +0x31 64 CC 68 0C 64 CC 69 74 05
406 406  
407 -0x00: Normal uplink packet.
385 +[[image:image-20230805144936-2.png||height="113" width="746"]]
408 408  
409 -0x01: Interrupt Uplink Packet.
387 +**Uplink:**
410 410  
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
411 411  
412 -=== 2.3.4  DS18B20 Temperature sensor ===
413 413  
392 +**Parsed Value:**
414 414  
415 -This is optional, user can connect external DS18B20 sensor to the +3.3v, 1-wire and GND pin . and this field will report temperature.
394 +[DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
416 416  
417 -**Example**:
418 418  
419 -If payload is: 0105H:  (0105 & FC00 == 0), temp = 0105H /10 = 26.1 degree
397 +[360,176,30,High,True,2023-08-04 02:53:00],
420 420  
421 -If payload is: FF3FH :  (FF3F & FC00 == 1) , temp = (FF3FH - 65536)/10 = -19.3 degrees.
399 +[355,168,30,Low,False,2023-08-04 02:53:29],
422 422  
401 +[245,211,30,Low,False,2023-08-04 02:54:29],
423 423  
424 -=== 2.3.5  Sensor Flag ===
403 +[57,700,30,Low,False,2023-08-04 02:55:29],
425 425  
405 +[361,164,30,Low,True,2023-08-04 02:56:00],
426 426  
427 -(((
428 -0x01: Detect Ultrasonic Sensor
429 -)))
407 +[337,184,30,Low,False,2023-08-04 02:56:40],
430 430  
431 -(((
432 -0x00: No Ultrasonic Sensor
433 -)))
409 +[20,4458,30,Low,False,2023-08-04 02:57:40],
434 434  
411 +[362,173,30,Low,False,2023-08-04 02:58:53],
435 435  
436 -=== 2.3.6  Decode payload in The Things Network ===
437 437  
414 +**History read from serial port:**
438 438  
439 -While using TTN network, you can add the payload format to decode the payload.
416 +[[image:image-20230805145056-3.png]]
440 440  
441 -[[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"]]
442 442  
443 -The payload decoder function for TTN V3 is here:
419 +=== 2.3.4 Decode payload in The Things Network ===
444 444  
445 -(((
446 -DDS20-LB TTN V3 Payload Decoder:  [[ttps:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
447 -)))
448 448  
422 +While using TTN network, you can add the payload format to decode the payload.
449 449  
450 -== 2.4  Uplink Interval ==
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"]]
451 451  
452 452  
453 -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"]]
427 +(((
428 +The payload decoder function for TTN is here:
429 +)))
454 454  
431 +(((
432 +DS20L TTN Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
433 +)))
455 455  
456 -== 2.5  ​Show Data in DataCake IoT Server ==
457 457  
436 +== 2.4 ​Show Data in DataCake IoT Server ==
458 458  
438 +
459 459  (((
460 460  [[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:
461 461  )))
... ... @@ -478,7 +478,7 @@
478 478  
479 479  (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
480 480  
481 -(% style="color:blue" %)**Step 4**(%%)**: Search the DDS20-LB and add DevEUI.**
461 +(% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
482 482  
483 483  [[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"]]
484 484  
... ... @@ -488,97 +488,20 @@
488 488  [[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"]]
489 489  
490 490  
491 -== 2.6 Datalog Feature ==
471 +== 2.5 Frequency Plans ==
492 492  
493 493  
494 -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.
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.
495 495  
496 -
497 -=== 2.6.1 Ways to get datalog via LoRaWAN ===
498 -
499 -
500 -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.
501 -
502 -* (((
503 -a) DDS20-LB will do an ACK check for data records sending to make sure every data arrive server.
504 -)))
505 -* (((
506 -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.
507 -)))
508 -
509 -Below is the typical case for the auto-update datalog feature (Set PNACKMD=1)
510 -
511 -[[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"]]
512 -
513 -
514 -=== 2.6.2 Unix TimeStamp ===
515 -
516 -
517 -DDS20-LB uses Unix TimeStamp format based on
518 -
519 -[[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"]]
520 -
521 -User can get this time from link:  [[https:~~/~~/www.epochconverter.com/>>url:https://www.epochconverter.com/]] :
522 -
523 -Below is the converter example
524 -
525 -[[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"]]
526 -
527 -
528 -So, we can use AT+TIMESTAMP=1611889405 or downlink 3060137afd00 to set the current time 2021 – Jan ~-~- 29 Friday 03:03:25
529 -
530 -
531 -=== 2.6.3 Set Device Time ===
532 -
533 -
534 -User need to set (% style="color:blue" %)**SYNCMOD=1**(%%) to enable sync time via MAC command.
535 -
536 -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).
537 -
538 -(% 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.**
539 -
540 -
541 -=== 2.6.4 Poll sensor value ===
542 -
543 -
544 -Users can poll sensor values based on timestamps. Below is the downlink command.
545 -
546 -(% border="1" cellspacing="5" style="background-color:#f2f2f2; width:425.818px" %)
547 -|(% colspan="4" style="background-color:#d9e2f3; color:#0070c0; width:423px" %)**Downlink Command to poll Open/Close status (0x31)**
548 -|(% style="width:58px" %)**1byte**|(% style="width:127px" %)**4bytes**|(% style="width:124px" %)**4bytes**|(% style="width:114px" %)**1byte**
549 -|(% style="width:58px" %)31|(% style="width:127px" %)Timestamp start|(% style="width:124px" %)Timestamp end|(% style="width:114px" %)Uplink Interval
550 -
551 -(((
552 -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.
553 -)))
554 -
555 -(((
556 -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"]]
557 -)))
558 -
559 -(((
560 -Is to check 2021/11/12 12:00:00 to 2021/11/12 15:00:00's data
561 -)))
562 -
563 -(((
564 -Uplink Internal =5s,means DDS20-LB will send one packet every 5s. range 5~~255s.
565 -)))
566 -
567 -
568 -== 2.7 Frequency Plans ==
569 -
570 -
571 -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.
572 -
573 573  [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
574 574  
575 575  
576 -= 3. Configure DDS20-LB =
479 += 3. Configure DS20L =
577 577  
578 578  == 3.1 Configure Methods ==
579 579  
580 580  
581 -DDS20-LB supports below configure method:
484 +DS20L supports below configure method:
582 582  
583 583  * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
584 584  
... ... @@ -586,7 +586,6 @@
586 586  
587 587  * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
588 588  
589 -
590 590  == 3.2 General Commands ==
591 591  
592 592  
... ... @@ -601,10 +601,10 @@
601 601  [[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/]]
602 602  
603 603  
604 -== 3.3 Commands special design for DDS20-LB ==
506 +== 3.3 Commands special design for DS20L ==
605 605  
606 606  
607 -These commands only valid for DDS20-LB, as below:
509 +These commands only valid for DS20L, as below:
608 608  
609 609  
610 610  === 3.3.1 Set Transmit Interval Time ===
... ... @@ -619,7 +619,7 @@
619 619  )))
620 620  
621 621  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
622 -|=(% 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**
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**
623 623  |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
624 624  30000
625 625  OK
... ... @@ -646,29 +646,31 @@
646 646  Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
647 647  )))
648 648  * (((
649 -Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds 
650 -
651 -
652 -
551 +Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
653 653  )))
654 654  
554 +
655 655  === 3.3.2 Set Interrupt Mode ===
656 656  
657 657  
658 -Feature, Set Interrupt mode for PA8 of pin.
558 +Feature, Set Interrupt mode for pin of GPIO_EXTI.
659 659  
660 -When AT+INTMOD=0 is set, PA8 is used as a digital input port.
560 +When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port.
661 661  
662 662  (% style="color:blue" %)**AT Command: AT+INTMOD**
663 663  
664 664  (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
665 -|=(% 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**
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**
666 666  |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
667 667  0
668 668  OK
669 669  the mode is 0 =Disable Interrupt
670 670  )))
671 -|(% style="width:154px" %)AT+INTMOD=2|(% style="width:196px" %)(((
571 +|(% style="width:154px" %)(((
572 +AT+INTMOD=3
573 +
574 +(default)
575 +)))|(% style="width:196px" %)(((
672 672  Set Transmit Interval
673 673  0. (Disable Interrupt),
674 674  ~1. (Trigger by rising and falling edge)
... ... @@ -687,10 +687,81 @@
687 687  * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
688 688  
689 689  
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 +(% style="color:blue" %)**AT Command: AT+DOL**
626 +
627 +(% border="1" cellspacing="4" style="width:571.818px" %)
628 +|(% style="width:172px;background-color:#4F81BD;color:white" %)**Command Example**|(% style="width:279px;background-color:#4F81BD;color:white" %)**Function**|(% style="width:118px;background-color:#4F81BD;color:white" %)**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;background-color:#4F81BD;color:white" %)**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 +(% style="color:blue" %)**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 +
660 +* Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
661 +
662 +
663 +
664 +
690 690  = 4. Battery & Power Consumption =
691 691  
692 692  
693 -DDS20-LB use ER26500 + SPC1520 battery pack. See below link for detail information about the battery info and how to replace.
668 +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.
694 694  
695 695  [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
696 696  
... ... @@ -699,7 +699,7 @@
699 699  
700 700  
701 701  (% class="wikigeneratedid" %)
702 -User can change firmware DDS20-LB to:
677 +User can change firmware DS20L to:
703 703  
704 704  * Change Frequency band/ region.
705 705  
... ... @@ -707,7 +707,7 @@
707 707  
708 708  * Fix bugs.
709 709  
710 -Firmware and changelog can be downloaded from : **[[Firmware download link>>url:https://www.dropbox.com/sh/ph4uyz0rchflrnw/AADr1f_5Sg30804NItpfOQbla?dl=0]]**
685 +Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zqv1vt3komgp4tu/AAC33PnXIcWOVl_UXBEAeT_xa?dl=0]]**
711 711  
712 712  Methods to Update Firmware:
713 713  
... ... @@ -715,42 +715,40 @@
715 715  
716 716  * 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]]**.
717 717  
718 -
719 719  = 6. FAQ =
720 720  
721 -== 6.1  What is the frequency plan for DDS20-LB? ==
695 +== 6.1 What is the frequency plan for DS20L? ==
722 722  
723 723  
724 -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"]]
698 +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"]]
725 725  
726 726  
727 -== 6.2  Can I use DDS20-LB in condensation environment? ==
701 += 7Trouble Shooting =
728 728  
703 +== 7.1 AT Command input doesn't work ==
729 729  
730 -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.
731 731  
706 +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.
732 732  
733 -= 7.  Trouble Shooting =
734 734  
735 -== 7.1  Why I can't join TTN V3 in US915 / AU915 bands? ==
709 +== 7.2 Significant error between the output distant value of LiDAR and actual distance ==
736 736  
737 737  
738 -It is due to channel mapping. Please see below link:  [[Frequency band>>doc:Main.LoRaWAN Communication Debug.WebHome||anchor="H2.NoticeofUS9152FCN4702FAU915Frequencyband"]]
712 +(((
713 +(% 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.)
714 +)))
739 739  
716 +(((
717 +(% style="color:red" %)**Troubleshooting**(%%): Please avoid use of this product under such circumstance in practice.
718 +)))
740 740  
741 -== 7.2  AT Command input doesn't work ==
742 742  
743 -
744 -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.
745 -
746 -
747 -== 7.3  Why i always see 0x0000 or 0 for the distance value? ==
748 -
749 -
750 750  (((
751 -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.
722 +(% style="color:blue" %)**Cause ②**(%%)**: **The IR-pass filters are blocked.
723 +)))
752 752  
753 -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.
725 +(((
726 +(% style="color:red" %)**Troubleshooting**(%%): please use dry dust-free cloth to gently remove the foreign matter.
754 754  )))
755 755  
756 756  
... ... @@ -757,7 +757,7 @@
757 757  = 8. Order Info =
758 758  
759 759  
760 -Part Number: (% style="color:blue" %)**DDS20-LB-XXX**
733 +Part Number: (% style="color:blue" %)**DS20L-XXX**
761 761  
762 762  (% style="color:red" %)**XXX**(%%): **The default frequency band**
763 763  
... ... @@ -777,13 +777,12 @@
777 777  
778 778  * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
779 779  
780 -
781 781  = 9. ​Packing Info =
782 782  
783 783  
784 784  (% style="color:#037691" %)**Package Includes**:
785 785  
786 -* DDS20-LB LoRaWAN Ultrasonic Liquid Level Sensor x 1
758 +* DS20L LoRaWAN Smart Distance Detector x 1
787 787  
788 788  (% style="color:#037691" %)**Dimension and weight**:
789 789  
... ... @@ -795,7 +795,6 @@
795 795  
796 796  * Weight / pcs : g
797 797  
798 -
799 799  = 10. Support =
800 800  
801 801  
1701149922873-259.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +24.5 KB
Content
image-20230614162334-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +88.3 KB
Content
image-20230614162359-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +88.3 KB
Content
image-20230615152941-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +87.9 KB
Content
image-20230615153004-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +87.9 KB
Content
image-20230805103904-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +46.9 KB
Content
image-20230805104104-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +46.3 KB
Content
image-20230805144259-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +872.7 KB
Content
image-20230805144936-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +37.5 KB
Content
image-20230805145056-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +30.7 KB
Content
image-20230805150315-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +90.6 KB
Content
image-20230805155335-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +45.4 KB
Content
image-20230805155428-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +45.5 KB
Content
image-20230805155515-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +45.7 KB
Content
image-20231110085300-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +613.3 KB
Content
image-20231110085342-2.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +178.7 KB
Content
image-20231110091447-3.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +85.4 KB
Content
image-20231110091506-4.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +85.4 KB
Content
image-20231110102635-5.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +84.7 KB
Content
image-20231128133704-1.png
Author
... ... @@ -1,0 +1,1 @@
1 +XWiki.Xiaoling
Size
... ... @@ -1,0 +1,1 @@
1 +190.6 KB
Content