Version 216.1 by Mengting Qiu on 2023/12/14 11:14

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
35 [[image:image-20231110102635-5.png||height="402" width="807"]]
36
37
38 == 1.2 ​Features ==
39
40
41 * LoRaWAN Class A protocol
42 * LiDAR distance detector, range 3 ~~ 200cm
43 * Periodically detect or continuously detect mode
44 * AT Commands to change parameters
45 * Remotely configure parameters via LoRaWAN Downlink
46 * Alarm & Counting mode
47 * Firmware upgradable via program port or LoRa protocol
48 * Built-in 2400mAh battery or power by external power source
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
63 == 1.4 Power Consumption ==
64
65
66 (% style="color:#037691" %)**Battery Power Mode:**
67
68 * Idle: 0.003 mA @ 3.3v
69 * Max : 360 mA
70
71 (% style="color:#037691" %)**Continuously mode**:
72
73 * Idle: 21 mA @ 3.3v
74 * Max : 360 mA
75
76 == 1.5 Use Case ==
77
78 **Regular Distance Detect**
79
80
81 [[image:image-20231214100011-1.png]]
82
83 **Counting / Alarm**
84
85
86
87 [[image:image-20231214100036-2.png]]
88
89 [[image:image-20231214100057-3.png]]
90
91
92
93 = 2. Configure DS20L to connect to LoRaWAN network =
94
95 == 2.1 How it works ==
96
97
98 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
100 (% style="display:none" %) (%%)
101
102 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
103
104
105 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.
106
107 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" %)
108
109 [[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
110
111 === Step 1: Create a device in TTN with the OTAA keys from DS20L. ===
112
113 Each DS20L is shipped with a sticker with the default device EUI as below:
114
115 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
116
117
118 You can enter this key in the LoRaWAN Server portal. Below is TTN V3 screenshot:
119
120
121 (% style="color:blue" %)**Register the device**
122
123 [[image:image-20231207144600-2.png||height="703" width="756"]]
124
125
126 (% style="color:blue" %)**Add DevEUI and AppKey**
127
128 [[image:image-20231207145121-5.png||height="540" width="756"]]
129
130
131
132 === Step 2: Activate on DS20L ===
133
134 [[image:image-20231128133704-1.png||height="189" width="441"]]
135
136 Press the button for 5 seconds to activate the DS20L.
137
138 The switch is switched to **E** and the external power supply is used.
139
140 The switch is switched to **I** and DS20L will be power by the built-in battery.
141
142 (% style="color:green" %)**Green led**(%%) will fast blink 5 times, device will enter (% style="color:blue" %)**OTA mode**(%%) for 3 seconds. And then start to JOIN LoRaWAN network. (% style="color:green" %)**Green led**(%%) will solidly turn on for 5 seconds after joined in network.
143
144 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
145
146
147
148 == 2.3 ​Uplink Payload ==
149
150 === 2.3.1 Device Status, FPORT~=5 ===
151
152
153 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.
154
155 The Payload format is as below.
156
157 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
158 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
159 **Size(bytes)**
160 )))|=(% 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**
161 |(% 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
162
163 Example parse in TTNv3
164
165 [[image:image-20231206151412-3.png||height="179" width="1070"]]
166
167 (% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
168
169 (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
170
171 (% style="color:blue" %)**Frequency Band**:
172
173 0x01: EU868
174
175 0x02: US915
176
177 0x03: IN865
178
179 0x04: AU915
180
181 0x05: KZ865
182
183 0x06: RU864
184
185 0x07: AS923
186
187 0x08: AS923-1
188
189 0x09: AS923-2
190
191 0x0a: AS923-3
192
193 0x0b: CN470
194
195 0x0c: EU433
196
197 0x0d: KR920
198
199 0x0e: MA869
200
201 (% style="color:blue" %)**Sub-Band**:
202
203 AU915 and US915:value 0x00 ~~ 0x08
204
205 CN470: value 0x0B ~~ 0x0C
206
207 Other Bands: Always 0x00
208
209 (% style="color:blue" %)**Battery Info**:
210
211 Check the battery voltage.
212
213 Ex1: 0x0B45 = 2885mV
214
215 Ex2: 0x0B49 = 2889mV
216
217
218 === 2.3.2 Uplink Payload, FPORT~=2 ===
219
220
221 ==== (% style="color:red" %)**AT+MOD~=1**(%%) ====
222
223 Regularly detect distance and report. When the distance exceeds the limit, the alarm flag is set to 1, and the report can be triggered by external interrupts.
224
225 **Uplink Payload totals 10 bytes.**
226
227 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
228 |(% style="background-color:#4f81bd; color:white; width:60px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:30px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:100px" %)**1**|(% style="background-color:#4f81bd; color:white; width:120px" %)**4**
229 |(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+ Alarm+ Interrupt|(% style="width:74px" %)Distance|(% style="width:100px" %)Sensor State|(% style="width:119px" %)Interrupt Count
230
231 **MOD+ Alarm+ Interrupt:**
232
233 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:420px" %)
234 |(% 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**
235 |Value|MOD|Digital Interrupt|(((
236 Distance Alarm
237
238 0: No Alarm;
239
240 1: Alarm
241 )))
242
243 Example parse in TTNv3
244
245 [[image:image-20231206195704-6.png||height="238" width="999"]]
246
247 (% style="color:blue" %)**Battery Info:**
248
249 Check the battery voltage for DS20L
250
251 Ex1: 0x0E10 = 3600mV
252
253
254 (% style="color:blue" %)**MOD & Alarm & Interrupt:**
255
256 (% style="color:red" %)**MOD:**
257
258 **Example: ** (0x60>>6) & 0x3f =1
259
260 **0x01:**  Regularly detect distance and report.
261 **0x02: ** Uninterrupted measurement (external power supply).
262
263 (% style="color:red" %)**Alarm:**
264
265 When the detection distance exceeds the limit, the alarm flag is set to 1.
266
267 (% style="color:red" %)**Interrupt:**
268
269 Whether it is an external interrupt.
270
271
272 (% style="color:blue" %)**Distance info:**
273
274 **Example**:
275
276 If payload is: 0708H: distance = 0708H = 1800 mm
277
278
279 (% style="color:blue" %)**Sensor State:**
280
281 Ex1: 0x00: Normal collection distance
282
283 Ex2 0x0x: Distance collection is wrong
284
285
286 (% style="color:blue" %)**Interript Count:**
287
288 If payload is:000007D0H: count = 07D0H =2000
289
290
291
292 ==== (% style="color:red" %)**AT+MOD~=2**(%%)** ** ====
293
294 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.)
295
296 [[image:image-20231214102129-1.png]]
297
298 * **Set over-limit alarm mode: AT+DOL=3,500,244,**(% style="color:red" %)0(%%)**,120**
299
300 Continuously measurement with Alarm. When the distance exceeds the limit, the output IO high, instant alarm.
301
302 **Uplink Payload totals 9 bytes.**
303
304 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
305 |(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:40px" %)**2**|(% style="background-color:#4f81bd; color:white; width:130px" %)**1**|(% style="background-color:#4f81bd; color:white; width:130px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
306 |(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+ DO+ Alarm+ DO flag+ Threshold Flag for Alarm|(% style="width:74px" %)Distance |(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
307
308 **MOD+DO+ Alarm+ Do flag+ Threshold Flag for Alarm::**
309
310 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
311 |(% style="background-color:#4f81bd; color:white; width:68px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:83px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:88px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:61px" %)**bit4**|(% style="background-color:#4f81bd; color:white; width:86px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:112px" %)**[bit2:bit1:bit0]**
312 |(% style="width:68px" %)Value|(% style="width:83px" %)MOD|(% style="width:88px" %)(((
313 DO
314
315 0:Within limit
316
317 1:Out of limit
318 )))|(% style="width:61px" %)(((
319 Alarm
320
321 0: No Alarm;
322
323 1: Alarm
324 )))|(% style="width:86px" %)(((
325 DO flag
326
327 0:the over-limit alarm mode
328
329 1:the person or object count mode
330 )))|(% style="width:112px" %)Limit flag
331 (0~~3)
332
333 Example parse in TTNv3
334
335 [[image:image-20231214102536-2.png||height="191" width="617"]]
336
337 (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
338
339 (% style="color:red" %)**MOD:**
340
341 **Example: ** (0x60>>6) & 0x3f =1
342
343 **0x01:**  Regularly detect distance and report.
344 **0x02: ** Uninterrupted measurement (external power supply).
345
346 (% style="color:red" %)**Alarm:**
347
348 When the detection distance exceeds the limit, the alarm flag is set to 1.
349
350 (% style="color:red" %)**Do:**
351
352 Shows the DO pin status, while there is alarm trigger, The DO pin will be set to high (3.3v), It will be set to 0 low level when there is no alarm.
353
354 (% style="color:red" %)**Threshold Flag for Alarm:**
355
356 Mode for setting threshold: **0~~3**
357
358 **0:** Distance limit range is not enabled, alarm:0.
359
360 **1:** Trigger Alarm if distance exceed the range between lower and upper.
361
362 **2: **Trigger Alarm if distance smaller than the upper limit.
363
364 **3:** Trigger Alarm if distance bigger than the lower limit.
365
366
367 (% style="color:#0000ff" %)**Distance**
368
369 Actual sampling distance values.
370
371 **Example:**
372
373 **AT+DOL=1,500,244,**(% style="color:red" %)0(%%)**,120  **
374
375 The distance is detected every 120ms.
376
377 When the actual detection value is within the range of [244mm,500mm], the data is uploaded in the normal TDC time.
378
379 When the actual detection value is outside the range of [244mm,500mm], the uplink data will be immediately alerted.
380
381 If payload is: 0708H: distance = 0708H = 1800 mm
382
383
384 (% style="color:blue" %)**Upper limit:**
385
386 Show the pre-set upper limit in Hex, Unit: mm.
387
388 Ex: 01F4(H)=500mm
389
390
391 (% style="color:blue" %)**Lower limit:**
392
393 Show the pre-set lower limit in Hex, Unit: mm.
394
395 Ex: 0xF4(H)=244mm
396
397
398 * **Set the person or object count mode: AT+DOL=1,500,244,**(% style="color:red" %)1(%%)**,120**
399
400 Continuously measurement with Alarm, detect and count people or things passing by in distance limit mode.
401
402 **Uplink Payload totals 11 bytes.**
403
404 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
405 |(% style="background-color:#4f81bd; color:white; width:70px" %)**Size(bytes)**|(% style="background-color:#4f81bd; color:white; width:53px" %)**2**|(% style="background-color:#4f81bd; color:white; width:140px" %)**1**|(% style="background-color:#4f81bd; color:white; width:89px" %)**2**|(% style="background-color:#4f81bd; color:white; width:75px" %)**2**|(% style="background-color:#4f81bd; color:white; width:57px" %)**2**
406 |(% style="width:91px" %)Value|(% style="width:53px" %)BAT|(% style="width:140px" %)MOD+ DO+ Alarm+ DO flag+ Threshold Flag for Alarm|(% style="width:89px" %)Distance limit alarm count |(% style="width:75px" %)Upper limit|(% style="width:57px" %)Lower limit
407
408 **MOD+DO+ Alarm+ Do flag+ Threshold Flag for Alarm:**
409
410 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
411 |(% style="background-color:#4f81bd; color:white; width:68px" %)**Size(bit)**|(% style="background-color:#4f81bd; color:white; width:83px" %)**[bit7:bit6]**|(% style="background-color:#4f81bd; color:white; width:88px" %)**bit5**|(% style="background-color:#4f81bd; color:white; width:61px" %)**bit4**|(% style="background-color:#4f81bd; color:white; width:86px" %)**bit3**|(% style="background-color:#4f81bd; color:white; width:112px" %)**[bit2:bit1:bit0]**
412 |(% style="width:68px" %)Value|(% style="width:83px" %)MOD|(% style="width:88px" %)(((
413 DO
414
415 0:Within limit
416
417 1:Out of limit
418 )))|(% style="width:61px" %)(((
419 Alarm
420
421 0: No Alarm;
422
423 1: Alarm
424 )))|(% style="width:86px" %)(((
425 DO flag
426
427 0:the over-limit alarm mode
428
429 1:the person or object count mode
430 )))|(% style="width:112px" %)Limit flag
431 (0~~3)
432
433 Example parse in TTNv3
434
435 [[image:image-20231214104649-1.png]]
436
437 (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
438
439 (% style="color:red" %)**MOD:**
440
441 **Example: ** (0x60>>6) & 0x3f =1
442
443 **0x01:**  Regularly detect distance and report.
444 **0x02: ** Uninterrupted measurement (external power supply).
445
446 (% style="color:red" %)**Alarm:**
447
448 When the detection distance exceeds the limit, the alarm flag is set to 1.
449
450 (% style="color:red" %)**Do:**
451
452 Shows the DO pin status, while there is alarm trigger, The DO pin will be set to high (3.3v), It will be set to 0 low level when there is no alarm.
453
454 (% style="color:red" %)**Threshold Flag for Alarm:**
455
456 Mode for setting threshold: **0~~3**
457
458 **0:** does not use upper and lower limits
459
460 **1:** Use upper and lower limits
461
462 **2:** Less than the upper limit
463
464 **3: **Greater than the lower limit
465
466
467 (% style="color:blue" %)**Distance limit alarm count:**
468
469 People or objects are collected and counted within a limited distance.
470
471 The detection of a stationary person or object at each sampling time will be repeated three times, and the fourth sampling count will be added by 1.
472
473 **Example:**
474
475 **AT+DOL=1,500,244,**1**,120   **
476
477 People or objects passing within the distance range of [244mm,500mm] are detected and counted every 120ms.
478
479 If payload is: 0x56H, interrupt count =0x56H =86
480
481
482 (% style="color:blue" %)**Upper limit:**
483
484 Show the pre-set upper limit in Hex, Unit: mm.
485
486 Ex: 01F4(H)=500mm
487
488
489 (% style="color:blue" %)**Lower limit:**
490
491 Show the pre-set lower limit in Hex, Unit: mm.
492
493 Ex: 0xF4(H)=244mm
494
495
496
497
498 == 2.4 Decode payload in The Things Network ==
499
500
501 While using TTN network, you can add the payload format to decode the payload.
502
503 [[image:image-20231206143515-1.png||height="534" width="759"]]
504
505
506 (((
507 The payload decoder function for TTN is here:
508 )))
509
510 (((
511 DS20L TTN Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
512 )))
513
514
515 == 2.5 ​Show Data in DataCake IoT Server ==
516
517
518 (((
519 [[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:
520 )))
521
522
523 (((
524 (% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
525 )))
526
527 (((
528 (% 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:**
529 )))
530
531
532 [[image:image-20231207153532-6.png||height="562" width="861"]]
533
534
535 [[image:image-20231207155940-8.png]]
536
537 For more detailed instructions, refer to the following instructions: [[Welcome - Datacake Docs>>url:https://docs.datacake.de/]]
538
539 [[image:image-20231207160733-11.png||height="429" width="759"]]
540
541
542 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
543
544 (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
545
546 [[image:image-20231207160343-10.png||height="665" width="705"]]
547
548
549 After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
550
551 [[image:image-20231129100454-2.png||height="501" width="928"]]
552
553
554 == 2.6 Frequency Plans ==
555
556
557 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.
558
559 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
560
561
562 = 3. Configure DS20L =
563
564 == 3.1 Configure Methods ==
565
566
567 DS20L supports below configure method:
568
569 * 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]].
570
571 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
572
573 == 3.2 General Commands ==
574
575
576 These commands are to configure:
577
578 * General system settings like: uplink interval.
579
580 * LoRaWAN protocol & radio related command.
581
582 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
583
584 [[End Device AT Commands and Downlink Command>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20AT%20Commands%20and%20Downlink%20Command/]]
585
586
587 == 3.3 Commands special design for DS20L ==
588
589
590 These commands only valid for DS20L, as below:
591
592
593 === 3.3.1 Set Transmit Interval Time ===
594
595
596 (((
597 Feature: Change LoRaWAN End Node Transmit Interval.
598 )))
599
600 (((
601 (% style="color:blue" %)**AT Command: AT+TDC**
602 )))
603
604 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
605 |=(% 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**
606 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
607 30000
608 OK
609 the interval is 30000ms = 30s
610 )))
611 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
612 OK
613 Set transmit interval to 60000ms = 60 seconds
614 )))
615
616 (((
617 (% style="color:blue" %)**Downlink Command: 0x01**
618 )))
619
620 (((
621 Format: Command Code (0x01) followed by 3 bytes time value.
622 )))
623
624 (((
625 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
626 )))
627
628 * (((
629 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
630 )))
631 * (((
632 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
633
634
635
636 )))
637
638 === 3.3.2 Set Interrupt Mode ===
639
640
641 Feature, Set Interrupt mode for pin of GPIO_EXTI.
642
643 When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port.
644
645 (% style="color:blue" %)**AT Command: AT+INTMOD**
646
647 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
648 |=(% 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**
649 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
650 0
651 OK
652 the mode is 0 =Disable Interrupt
653 )))
654 |(% style="width:154px" %)(((
655 AT+INTMOD=3
656
657 (default)
658 )))|(% style="width:196px" %)(((
659 Set Transmit Interval
660 0. (Disable Interrupt),
661 ~1. (Trigger by rising and falling edge)
662 2. (Trigger by falling edge)
663 3. (Trigger by rising edge)
664 )))|(% style="width:157px" %)OK
665
666 (% style="color:blue" %)**Downlink Command: 0x06**
667
668 Format: Command Code (0x06) followed by 3 bytes.
669
670 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
671
672 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
673
674 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
675
676 === 3.3.3 Set work mode ===
677
678
679 Feature: Switch working mode
680
681 (% style="color:blue" %)**AT Command: AT+MOD**
682
683 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
684 |(% style="background-color:#4f81bd; color:white" %)**Command Example**|(% style="background-color:#4f81bd; color:white" %)**Function**|(% style="background-color:#4f81bd; color:white" %)**Response**
685 |AT+MOD=?|Get the current working mode.|OK
686 |AT+MOD=1|Set the working mode to Regular measurements.|OK
687 Attention: Take effect after ATZ
688 |AT+MOD=2|Set the working mode to(((
689 Continuously measurement with Alarm.
690 )))|OK
691 Attention: Take effect after ATZ
692
693 (% style="color:blue" %)**Downlink Command:**
694
695 * **Example: **0x0A01 ~/~/  Same as AT+MOD=1
696
697 * **Example:** 0x0A02  ~/~/  Same as AT+MOD=2
698
699 === 3.3.4 Set threshold and threshold mode ===
700
701
702 Feature, Set threshold and threshold mode
703
704 When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
705
706 (% style="color:blue" %)**AT Command: AT+DOL**
707
708 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
709 |(% 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**
710 |(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
711 0,0,0,0,400
712 OK
713 )))
714 |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
715
716 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
717 |(% style="background-color:#4f81bd; color:white" %)**Command Example**|(% style="background-color:#4f81bd; color:white" %)**Function**|(% style="background-color:#4f81bd; color:white" %)**Parameter**
718 |(% colspan="1" rowspan="9" %)(((
719
720
721
722
723
724
725
726
727 (% style="color:blue" %)**AT+DOL=1,1800,3,0,400**
728 )))|(% colspan="1" rowspan="4" %)The first bit sets the limit mode|0: Do not use upper and lower limits
729 |1: Use upper and lower limits
730 |2:Less than the upper limit
731 |3: Greater than the lower limit
732 |The second bit sets the upper limit value|3~~2000MM
733 |The third bit sets the lower limit value|3~~2000MM
734 |(% 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
735 |1 Person or object counting statistics
736 |The fifth bit sets the sampling time|100~~10000ms
737
738 (% style="color:blue" %)**Downlink Command: 0x07**
739
740 Format: Command Code (0x07) followed by 9 bytes.
741
742 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.
743
744 * Example 0: Downlink Payload: 07 00 0000 0000 00 0190  **~-~-->**  AT+MOD=0,0,0,0,400
745
746 * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
747
748 * Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,0,100,0,400
749
750 * Example 3: Downlink Payload: 070300000064000190  **~-~-->**  AT+MOD=3,1800,100,0,400
751
752 * Example 4: Downlink Payload: 070407080000000190  **~-~-->**  AT+MOD=4,0,100,0,400
753
754 * Example 5: Downlink Payload: 070507080000000190  **~-~-->**  AT+MOD=5,1800,100,0,400
755
756 = 4. Battery & Power Consumption =
757
758
759 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.
760
761 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
762
763
764 = 5. OTA Firmware update =
765
766
767 (% class="wikigeneratedid" %)
768 User can change firmware DS20L to:
769
770 * Change Frequency band/ region.
771
772 * Update with new features.
773
774 * Fix bugs.
775
776 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zqv1vt3komgp4tu/AAC33PnXIcWOVl_UXBEAeT_xa?dl=0]]**
777
778 Methods to Update Firmware:
779
780 * (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/]]**
781
782 * 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]]**.
783
784 = 6. FAQ =
785
786 == 6.1 What is the frequency plan for DS20L? ==
787
788
789 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"]]
790
791
792 == 6.2 DS20L programming line ==
793
794
795 缺图 后续补上
796
797 feature:
798
799 for AT commands
800
801 Update the firmware of DS20L
802
803 Support interrupt mode
804
805
806 == 6.3 LiDAR probe position ==
807
808
809 [[image:1701155390576-216.png||height="285" width="307"]]
810
811 The black oval hole in the picture is the LiDAR probe.
812
813
814 == 6.4 Interface definition ==
815
816 [[image:image-20231128151132-2.png||height="305" width="557"]]
817
818
819 = 7. Trouble Shooting =
820
821 == 7.1 AT Command input doesn't work ==
822
823
824 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.
825
826
827 == 7.2 Significant error between the output distant value of LiDAR and actual distance ==
828
829
830 (((
831 (% 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.)
832 )))
833
834 (((
835 (% style="color:red" %)**Troubleshooting**(%%): Please avoid use of this product under such circumstance in practice.
836 )))
837
838
839 (((
840 (% style="color:blue" %)**Cause ②**(%%)**: **The IR-pass filters are blocked.
841 )))
842
843 (((
844 (% style="color:red" %)**Troubleshooting**(%%): please use dry dust-free cloth to gently remove the foreign matter.
845 )))
846
847
848 = 8. Order Info =
849
850
851 Part Number: (% style="color:blue" %)**DS20L-XXX**
852
853 (% style="color:red" %)**XXX**(%%): **The default frequency band**
854
855 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
856
857 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
858
859 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
860
861 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
862
863 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
864
865 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
866
867 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
868
869 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
870
871 = 9. ​Packing Info =
872
873
874 (% style="color:#037691" %)**Package Includes**:
875
876 * DS20L LoRaWAN Smart Distance Detector x 1
877
878 (% style="color:#037691" %)**Dimension and weight**:
879
880 * Device Size: cm
881
882 * Device Weight: g
883
884 * Package Size / pcs : cm
885
886 * Weight / pcs : g
887
888 = 10. Support =
889
890
891 * 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.
892
893 * 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]].