Version 124.4 by Xiaoling on 2023/11/28 15:18

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:**
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
51
52 == 1.3 Specification ==
53
54
55 (% style="color:#037691" %)**LiDAR Sensor:**
56
57 * Operation Temperature: -40 ~~ 80 °C
58 * Operation Humidity: 0~~99.9%RH (no Dew)
59 * Storage Temperature: -10 ~~ 45°C
60 * Measure Range: 3cm~~200cm @ 90% reflectivity
61 * Accuracy: ±2cm @ (3cm~~100cm); ±5% @ (100~~200cm)
62 * ToF FoV: ±9°, Total 18°
63 * Light source: VCSEL
64
65
66
67 == 1.4 Power Consumption ==
68
69
70 (% style="color:#037691" %)**Battery Power Mode:**
71
72 * Idle: 0.003 mA @ 3.3v
73 * Max : 360 mA
74
75 (% style="color:#037691" %)**Continuously mode**:
76
77 * Idle: 21 mA @ 3.3v
78 * Max : 360 mA
79
80
81
82 = 2. Configure DS20L to connect to LoRaWAN network =
83
84 == 2.1 How it works ==
85
86
87 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.
88
89 (% style="display:none" %) (%%)
90
91 == 2.2 ​Quick guide to connect to LoRaWAN server (OTAA) ==
92
93
94 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.
95
96 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" %)
97
98 [[image:image-20231110102635-5.png||height="402" width="807"]](% style="display:none" %)
99
100 (% style="color:blue" %)**Step 1:**(%%) Create a device in TTN with the OTAA keys from DS20L.
101
102 Each DS20L is shipped with a sticker with the default device EUI as below:
103
104 [[image:image-20230426084152-1.png||alt="图片-20230426084152-1.png" height="233" width="502"]]
105
106
107 You can enter this key in the LoRaWAN Server portal. Below is TTN screen shot:
108
109
110 (% style="color:blue" %)**Register the device**
111
112 [[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"]]
113
114
115 (% style="color:blue" %)**Add APP EUI and DEV EUI**
116
117 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LSN50v2-S31-S31B%20LoRaWAN%20Temperature%20%26%20Humidity%20Sensor%20User%20Manual/WebHome/image-20220611161308-4.png?width=753&height=551&rev=1.1||alt="图片-20220611161308-4.png"]]
118
119
120 (% style="color:blue" %)**Add APP EUI in the application**
121
122
123 [[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"]]
124
125
126 (% style="color:blue" %)**Add APP KEY**
127
128 [[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"]]
129
130
131 (% style="color:blue" %)**Step 2:**(%%) Activate on DS20L
132
133 [[image:image-20231128133704-1.png||height="189" width="441"]]
134
135 Press the button for 5 seconds to activate the DS20L.
136
137 (% 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.
138
139 After join success, it will start to upload messages to TTN and you can see the messages in the panel.
140
141
142 == 2.3 ​Uplink Payload ==
143
144 === 2.3.1 Device Status, FPORT~=5 ===
145
146
147 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.
148
149 The Payload format is as below.
150
151 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
152 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
153 **Size(bytes)**
154 )))|=(% 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**
155 |(% 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
156
157 Example parse in TTNv3
158
159 [[image:1701149922873-259.png]]
160
161 (% style="color:blue" %)**Sensor Model**(%%): For DS20L, this value is 0x21
162
163 (% style="color:blue" %)**Firmware Version**(%%): 0x0100, Means: v1.0.0 version
164
165 (% style="color:blue" %)**Frequency Band**:
166
167 0x01: EU868
168
169 0x02: US915
170
171 0x03: IN865
172
173 0x04: AU915
174
175 0x05: KZ865
176
177 0x06: RU864
178
179 0x07: AS923
180
181 0x08: AS923-1
182
183 0x09: AS923-2
184
185 0x0a: AS923-3
186
187 0x0b: CN470
188
189 0x0c: EU433
190
191 0x0d: KR920
192
193 0x0e: MA869
194
195 (% style="color:blue" %)**Sub-Band**:
196
197 AU915 and US915:value 0x00 ~~ 0x08
198
199 CN470: value 0x0B ~~ 0x0C
200
201 Other Bands: Always 0x00
202
203 (% style="color:blue" %)**Battery Info**:
204
205 Check the battery voltage.
206
207 Ex1: 0x0B45 = 2885mV
208
209 Ex2: 0x0B49 = 2889mV
210
211
212 === 2.3.2 Uplink Payload, FPORT~=2 ===
213
214
215 ==== (% style="color:red" %)**MOD~=1**(%%) ====
216
217 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.
218
219 Uplink Payload totals 10 bytes.
220
221 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
222 |(% 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**
223 |(% 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
224
225 [[image:1701155076393-719.png]]
226
227 (% style="color:blue" %)**Battery Info:**
228
229 Check the battery voltage for DS20L
230
231 Ex1: 0x0E10 = 3600mV
232
233
234 (% style="color:blue" %)**MOD & Alarm & Interrupt:**
235
236 (% style="color:red" %)**MOD:**
237
238 **Example: ** (0x60>>6) & 0x3f =1
239
240 **0x01:**  Regularly detect distance and report.
241 **0x02: ** Uninterrupted measurement (external power supply).
242
243 (% style="color:red" %)**Alarm:**
244
245 When the detection distance exceeds the limit, the alarm flag is set to 1.
246
247 (% style="color:red" %)**Interrupt:**
248
249 Whether it is an external interrupt.
250
251
252 (% style="color:blue" %)**Distance info:**
253
254 **Example**:
255
256 If payload is: 0708H: distance = 0708H = 1800 mm
257
258
259 (% style="color:blue" %)**Sensor State:**
260
261 Ex1: 0x00: Normal collection distance
262
263 Ex2 0x0x: Distance collection is wrong
264
265
266 (% style="color:blue" %)**Interript Count:**
267
268 If payload is:000007D0H: count = 07D0H =2000
269
270
271
272 ==== (% style="color:red" %)**MOD~=2**(%%)** ** ====
273
274 Uninterrupted measurement. When the distance exceeds the limit, the output IO is set high and reports are reported every five minutes. The time can be set and powered by an external power supply.Uplink Payload totals 11bytes.
275
276 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
277 |(% 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" %)**4**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**|(% style="background-color:#4f81bd; color:white; width:70px" %)**2**
278 |(% style="width:91px" %)Value|(% style="width:41px" %)BAT|(% style="width:176px" %)MOD+Alarm+Do+Limit flag|(% style="width:74px" %)Distance Limit Alarm count|(% style="width:100px" %)Upper limit|(% style="width:119px" %)Lower limit
279
280 [[image:1701155150328-206.png]]
281
282 (% style="color:blue" %)**MOD & Alarm & Do & Limit flag:**
283
284 (% style="color:red" %)**MOD:**
285
286 **Example: ** (0x60>>6) & 0x3f =1
287
288 **0x01:**  Regularly detect distance and report.
289 **0x02: ** Uninterrupted measurement (external power supply).
290
291 (% style="color:red" %)**Alarm:**
292
293 When the detection distance exceeds the limit, the alarm flag is set to 1.
294
295 (% style="color:red" %)**Do:**
296
297 When the distance exceeds the set threshold, pull the Do pin high.
298
299 (% style="color:red" %)**Limit flag:**
300
301 Mode for setting threshold: 0~~5
302
303 0: does not use upper and lower limits
304
305 1: Use upper and lower limits
306
307 2: is less than the lower limit value
308
309 3: is greater than the lower limit value
310
311 4: is less than the upper limit
312
313 5: is greater than the upper limit
314
315
316 (% style="color:blue" %)**Upper limit:**
317
318 The upper limit of the threshold cannot exceed 2000mm.
319
320
321 (% style="color:blue" %)**Lower limit:**
322
323 The lower limit of the threshold cannot be less than 3mm.
324
325
326 === 2.3.3 Historical measuring distance, FPORT~=3 ===
327
328
329 DS20L stores sensor values and users can retrieve these history values via the downlink command.
330
331 The historical payload includes one or multiplies entries and every entry has the same payload as Real-Time measuring distance.
332
333 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
334 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
335 **Size(bytes)**
336 )))|=(% 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
337 |(% style="width:62.5px" %)Value|(% style="width:62.5px" %)Interrupt flag & Interrupt_level|(% style="width:62.5px" %)(((
338 Reserve(0xFF)
339 )))|Distance|Distance signal strength|(% style="width:88px" %)(((
340 LiDAR temp
341 )))|(% style="width:85px" %)Unix TimeStamp
342
343 **Interrupt flag & Interrupt level:**
344
345 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:480px" %)
346 |=(% style="width: 60px;background-color:#4F81BD;color:white" %)(((
347 **Size(bit)**
348 )))|=(% 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**
349 |(% 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" %)(((
350 Interrupt flag
351 )))
352
353 * (((
354 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.
355 )))
356
357 For example, in the US915 band, the max payload for different DR is:
358
359 **a) DR0:** max is 11 bytes so one entry of data
360
361 **b) DR1:** max is 53 bytes so devices will upload 4 entries of data (total 44 bytes)
362
363 **c) DR2:** total payload includes 11 entries of data
364
365 **d) DR3:** total payload includes 22 entries of data.
366
367 If DS20L doesn't have any data in the polling time. It will uplink 11 bytes of 0
368
369
370 **Downlink:**
371
372 0x31 64 CC 68 0C 64 CC 69 74 05
373
374 [[image:image-20230805144936-2.png||height="113" width="746"]]
375
376 **Uplink:**
377
378 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
379
380
381 **Parsed Value:**
382
383 [DISTANCE , DISTANCE_SIGNAL_STRENGTH,LIDAR_TEMP,EXTI_STATUS , EXTI_FLAG , TIME]
384
385
386 [360,176,30,High,True,2023-08-04 02:53:00],
387
388 [355,168,30,Low,False,2023-08-04 02:53:29],
389
390 [245,211,30,Low,False,2023-08-04 02:54:29],
391
392 [57,700,30,Low,False,2023-08-04 02:55:29],
393
394 [361,164,30,Low,True,2023-08-04 02:56:00],
395
396 [337,184,30,Low,False,2023-08-04 02:56:40],
397
398 [20,4458,30,Low,False,2023-08-04 02:57:40],
399
400 [362,173,30,Low,False,2023-08-04 02:58:53],
401
402
403 **History read from serial port:**
404
405 [[image:image-20230805145056-3.png]]
406
407
408 === 2.3.4 Decode payload in The Things Network ===
409
410
411 While using TTN network, you can add the payload format to decode the payload.
412
413 [[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"]]
414
415
416 (((
417 The payload decoder function for TTN is here:
418 )))
419
420 (((
421 DS20L TTN Payload Decoder:  [[https:~~/~~/github.com/dragino/dragino-end-node-decoder>>https://github.com/dragino/dragino-end-node-decoder]]
422 )))
423
424
425 == 2.4 ​Show Data in DataCake IoT Server ==
426
427
428 (((
429 [[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:
430 )))
431
432
433 (((
434 (% style="color:blue" %)**Step 1**(%%)**: Be sure that your device is programmed and properly connected to the network at this time.**
435 )))
436
437 (((
438 (% 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:**
439 )))
440
441
442 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654592790040-760.png?rev=1.1||alt="1654592790040-760.png"]]
443
444
445 [[image:http://wiki.dragino.com/xwiki/bin/download/Main/User%20Manual%20for%20LoRaWAN%20End%20Nodes/LDDS75%20-%20LoRaWAN%20Distance%20Detection%20Sensor%20User%20Manual/WebHome/1654592800389-571.png?rev=1.1||alt="1654592800389-571.png"]]
446
447
448 (% style="color:blue" %)**Step 3**(%%)**: Create an account or log in Datacake.**
449
450 (% style="color:blue" %)**Step 4**(%%)**: Search the DS20L and add DevEUI.**
451
452 [[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"]]
453
454
455 After added, the sensor data arrive TTN V3, it will also arrive and show in Datacake.
456
457 [[image:1701152946067-561.png]]
458
459
460 == 2.5 Frequency Plans ==
461
462
463 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.
464
465 [[http:~~/~~/wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/>>http://wiki.dragino.com/xwiki/bin/view/Main/End%20Device%20Frequency%20Band/]]
466
467
468 = 3. Configure DS20L =
469
470 == 3.1 Configure Methods ==
471
472
473 DS20L supports below configure method:
474
475 * AT Command via Bluetooth Connection (**Recommended**): [[BLE Configure Instruction>>http://wiki.dragino.com/xwiki/bin/view/Main/BLE%20Bluetooth%20Remote%20Configure/]].
476
477 * 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.3UARTConnectionforSN50v3basemotherboard]].
478
479 * LoRaWAN Downlink.  Instruction for different platforms: See [[IoT LoRaWAN Server>>http://wiki.dragino.com/xwiki/bin/view/Main/]] section.
480
481 == 3.2 General Commands ==
482
483
484 These commands are to configure:
485
486 * General system settings like: uplink interval.
487
488 * LoRaWAN protocol & radio related command.
489
490 They are same for all Dragino Devices which support DLWS-005 LoRaWAN Stack. These commands can be found on the wiki:
491
492 [[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/]]
493
494
495 == 3.3 Commands special design for DS20L ==
496
497
498 These commands only valid for DS20L, as below:
499
500
501 === 3.3.1 Set Transmit Interval Time ===
502
503
504 (((
505 Feature: Change LoRaWAN End Node Transmit Interval.
506 )))
507
508 (((
509 (% style="color:blue" %)**AT Command: AT+TDC**
510 )))
511
512 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
513 |=(% 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**
514 |(% style="width:156px" %)AT+TDC=?|(% style="width:137px" %)Show current transmit Interval|(((
515 30000
516 OK
517 the interval is 30000ms = 30s
518 )))
519 |(% style="width:156px" %)AT+TDC=60000|(% style="width:137px" %)Set Transmit Interval|(((
520 OK
521 Set transmit interval to 60000ms = 60 seconds
522 )))
523
524 (((
525 (% style="color:blue" %)**Downlink Command: 0x01**
526 )))
527
528 (((
529 Format: Command Code (0x01) followed by 3 bytes time value.
530 )))
531
532 (((
533 If the downlink payload=0100003C, it means set the END Node's Transmit Interval to 0x00003C=60(S), while type code is 01.
534 )))
535
536 * (((
537 Example 1: Downlink Payload: 0100001E  ~/~/ Set Transmit Interval (TDC) = 30 seconds
538 )))
539 * (((
540 Example 2: Downlink Payload: 0100003C  ~/~/ Set Transmit Interval (TDC) = 60 seconds
541
542
543
544 )))
545
546 === 3.3.2 Set Interrupt Mode ===
547
548
549 Feature, Set Interrupt mode for pin of GPIO_EXTI.
550
551 When AT+INTMOD=0 is set, GPIO_EXTI is used as a digital input port.
552
553 (% style="color:blue" %)**AT Command: AT+INTMOD**
554
555 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
556 |=(% 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**
557 |(% style="width:154px" %)AT+INTMOD=?|(% style="width:196px" %)Show current interrupt mode|(% style="width:157px" %)(((
558 0
559 OK
560 the mode is 0 =Disable Interrupt
561 )))
562 |(% style="width:154px" %)(((
563 AT+INTMOD=3
564
565 (default)
566 )))|(% style="width:196px" %)(((
567 Set Transmit Interval
568 0. (Disable Interrupt),
569 ~1. (Trigger by rising and falling edge)
570 2. (Trigger by falling edge)
571 3. (Trigger by rising edge)
572 )))|(% style="width:157px" %)OK
573
574 (% style="color:blue" %)**Downlink Command: 0x06**
575
576 Format: Command Code (0x06) followed by 3 bytes.
577
578 This means that the interrupt mode of the end node is set to 0x000003=3 (rising edge trigger), and the type code is 06.
579
580 * Example 1: Downlink Payload: 06000000  ~/~/  Turn off interrupt mode
581
582 * Example 2: Downlink Payload: 06000003  ~/~/  Set the interrupt mode to rising edge trigger
583
584 == 3.3.3 Set work mode ==
585
586
587 Feature: Switch working mode
588
589 (% style="color:blue" %)**AT Command: AT+MOD**
590
591 (% border="1" cellspacing="5" style="background-color:#f2f2f2; width:510px" %)
592 |=(% style="width: 162px;background-color:#4F81BD;color:white" %)**Command Example**|=(% style="width: 193px;background-color:#4F81BD;color:white" %)**Function**|=(% style="width: 155px;background-color:#4F81BD;color:white" %)**Response**
593 |(% style="width:162px" %)AT+MOD=?|(% style="width:191px" %)Get the current working mode.|(% style="width:106px" %)OK
594 |(% style="width:162px" %)AT+MOD=1|(% style="width:191px" %)Set the working mode to Regular measurements.|(% style="width:106px" %)(((
595 OK
596 Attention:Take effect after ATZ
597 )))
598
599 (% style="color:blue" %)**Downlink Command:**
600
601 * **Example: **0x0A00  ~/~/  Same as AT+MOD=0
602
603 * **Example:** 0x0A01  ~/~/  Same as AT+MOD=1
604
605 === 3.3.4 Set threshold and threshold mode ===
606
607
608 Feature, Set threshold and threshold mode
609
610 When (% style="color:#037691" %)**AT+DOL=0,0,0,0,400**(%%) is set, No threshold is used, the sampling time is 400ms.
611
612 (% style="color:blue" %)**AT Command: AT+DOL**
613
614 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
615 |(% 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**
616 |(% style="width:172px" %)AT+ DOL =?|(% style="width:279px" %)Get the current threshold mode and sampling time|(% style="width:118px" %)(((
617 0,0,0,0,400
618 OK
619 )))
620 |(% style="width:172px" %)AT+ DOL =1,1800,100,0,400|(% style="width:279px" %)Set only the upper and lower thresholds|(% style="width:118px" %)OK
621
622 (% border="1" cellspacing="4" style="background-color:#f2f2f2; width:510px" %)
623 |(% rowspan="11" style="color:blue; width:120px" %)**AT+DOL=5,1800,0,0,400**|(% rowspan="6" style="width:240px" %)The first bit sets the limit mode|(% style="width:150px" %)0: Do not use upper and lower limits
624 |(% style="width:251px" %)1: Use upper and lower limits
625 |(% style="width:251px" %)2: Less than the lower limit
626 |(% style="width:251px" %)3: Greater than the lower limit
627 |(% style="width:251px" %)4: Less than the upper limit
628 |(% style="width:251px" %)5: Greater than the upper limit
629 |(% style="width:226px" %)The second bit sets the upper limit value|(% style="width:251px" %)3~~2000MM
630 |(% style="width:226px" %)The third bit sets the lower limit value|(% style="width:251px" %)3~~2000MM
631 |(% 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
632 |(% style="width:251px" %)1 Person or object counting statistics
633 |(% style="width:226px" %)The fifth bit sets the sampling time|(% style="width:251px" %)(((
634 0~~10000ms
635
636
637 )))
638
639 (% style="color:blue" %)**Downlink Command: 0x07**
640
641 Format: Command Code (0x07) followed by 9bytes.
642
643 * Example 0: Downlink Payload: 070000000000000190  **~-~-->**  AT+MOD=0,0,0,0,400
644
645 * Example 1: Downlink Payload: 070107080064000190  **~-~-->**  AT+MOD=1,1800,100,0,400
646
647 * Example 2: Downlink Payload: 070200000064000190  **~-~-->**  AT+MOD=2,0,100,0,400
648
649 * Example 3: Downlink Payload: 0703200000064000190  **~-~-->**  AT+MOD=3,1800,100,0,400
650
651 * Example 4: Downlink Payload: 070407080000000190  **~-~-->**  AT+MOD=4,0,100,0,400
652
653 * Example 5: Downlink Payload: 070507080000000190  **~-~-->**  AT+MOD=5,1800,100,0,400
654
655
656
657 = 4. Battery & Power Consumption =
658
659
660 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.
661
662 [[**Battery Info & Power Consumption Analyze**>>http://wiki.dragino.com/xwiki/bin/view/Main/How%20to%20calculate%20the%20battery%20life%20of%20Dragino%20sensors%3F/]] .
663
664
665 = 5. OTA Firmware update =
666
667
668 (% class="wikigeneratedid" %)
669 User can change firmware DS20L to:
670
671 * Change Frequency band/ region.
672
673 * Update with new features.
674
675 * Fix bugs.
676
677 Firmware and changelog can be downloaded from : **[[Firmware download link>>https://www.dropbox.com/sh/zqv1vt3komgp4tu/AAC33PnXIcWOVl_UXBEAeT_xa?dl=0]]**
678
679 Methods to Update Firmware:
680
681 * (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/]]**
682
683 * 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]]**.
684
685 = 6. FAQ =
686
687 == 6.1 What is the frequency plan for DS20L? ==
688
689
690 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"]]
691
692
693 == 6.2 DS20L programming line ==
694
695
696 缺图 后续补上
697
698 feature:
699
700 for AT commands
701
702 Update the firmware of DS20L
703
704 Support interrupt mode
705
706
707 == 6.3 LiDAR probe position ==
708
709
710 [[image:1701155390576-216.png||height="285" width="307"]]
711
712 The black oval hole in the picture is the LiDAR probe.
713
714
715 == 6.4 Interface definition ==
716
717 [[image:image-20231128151132-2.png||height="305" width="557"]]
718
719
720 = 7. Trouble Shooting =
721
722 == 7.1 AT Command input doesn't work ==
723
724
725 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.
726
727
728 == 7.2 Significant error between the output distant value of LiDAR and actual distance ==
729
730
731 (((
732 (% 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.)
733 )))
734
735 (((
736 (% style="color:red" %)**Troubleshooting**(%%): Please avoid use of this product under such circumstance in practice.
737 )))
738
739
740 (((
741 (% style="color:blue" %)**Cause ②**(%%)**: **The IR-pass filters are blocked.
742 )))
743
744 (((
745 (% style="color:red" %)**Troubleshooting**(%%): please use dry dust-free cloth to gently remove the foreign matter.
746 )))
747
748
749 = 8. Order Info =
750
751
752 Part Number: (% style="color:blue" %)**DS20L-XXX**
753
754 (% style="color:red" %)**XXX**(%%): **The default frequency band**
755
756 * (% style="color:red" %)**AS923**(%%): LoRaWAN AS923 band
757
758 * (% style="color:red" %)**AU915**(%%): LoRaWAN AU915 band
759
760 * (% style="color:red" %)**EU433**(%%): LoRaWAN EU433 band
761
762 * (% style="color:red" %)**EU868**(%%): LoRaWAN EU868 band
763
764 * (% style="color:red" %)**KR920**(%%): LoRaWAN KR920 band
765
766 * (% style="color:red" %)**US915**(%%): LoRaWAN US915 band
767
768 * (% style="color:red" %)**IN865**(%%): LoRaWAN IN865 band
769
770 * (% style="color:red" %)**CN470**(%%): LoRaWAN CN470 band
771
772 = 9. ​Packing Info =
773
774
775 (% style="color:#037691" %)**Package Includes**:
776
777 * DS20L LoRaWAN Smart Distance Detector x 1
778
779 (% style="color:#037691" %)**Dimension and weight**:
780
781 * Device Size: cm
782
783 * Device Weight: g
784
785 * Package Size / pcs : cm
786
787 * Weight / pcs : g
788
789 = 10. Support =
790
791
792 * 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.
793
794 * 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]].