Last modified by Xiaoling on 2025/04/27 11:22

Show last authors
1 (% style="text-align:center" %)
2 [[image:image-20231110085342-2.png||height="481" width="481"]]
3
4
5
6
7
8
9
10
11 **Table of Contents:(% style="display:none" %) (%%)**
12
13 {{toc/}}
14
15
16
17
18
19
20 = 1. Introduction =
21
22 == 1.1 What is LoRaWAN Smart Distance Detector ==
23
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.
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.
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.**
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.
33
34 [[image:image-20240122174214-1.png||height="421" width="787"]]
35
36
37 == 1.2 ​Features ==
38
39
40 * LoRaWAN Class A protocol
41 * LiDAR distance detector, range 3 ~~ 200cm
42 * Periodically detect or continuously detect mode
43 * AT Commands to change parameters
44 * Remotely configure parameters via LoRaWAN Downlink
45 * Alarm & Counting mode
46 * Firmware upgradable via program port or LoRa protocol
47 * Built-in 2400mAh battery or power by external power source
48 (% style="display:none" %) (%%)
49
50 == 1.3 Specification ==
51
52
53 (% style="color:#037691" %)**LiDAR Sensor:**
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
62 (% style="display:none" %) (%%)
63
64 == 1.4 Power Consumption ==
65
66
67 (% style="color:#037691" %)**Battery Power Mode:**
68
69 * Idle: 0.003 mA @ 3.3v
70 * Max : 360 mA
71
72 (% style="color:#037691" %)**Continuously mode**:
73
74 * Idle: 21 mA @ 3.3v
75 * Max : 360 mA
76 (% style="display:none" %) (%%)
77
78 == 1.5 Use Case ==
79
80
81 **Regular Distance Detect**
82
83 [[image:image-20231214100011-1.png]]
84
85
86 **Counting / Alarm**
87
88 [[image:image-20231214100036-2.png]]
89
90 [[image:image-20231214100057-3.png]]
91
92
93 == 1.6 LiDAR probe position ==
94
95
96 [[image:1701155390576-216.png||height="285" width="307"]]
97
98 The black oval hole in the picture is the LiDAR probe.
99
100
101 == 1.7 Interface Definition ==
102
103
104 [[image:image-20231128151132-2.png||height="305" width="557"]]
105
106
107 == 1.8 Program Cable Pin Mapping ==
108
109
110 [[image:image-20240314102509-1.jpeg||height="292" width="659"]]
111
112 **Usage For the Program Cable:**
113
114 1) Configure DS20L via AT Command
115
116 2) Update Firmware
117
118 3) Input for external interrupt
119
120 4) Input for external power
121
122
123 == 1.9 Mechanical ==
124
125 [[image:image-20240515104600-1.png]]
126
127 [[image:image-20240515104614-2.png]]
128
129
130 = 2. Configure DS20L to connect to LoRaWAN network =
131
132 == 2.1 How it works ==
133
134
135 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.
136
137
138 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
139
140
141 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.
142
143 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" %)
144
145 [[image:image-20240122174214-1.png||height="427" width="798"]](% style="display:none" %)
146
147
148
149 (% style="color:blue" %)**Step 1: Create a device in TTN with the OTAA keys from DS20L.**
150
151 Each DS20L is shipped with a sticker with the default device EUI as below:
152
153 [[image:image-20250403140540-1.jpeg]]
154
155
156 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
157
158 **Create the application.**
159
160 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/SAC01L_LoRaWAN_Temperature%26Humidity_Sensor_User_Manual/WebHome/image-20250423093843-1.png?width=756&height=264&rev=1.1||alt="image-20250423093843-1.png"]]
161
162 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111305-2.png?width=1000&height=572&rev=1.1||alt="image-20240907111305-2.png"]]
163
164
165 **Add devices to the created Application.**
166
167 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111659-3.png?width=977&height=185&rev=1.1||alt="image-20240907111659-3.png"]]
168
169 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907111820-5.png?width=975&height=377&rev=1.1||alt="image-20240907111820-5.png"]]
170
171
172 **Enter end device specifics manually.**
173
174 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112136-6.png?width=697&height=687&rev=1.1||alt="image-20240907112136-6.png"]]
175
176
177 **Add DevEUI and AppKey. Customize a platform ID for the device.**
178
179 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LTC2-LB--LoRaWAN_Temperature_Transmitter_User_Manual/WebHome/image-20240907112427-7.png?rev=1.1||alt="image-20240907112427-7.png"]]
180
181
182 (% style="color:blue" %)**Step 2: Add decoder.**
183
184 In TTN, user can add a custom payload so it shows friendly reading.
185
186 Click this link to get the decoder: [[https:~~/~~/github.com/dragino/dragino-end-node-decoder/tree/main/>>url:https://github.com/dragino/dragino-end-node-decoder/tree/main/]]
187
188 Below is TTN screen shot:
189
190 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS25-LBLDS25-LS--LoRaWAN_LiDAR_Distance_Auto-Clean_Sensor_User_Manual/WebHome/image-20241009140556-1.png?width=1184&height=488&rev=1.1||alt="image-20241009140556-1.png" height="488" width="1184"]]
191
192 [[image:https://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDS25-LBLDS25-LS--LoRaWAN_LiDAR_Distance_Auto-Clean_Sensor_User_Manual/WebHome/image-20241009140603-2.png?width=1168&height=562&rev=1.1||alt="image-20241009140603-2.png" height="562" width="1168"]]
193
194
195 (% style="color:blue" %)**Step 3: Activate on DS20L**
196
197 [[image:image-20231128133704-1.png||height="189" width="441"]]
198
199 Press the button for 5 seconds to activate the DS20L.
200
201 The switch is switched to **E** and the external power supply is used.
202
203 The switch is switched to **I** and DS20L will be power by the built-in battery.
204
205 (% 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.
206
207 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
208
209
210 == 2.3 ​Uplink Payload ==
211
212 === 2.3.1 Device Status, FPORT~=5 ===
213
214
215 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.
216
217 The Payload format is as below.
218
219 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
220 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
221 **Size(bytes)**
222 )))|=(% 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**
223 |(% 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
224
225 Example parse in TTNv3
226
227 [[image:image-20231206151412-3.png||height="157" width="938"]]
228
229 (% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
230
231 (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
232
233 (% style="color:blue" %)**Frequency Band**:
234
235 0x01: EU868
236
237 0x02: US915
238
239 0x03: IN865
240
241 0x04: AU915
242
243 0x05: KZ865
244
245 0x06: RU864
246
247 0x07: AS923
248
249 0x08: AS923-1
250
251 0x09: AS923-2
252
253 0x0a: AS923-3
254
255 0x0b: CN470
256
257 0x0c: EU433
258
259 0x0d: KR920
260
261 0x0e: MA869
262
263 (% style="color:blue" %)**Sub-Band**:
264
265 AU915 and US915:value 0x00 ~~ 0x08
266
267 CN470: value 0x0B ~~ 0x0C
268
269 Other Bands: Always 0x00
270
271 (% style="color:blue" %)**Battery Info**:
272
273 Check the battery voltage.
274
275 Ex1: 0x0B45 = 2885mV
276
277 Ex2: 0x0B49 = 2889mV
278
279
280 === 2.3.2 Uplink Payload, FPORT~=2 ===
281
282
283 ==== (% style="color:red" %)**AT+MOD~=1 (Case: Regular Report Distance)**(%%) ====
284
285
286 Regularly detect distance and report. When the distance exceeds the limit, the alarm flag is set to 1, and the report can be triggered by external interrupts.
287
288 **Uplink Payload totals 10 bytes.**
289
290 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
291 |(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:120px" %)**4**
292 |(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+ Alarm+ Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count
293
294 **MOD+ Alarm+ Interrupt:**
295
296 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
297 |(% style="background-color:#4f81bd; color:white" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white" %)**bit5**|(% style="background-color:#4f81bd; color:white" %)**bit4**
298 |Value|MOD|Digital Interrupt|(((
299 Distance Alarm
300 0: No Alarm;
301 1: Alarm
302 )))
303
304 Example parse in TTNv3
305
306 [[image:image-20231206195704-6.png||height="238" width="999"]]
307
308 (% style="color:blue" %)**Battery Info:**
309
310 Check the battery voltage for DS20L
311
312 Ex1: 0x0E10 = 3600mV
313
314
315 (% style="color:blue" %)**MOD & Alarm & Interrupt:**
316
317 (% style="color:red" %)**MOD:**
318
319 **Example: ** (0x60>>6) & 0x3f =1
320
321 **0x01:**  Regularly detect distance and report.
322 **0x02: ** Uninterrupted measurement with counting(external power supply).
323
324 **0x03:  **Uninterrupted measurement with distance alarm(external power supply).
325
326 (% style="color:red" %)**Alarm:**
327
328 When the detection distance exceeds the limit, the alarm flag is set to 1.
329
330 (% style="color:red" %)**Interrupt:**
331
332 Whether it is an external interrupt.
333
334
335 (% style="color:blue" %)**Distance info:**
336
337 **Example**:
338
339 If payload is: 0708H: distance = 0708H = 1800 mm
340
341
342 (% style="color:blue" %)**Sensor State:**
343
344 Ex1: 0x00: Normal collection distance
345
346 Ex2: 0x0x: Distance collection is wrong
347
348 Ex3: 0xFF: No sensor connection was detected
349
350
351 (% style="color:blue" %)**Interript Count:**
352
353 If payload is:000007D0H: count = 07D0H =2000
354
355
356 ==== (% style="color:red" %)**AT+MOD~=2 (Continuously Measure with Counting)**(%%) ====
357
358
359 The power consumption of uninterrupted measurement is high, and the device needs to use external power supply.(The switch is switched to E and the external power supply is used.)
360
361 [[image:image-20231214102129-1.png||height="146" width="340"]]
362
363
364 ===== (% style="color:blue" %)**Example: Measure with Counting**(%%) =====
365
366 * **Set the person or object count mode: AT+MOD=2,0,50,200**
367
368 Continuous measurement and counting, detect and count passing people or objects in distance limit mode.
369
370 **Uplink Payload totals 13 bytes.**
371
372 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
373 |(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:170px" %)**1**|(% style="background-color:#4f81bd; color:white; width:77px" %)**4**|(% style="background-color:#4f81bd; color:white; width:63px" %)**4**|(% style="background-color:#4f81bd; color:white; width:110px" %)**2**
374 |(% style="width:91px" %)Value|(% style="width:53px" %)BAT|(% style="width:128px" %)MOD+Collection mode|(% style="width:77px" %)Counting|(% style="width:63px" %)Pulse Time|(% style="width:91px" %)Collection Threshold
375
376 **MOD+Collection mode + Count flag:**
377
378 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:303px" %)
379 |(% style="background-color:#4f81bd; color:white; width:76px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:90px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:137px" %)**bit5**
380 |(% style="width:76px" %)Value|(% style="width:90px" %)MOD|(% style="width:127px" %)(((
381 Collection mode
382 )))
383
384 Example parse in TTNv3
385
386 [[image:image-20240311135925-2.png||height="241" width="986"]]
387
388
389 (% style="color:blue" %)**BAT & MOD & Collection mode & Interrupt Flag & Counting & Pulse_time & Collection_threshold:**
390
391 (% style="color:red" %)**BAT:**
392
393 The current total battery voltage of the node.
394
395 **Example: **0x0c 36(hex) =  3126(DEC)/1000 = 3.126V
396
397
398 (% style="color:red" %)**MOD:**
399
400 **Example: ** (0x80>>6) & 0x3f =2
401
402 **0x01:**  Regularly detect distance and report.
403
404 **0x02: ** Uninterrupted measurement with counting(external power supply).
405
406 **0x03:  **Uninterrupted measurement with distance alarm(external power supply).
407
408
409 (% style="color:red" %)**Collection mode:**
410
411 Interrupt pin input level signal flag.
412
413 **Example: **(bytes[2] >> 7) & 0x01 = 1
414
415 **0x00**: Low level acquisition.
416
417 **0x01**: High level acquisition.
418
419
420 (% style="color:red" %)**Counting:**
421
422 The total count from startup to this moment.
423
424 **Example:**0x 00 00 10 10(HEX) = 4112(DEC)
425
426
427 (% style="color:red" %)**Collection_threshold:**
428
429 Within the set pulse detection time, collection starts when the object or person enters the set detection range.
430
431 **Example: 0x00 32(hex) = 50(DEC)(unit: mm)**
432
433 (% style="color:red" %)**Note: The minimum threshold is 10 and the maximum is 2000.(Unit:mm)**
434
435
436 (% style="color:red" %)**Pulse_time:**
437
438 Within the set pulse detection time, the object or person enters the detection range and starts collecting.
439
440 **Example: 0x00 00 00 C8(hex) = 200(DEC)(unit: ms)**
441
442 (% style="color:red" %)**Note: This threshold is unlimited.**
443
444
445
446 ==== (% style="color:red" %)**AT+MOD~=3 (Continuously Measure with Distance detection + Alarm )(Since firmware v1.0.2)**(%%) ====
447
448 The power consumption of uninterrupted measurement is high, and the device needs to use external power supply.(The switch is switched to E and the external power supply is used.)
449
450 [[image:image-20231214102129-1.png||height="146" width="340"]]
451
452
453 ===== (% style="color:blue" %)**Example: Measure with Distance**(%%) =====
454
455 * **Set the distance or object count mode: AT+MOD=3,0,50,200**
456
457 Continuous measurement and distance detection, Detect the distance of a person or object in distance limit mode and alarm out of limit.
458
459 **Uplink Payload totals 6 bytes.**
460
461 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:491px" %)
462 |(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:46px" %)**2**|(% style="background-color:#4f81bd; color:white; width:146px" %)**1**|(% style="background-color:#4f81bd; color:white; width:119px" %)**2**|(% style="background-color:#4f81bd; color:white; width:120px" %)**1**
463 |(% style="width:91px" %)Value|(% style="width:46px" %)BAT|(% style="width:126px" %)MOD+Interrupt flag+alarm flag|(% style="width:109px" %)distance_mm|(% style="width:110px" %)distance state
464
465 **MOD+Alarm flag+Interrupt flag:**
466
467 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:368px" %)
468 |(% style="background-color:#4f81bd; color:white; width:76px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:89px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:88px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:115px" %)**bit4**
469 |(% style="width:76px" %)Value|(% style="width:89px" %)MOD|(% style="width:88px" %)(((
470 Alarm flag
471 )))|(% style="width:105px" %)Interrupt flag
472
473 Example parse in TTNv3
474
475 [[image:image-20240411160810-1.png||height="153" width="926"]]
476
477
478 (% style="color:blue" %)**BAT & MOD & Interrupt flag & alarm flag & distance & distance state:**
479
480 (% style="color:red" %)**BAT:**
481
482 The current total battery voltage of the node.
483
484 **Example: **0x0c 36(hex) =  3126(DEC)/1000 = 3.126V
485
486
487 (% style="color:red" %)**MOD:**
488
489 **Example: ** (0xC0>>6) & 0x3f =3
490
491 **0x01:**  Regularly detect distance and report.
492
493 **0x02: ** Uninterrupted measurement counting(external power supply).
494
495 **0x03:  **Uninterrupted measurement with distance alarm(external power supply).
496
497
498 (% style="color:red" %)**Interrupt flag:**
499
500 **Example: ** (0xC0>>4) & 0x01 = 0
501
502 **0x00:**  The pin is in a low state.
503
504 **0x01: ** The pin is in a high state.
505
506
507 (% style="color:red" %)**Alarm flag:**
508
509
510 **Example: ** (0xC0>>5) & 0x01 = 0
511
512 **0x00:**  Not in alarm state.
513
514 **0x01: ** In alarm state.
515
516
517 (% style="color:red" %)**Distance info:**
518
519 **Example**:
520
521 If payload is: 0708H: distance = 0708H = 1800 mm
522
523
524 (% style="color:red" %)**Distance state:**
525
526 Ex1: 0x00: Normal collection distance
527
528 Ex2 0x0x: Distance collection is wrong
529
530
531 == 2.4 Decode payload in The Things Network ==
532
533
534 While using TTN network, you can add the payload format to decode the payload.
535
536 [[image:image-20231206143515-1.png||height="534" width="759"]]
537
538
539 (((
540 The payload decoder function for TTN is here:
541 )))
542
543 (((
544 DS20L TTN Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
545 )))
546
547
548 == 2.5 ​Show Data in DataCake IoT Server ==
549
550
551 (((
552 [[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:
553 )))
554
555
556 (((
557 (% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
558 )))
559
560 (((
561 (% 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:**
562 )))
563
564
565 [[image:image-20231207153532-6.png||height="539" width="825"]]
566
567
568 [[image:image-20231207155940-8.png||height="458" width="825"]]
569
570 For more detailed instructions, refer to the following instructions: [[Welcome - Datacake Docs>>url:https://docs.datacake.de/]]
571
572 [[image:image-20231207160733-11.png||height="429" width="759"]]
573
574
575 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
576
577 (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
578
579 [[image:image-20231207160343-10.png||height="665" width="705"]]
580
581
582 After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
583
584 [[image:image-20231129100454-2.png||height="501" width="928"]]
585
586
587 == 2.6 Frequency Plans ==
588
589
590 The DS20L uses OTAA mode and below frequency plans by default. Each frequency band use different firmware, user update the firmware to the corresponding band for their country.
591
592 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
593
594
595 = 3. Configure DS20L =
596
597 == 3.1 Configure Methods ==
598
599
600 DS20L supports below configure method:
601
602 * AT Command via UART Connection : See [[UART Connection>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.5UARTConnectionforDS20Lmotherboard]].
603
604 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
605
606 == 3.2 General Commands ==
607
608
609 These commands are to configure:
610
611 * General system settings like: uplink interval.
612
613 * LoRaWAN protocol & radio related command.
614
615 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
616
617 [[End Device AT Commands and Downlink Command>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
618
619
620 == 3.3 Commands special design for DS20L ==
621
622
623 These commands only valid for DS20L, as below:
624
625
626 === 3.3.1 Set Transmit Interval Time ===
627
628
629 (((
630 Feature: Change LoRaWAN End Node Transmit Interval.
631 )))
632
633 (((
634 (% style="color:blue" %)**AT Command: AT+TDC**
635 )))
636
637 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
638 |=(% 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**
639 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
640 30000
641 OK
642 the interval is 30000ms = 30s
643 )))
644 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
645 OK
646 Set transmit interval to 60000ms = 60 seconds
647 )))
648
649 (((
650 (% style="color:blue" %)**Downlink Command: 0x01**
651 )))
652
653 (((
654 Format: Command Code (0x01) followed by 3 bytes time value.
655 )))
656
657 (((
658 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
659 )))
660
661 * (((
662 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
663 )))
664 * (((
665 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
666
667
668 )))
669
670 === 3.3.2 Set Interrupt Mode ===
671
672
673 Feature, Set Interrupt mode for pin of GPIO_EXTI.
674
675 When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port.
676
677 (% style="color:blue" %)**AT Command: AT+INTMOD**
678
679 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
680 |=(% 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**
681 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
682 0
683 OK
684 The mode is 0 =Disable Interrupt
685 )))
686 |(% style="width:154px" %)(((
687 AT+INTMOD=3
688
689 (default)
690 )))|(% style="width:196px" %)(((
691 Set Transmit Interval
692 0. (Disable Interrupt),
693 2. (Trigger by falling edge)
694 3. (Trigger by rising edge)
695 )))|(% style="width:157px" %)OK
696
697 (% style="color:blue" %)**Downlink Command: 0x06**
698
699 Format: Command Code (0x06) followed by 3 bytes.
700
701 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
702
703 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
704
705 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
706
707 (% style="color:red" %)**Note:**
708
709 (% style="color:red" %)**1. This interrupt only takes effect in mode 1.**
710
711 (% style="color:red" %)**2. If set INTMOD=1, the interrupt mode will not work properly because the rising edge and falling edge cannot exist at the same time, which will affect the low power consumption of the motherboard and increase battery consumption.**
712
713
714 === 3.3.3 Set work mode ===
715
716
717 Feature: Switch working mode((% style="color:red" %)**Note: After the modified mode is issued, the node will automatically reset and restart**(%%))
718
719 (% style="color:blue" %)**AT Command: AT+MOD**(%%)  (1: Regular Measurement , 2: Continuous Measuring & Couting, 3: Continuous Measuring & Distance Alarm)
720
721 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
722 |(% style="background-color:#4f81bd; color:white; width:159px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:196px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:155px" %)**Response**
723 |(% style="width:159px" %)AT+MOD=?|(% style="width:196px" %)Get the current working mode.|(% style="width:159px" %)OK
724 |(% style="width:159px" %)AT+MOD=1|(% style="width:196px" %)Set the working mode to Regular measurements.|(% style="width:159px" %)OK
725 Attention: Take effect after ATZ
726 |(% style="width:159px" %)(((
727 (((
728 AT+MOD=2,0,50,200
729 )))
730
731 (((
732
733 )))
734 )))|(% style="width:196px" %)Set the working mode to
735 Continuous measurement with counting.|(% style="width:159px" %)(((
736 OK
737 Attention: Take effect after ATZ
738 )))
739 |(% style="width:159px" %)AT+MOD=3,0,1800,200|(% style="width:196px" %)Set the working mode to
740 Continuous measurement with distance alarm.|(% style="width:159px" %)OK
741 Attention: Take effect after ATZ
742
743 **Explanation of MOD=2**
744
745 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
746 |(% style="background-color:#4f81bd; color:white; width:178px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:157px" %)**Parameters**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Explanation**
747 |(% colspan="1" rowspan="4" style="width:178px" %)(((
748
749
750
751
752
753
754
755
756 AT+MOD=2,aa,bb,cc
757 )))|(% style="width:192px" %)(((
758 **2:** Set MOD=2
759 )))|(% style="width:391px" %)(((
760 Continuous Measuring & Counting
761 )))
762 |(% style="width:192px" %)(((
763 **AA:** Counting Condition
764 )))|(% style="width:391px" %)(((
765 (% style="color:red" %)**0:**(%%) Count while detect value (% style="color:blue" %)**Smaller**(%%) than Distance Settings(Parameters **BB**)
766 (% style="color:red" %)**1:**(%%) Count while detect value** (% style="color:blue" %)Bigger(%%)** than Distance Settings(Parameters **BB**)
767 )))
768 |(% style="width:192px" %)**BB:** Distance setting|(% style="width:391px" %)10mm~~2000mm
769 |(% style="width:192px" %)**CC:** Min Counting Time|(% style="width:391px" %)(((
770 The object is detected within the set distance for **CC** time, count +1 (unit :ms) (Unit: ms)
771 )))
772 |(% colspan="3" style="width:178px" %)(((
773 (% style="color:blue" %)**Example: AT+MOD=2,1,50,200**
774
775 DS20L adopts uninterrupted measurement + counting mode.
776
777 Within a distance of 50 to 2000mm(bigger than 50mm), when DS20L detects an object for 200ms, count +1.
778 )))
779
780 (% style="color:blue" %)**Downlink Command:**
781
782 **Format:** Command Code (0x0A) followed by 6 bytes.
783
784 * **Example: **0A 01  ~/~/  Same as AT+MOD=1
785
786 * **Example:** 0A 02 00 00 32 00 00 00 C8  ~/~/  Same as AT+MOD=2,0,50,200
787
788 **Explanation of MOD=3**
789
790 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
791 |(% style="background-color:#4f81bd; color:white; width:178px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:157px" %)**Parameters**|(% style="background-color:#4f81bd; color:white; width:175px" %)**Explanation**
792 |(% colspan="1" rowspan="4" style="width:178px" %)(((
793
794
795
796
797
798
799
800
801 AT+MOD=3,aa,bb,cc
802 )))|(% style="width:192px" %)(((
803 **3:** Set MOD=3
804 )))|(% style="width:391px" %)(((
805 Continuous measurement with distance alarm
806 )))
807 |(% style="width:192px" %)(((
808 **AA:** Distance Alarm Condition
809 )))|(% style="width:391px" %)(((
810 (% style="color:red" %)**0:**(%%) Distance alarm while detect value (% style="color:blue" %)**Smaller**(%%) than Distance Settings(Parameters **BB**)
811 (% style="color:red" %)**1:**(%%) Distance alarm while detect value** (% style="color:blue" %)Bigger(%%)** than Distance Settings(Parameters **BB**)
812 )))
813 |(% style="width:192px" %)**BB:** Distance Setting|(% style="width:391px" %)10mm~~2000mm
814 |(% style="width:192px" %)**CC:** Min Alarm Time|(% style="width:391px" %)(((
815 When continuous **CC **time detects the distance exceeds the set range, alarm (Unit: ms)
816 )))
817 |(% colspan="3" style="width:178px" %)(((
818 (% style="color:blue" %)**Example: AT+MOD=3,0,50,200**
819
820 DS20L adopts uninterrupted measurement + distance alarm mode.
821
822 When the distance is detected to be less than 50mm for 200ms, node alarm.
823 )))
824
825 (% style="color:blue" %)**Downlink Command:**
826
827 Format: Command Code (0x0A) followed by 6 bytes.
828
829 * **Example: **0A 01  ~/~/  Same as AT+MOD=1
830
831 * **Example:** 0A 03 00 00 32 00 00 00 C8  ~/~/  Same as AT+MOD=2,0,50,200
832
833 === 3.3.4 Set threshold and threshold mode(Valid only if AT+MOD~=1) ===
834
835
836 Feature, Set threshold and threshold mode
837
838 When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
839
840 (% style="color:blue" %)**AT Command: AT+DOL**
841
842 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
843 |(% style="background-color:#4f81bd; color:white; width:162px" %)**Command Example**|(% style="background-color:#4f81bd; color:white; width:240px" %)**Function**|(% style="background-color:#4f81bd; color:white; width:108px" %)**Response**
844 |(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
845 0,0,0,0,400
846 OK
847 )))
848 |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set the distance limit range of 100~~1800mm, detect once every 400ms, over-limit alarm.|(% style="width:118px" %)OK
849
850 (% border="1" cellspacing="3" style="background-color:#f2f2f2; width:510px" %)
851 |(% style="background-color:#4f81bd; color:white" %)**Command Example**|(% style="background-color:#4f81bd; color:white" %)**Function**|(% style="background-color:#4f81bd; color:white" %)**Parameter**
852 |(% colspan="1" rowspan="9" %)(((
853
854
855
856
857
858
859
860
861 (% style="color:blue" %)**AT+DOL=1,1800,3,0,400**
862 )))|(% colspan="1" rowspan="4" %)The first bit sets the limit mode|0: Do not use upper and lower limits
863 |1: Use upper and lower limits
864 |2: Less than the upper limit
865 |3: Greater than the lower limit
866 |The second bit sets the upper limit value|3~~2000MM
867 |The third bit sets the lower limit value|3~~2000MM
868 |(% colspan="1" rowspan="2" %)The fourth bit sets the over-limit alarm or person or object count.|0: Over-limit alarm, DO output is high
869 |1: Person or object counting statistics
870 |The fifth bit sets the sampling time|100~~10000ms
871
872 (% style="color:blue" %)**Downlink Command: 0x07**
873
874 Format: Command Code (0x07) followed by 9 bytes.
875
876 If the downlink payload=**07 01 0708 0064 00 0190**, it means set the END Node's limit mode to 0x01,upper limit value to 0x0708=1800(mm), lower limit value to 0x0064=100(mm), to over-limit alarm(0x00), the sampling time to 0x0190=400(ms), while type code is 0x07.
877
878 * Example 0: Downlink Payload: 07 00 0000 0000 00 0190  **~-~-->**  AT+DOL=0,0,0,0,400  ~/~/ No threshold is used, the sampling time is 400ms
879 * Example 1: Downlink Payload: 07 01 0708 0064 00 0190  **~-~-->**  AT+DOL=1,1800,100,0,400  ~/~/MOD1 uses distance alarm mode, when the TDC time arrives, the node sampling time is 400ms. When the node detects that the distance is lower than 100mm or higher than 1800mm, it sends an alarm packet. The alarm flag is 1. Otherwise, the node normally uplink and the alarm flag is 0.
880
881 (% style="color:red" %)**Note: AT+DOL command is applied to MOD1.**
882
883 **For example:**
884
885 * **AT+MOD=1**
886
887 **AT+DOL=1,500,244,(% style="color:blue" %)0(%%),300**
888
889 Send data according to the normal TDC time. If the mode limit is exceeded, the alarm flag is set to 1:
890
891 [[image:image-20231214111618-1.png||height="237" width="884"]]
892
893
894 = 4. Case Study =
895
896 == 4.1 Detect the level for rabbish bin ==
897
898 === 4.1.1 Case Description ===
899
900
901 DS20L's ToF FoV angle: ±9°, total 18°, very suitable for object height acquisition. This case describes how to set up DS20L to calculate the amount of garbage in the trash can.
902
903 As shown in the figure below, DS20L detects the distance regularly. When the garbage in a trash can reaches the set capacity, it will issue a warning and regularly report the status of the trash can at that time.
904
905 Note: This mode uses scheduled collection, has very low power consumption and is powered
906
907 [[image:image-20240423203547-4.png]]
908
909 [[image:image-20240423203532-3.png]]
910
911
912 === 4.1.2 Software Configuration ===
913
914
915 * Open the serial port assistant tool, enter the key, and set  **AT+MOD=1 and AT+DOL=2,200,10,400**
916 * or send downlink command **0A 01 and 07 02 00 C8 00 0A 01 90**
917
918 Every 20 minutes, DS20L will check rabish level of the trash can. If it exceeds the set threshold, it will alarm.
919
920 Detail explain for this command please see [[Working Mode>>||anchor="H3.3.3Setworkmode"]] .
921
922 (% style="color:red" %)**Notice: To save battery life, user can ignore the alarm setting ( AT+DOL).**
923
924
925 === 4.1.3 Test Result ===
926
927
928 [[image:image-20240423204346-7.png||height="417" width="1117"]]
929
930
931 == 4.2 Uses DS20L to Count object pass in the machine ==
932
933 === 4.2.1 Case Decription ===
934
935
936 DS20L has angle of ToF FoV: ±9°, Total 18°, which is good to use it for object counting. This case descript how to set up DS20L to count how many PCBA pass in the SMT machine.
937
938 As show below, DS20L keep checking the detect distance,  when there is a PCB pass the rail, the distance shown in DS20L will become a small value and DS20L will count PCB +1.
939
940 (% style="color:red" %)**Notice: To continously count object, user need to use external power source to power DS20L, Use battery is not enough **
941
942 [[image:image-20240407214105-1.png||height="230" width="475"]]
943
944 [[image:image-20240407214346-2.png]]
945
946
947 === 4.2.2 Software Configuration ===
948
949
950 * Open the serial port assistant tool, enter the key, and set  **AT+MOD=2,0,50,200**
951 * or send downlink command **0A 02 00 00 32 00 00 00 CB**
952
953 This command will continouse read distance, if distance read below 5cm and last for more than 200ms. Counting + 1.
954
955 Detail explain for this command please see [[Working Mode>>||anchor="H3.3.3Setworkmode"]] .
956
957
958 === 4.2.3 Test Result ===
959
960 [[image:image-20240407221644-6.png||height="532" width="1059"]]
961
962
963 == 4.3 Distance Alarm ==
964
965 === 4.3.1 Case description ===
966
967
968 DS20L's ToF FoV angle: ±9°, total 18°, very suitable for object distance detection. This case describes how to set up DS20L to determine whether people enter prohibited areas.
969
970 As shown in the figure below, DS20L continuously checks the detection distance. When someone breaks into a prohibited area, the detection distance of DS20L becomes a small valu and sends an Alarm.
971
972 (% style="color:red" %)**Notice: To continously count object, user need to use external power source to power DS20L, Use battery is not enough.**
973
974
975 [[image:image-20240423204625-8.png||height="278" width="638"]]
976
977 [[image:image-20240423204654-9.png||height="306" width="824"]]
978
979
980 === 4.3.2 Software configuration ===
981
982
983 Open the serial port assistant tool, enter the key, and set AT+MOD=3,0,1800,200
984
985 Or send downlink command 0A 03 00 07 08 00 00 00 CB
986
987 This command will continue to read the distance,  if the reading distance is below 1800 cm and lasts longer than 200 ms. Then DS20L will send an Alarm.
988
989 Detail explain for this command please see [[Working Mode>>||anchor="H3.3.3Setworkmode"]] .
990
991
992 === 4.3.3 Test Result ===
993
994 [[image:image-20240423204928-10.png||height="334" width="1167"]]
995
996
997 = 5. Battery & Power Consumption =
998
999
1000 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.
1001
1002 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
1003
1004
1005 = 6. Firmware update =
1006
1007
1008 (% class="wikigeneratedid" %)
1009 User can change firmware DS20L to:
1010
1011 * Change Frequency band/ region.
1012
1013 * Update with new features.
1014
1015 * Fix bugs.
1016
1017 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zqv1vt3komgp4tu/AAC33PnXIcWOVl_UXBEAeT_xa?dl=0]]**
1018
1019 Methods to Update Firmware:
1020
1021 * (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/]]**
1022
1023 * Update through UART TTL interface: **[[Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H2.5UARTConnectionforDS20Lmotherboard]]**.
1024 (% style="display:none" %) (%%)
1025
1026 = 7. FAQ =
1027
1028 == 7.1 What is the frequency plan for DS20L? ==
1029
1030
1031 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"]]
1032
1033
1034 == 7.2 How to connect external power supply to DS20L? ==
1035
1036
1037 Use the positive pole of the regulated power supply to connect the 3.3v pin of the interface;
1038
1039 Use the negative pole of the regulated power supply to connect the GND pin of the interface.
1040
1041 [[image:image-20240312104724-1.png]]
1042
1043
1044 When using external power supply, the gear position is in E position(
1045
1046 [[image:image-20240313091009-2.png]]
1047
1048
1049 == 7.3 Why cannot Mode be modified? ==
1050
1051
1052 If mode cannot be modified, upgrade the firmware version to v1.0.2 or later.
1053
1054
1055 == 7.4 Why is there no response to burning firmware through TremoProgrammer? ==
1056
1057
1058 If we use the TremoProgrammer (green arrow icon) to update the firmware, we need to keep the two pins of JP3 connected while burning.
1059
1060 [[image:image-20240706104629-1.png||height="536" width="631"]]
1061
1062 The shipping node has boot program, it is recommended to directly use Dragino Sensor Manager Utility.exe for firmware burning.
1063
1064 Refer to the link: [[UART Access for LoRa ST v4 base model - DRAGINO>>url:http://wiki.dragino.com/xwiki/bin/view/Main/UART%20Access%20for%20LoRa%20ST%20v4%20base%20model/#H3.2UpdateFirmware28Assumethedevicealreadyhaveabootloader29]]
1065
1066
1067 == 7.5 How to check the problem when the sensor status is 0xFF (255)? ==
1068
1069
1070 The sensor state 0xFF(H)=255(D) indicates that the node has not detected the sensor connection and needs to check whether the sensor is properly connected and can work properly.
1071
1072 First, we need to see if the sensors work properly when the node is active.
1073
1074 (% style="color:blue" %)**1. Reactivate the node**
1075
1076 * (((
1077 Battery powered, reactivate the node (three options) :
1078 )))
1079
1080 a. Reinstall the battery
1081
1082 b. Switch the side power mode switch to E (external power) and back to I (battery power)
1083
1084 c. Click the RESET button
1085
1086 [[image:image-20240706110453-2.png||height="193" width="388"]]
1087
1088 * External power, reactivate the node(three options):
1089
1090 a. Turn off the external power supply and turn it on again
1091
1092 b. Switch the side power mode switch to I (battery power) and back to E (external power)
1093
1094 c. Click the RESET button
1095
1096 (% style="color:blue" %)**2. Check the sensor probe with our phone's camera**
1097
1098 * After reactivating the node, quickly use the phone camera to take a picture of the sensor probe, if we can observe bright spots, it means that the sensor is working. Then it is recommended to re-download the latest firmware to solve the problem that the sensor does not recognize.
1099
1100 [[image:image-20240706111824-3.png||height="435" width="353"]]
1101
1102 * (((
1103 If no bright spots are observed (a short time after the node is activated), then we need to open the node housing and check that the sensor wiring is secure.
1104 )))
1105
1106 (% style="color:blue" %)**3. Checking Sensor cables**
1107
1108 Check the sensor cables and secure them.
1109
1110 [[image:image-20240706112013-4.png||height="481" width="541"]]
1111
1112 If after stable wiring, repeat the above operations still can not observe the bright spot, the sensor is broken, please contact your purchase channel to communicate return and exchange matters.
1113
1114
1115 = 8. Trouble Shooting =
1116
1117 == 8.1 AT Command input doesn't work ==
1118
1119
1120 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.
1121
1122
1123 == 8.2 Significant error between the output distant value of LiDAR and actual distance ==
1124
1125
1126 (((
1127 (% 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.)
1128 )))
1129
1130 (((
1131 (% style="color:red" %)**Troubleshooting**(%%): Please avoid use of this product under such circumstance in practice.
1132 )))
1133
1134
1135 (((
1136 (% style="color:blue" %)**Cause ②**(%%)**: **The IR-pass filters are blocked.
1137 )))
1138
1139 (((
1140 (% style="color:red" %)**Troubleshooting**(%%): please use dry dust-free cloth to gently remove the foreign matter.
1141 )))
1142
1143
1144 = 9. Order Info =
1145
1146
1147 Part Number: (% style="color:blue" %)**DS20L-XXX**
1148
1149 (% style="color:red" %)**XXX**(%%): **The default frequency band**
1150
1151 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
1152
1153 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
1154
1155 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
1156
1157 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
1158
1159 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
1160
1161 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
1162
1163 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
1164
1165 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
1166 (% style="display:none" %) (%%)
1167
1168 = 10. ​Packing Info =
1169
1170
1171 (% style="color:#037691" %)**Package Includes**:
1172
1173 * DS20L LoRaWAN Smart Distance Detector x 1
1174
1175 (% style="color:#037691" %)**Dimension and weight**:
1176
1177 * Device Size: cm
1178
1179 * Device Weight: g
1180
1181 * Package Size / pcs : cm
1182
1183 * Weight / pcs : g
1184 (% style="display:none" %) (%%)
1185
1186 = 11. Support =
1187
1188
1189 * Support is provided Monday to Friday, from 09:00 to 18:00 GMT+8. Due to different timezones we cannot offer live support. However, your questions will be answered as soon as possible in the before-mentioned schedule.
1190
1191 * Provide as much information as possible regarding your enquiry (product models, accurately describe your problem and steps to replicate it etc) and send a mail to [[Support@dragino.cc>>mailto:Support@dragino.cc]].